【Power Apps】からTSV形式でデータをコピーする方法(AI分析に即投入)
はじめに
Power Appsで記録した業務ログやライフログを、Claudeや ChatGPT などのAIにサクッと投げて分析したい。そんなときに便利なのが、TSV形式(タブ区切り)でのデータコピー機能です。
私は日々の行動ログをPower Appsで記録していますが、定期的にAIに投げて傾向分析やレポート生成をしてもらっています。その際、いちいちExcelにエクスポートして整形して…という手順を踏むのは面倒。
ボタン1つでクリップボードにコピー → AIにペースト
この流れを実現するコードを紹介します。
実装コード
Copy(
// 1. ヘッダー行
"StartTime" & Char(9) &
"EndTime" & Char(9) &
"Duration" & Char(9) &
"ProjectName" & Char(9) &
"CategoryName" & Char(9) &
"ActionName" & Char(9) &
"Notes" & Char(10) &
// 2. データ行の連結
Concat(
Sort(
Filter(
WorkLog_Transaction,
StartTime >= DateAdd(Today(), -Value(txtLastDate.Text), TimeUnit.Days)
),
StartTime,
SortOrder.Ascending
),
Text(StartTime, "yyyy/MM/dd HH:mm") & Char(9) &
Text(EndTime, "yyyy/MM/dd HH:mm") & Char(9) &
Duration & Char(9) &
WorkLog_Project.ProjectName & Char(9) &
WorkLog_Category.CategoryName & Char(9) &
ActionName & Char(9) &
Substitute(Substitute(Notes, Char(10), " "), Char(13), " "),
Char(10)
)
);
Notify("データ(所要時間付き)をコピーしました", NotificationType.Success)
```このコードをボタンのOnSelectプロパティに設定するだけです。

コードのポイント解説
TSV形式とは
TSV(Tab-Separated Values)は、タブ文字で列を区切り、改行で行を区切るシンプルなテキスト形式です。
- 列の区切り:
Char(9)(タブ) - 行の区切り:
Char(10)(改行)
Excelや Google スプレッドシートにそのまま貼り付けても表形式で認識され、AIに投げても構造を保ったまま認識してくれます。
Notesの改行問題を解決
powerfx
Substitute(Substitute(Notes, Char(10), " "), Char(13), " ")Notes(メモ欄)に改行が含まれていると、TSV形式が崩れて1レコードが複数行に分割されてしまいます。
Char(10):LF(改行コード)Char(13):CR(復帰コード)
この2つをスペースに置き換えることで、データの構造を保ったままコピーできます。
列の順番について
時系列データをAIに分析させる場合、時間情報を先頭に配置すると認識されやすくなります。
“`
StartTime → EndTime → Duration → Project → Category → Action → Notes
使用例
私の場合、こんな風に使っています:
- Power Appsで過去7日分のログをフィルタ
- ボタンをタップしてコピー
- Claudeに「このデータから週次レポートを作って」とペースト
- 数秒で傾向分析やサマリーが完成
データベースから直接抽出 → AI分析まで、わずか数秒です。ちなみに、もちろんExcelにもコピペできます!

まとめ
Power AppsのCopy()関数とConcat()を組み合わせることで、アプリ内のデータを構造化されたテキスト形式で即座にクリップボードへ送れます。
AIとの連携を前提にアプリを設計するという発想は、今後ますます重要になってくるはず。ぜひ試してみてください。
