Power Apps
PR

【Power Apps】からTSV形式でデータをコピーする方法(AI分析に即投入)

tantan_tech
記事内に商品プロモーションを含む場合があります

はじめに

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

使用例

私の場合、こんな風に使っています:

  1. Power Appsで過去7日分のログをフィルタ
  2. ボタンをタップしてコピー
  3. Claudeに「このデータから週次レポートを作って」とペースト
  4. 数秒で傾向分析やサマリーが完成

データベースから直接抽出 → AI分析まで、わずか数秒です。ちなみに、もちろんExcelにもコピペできます!

まとめ

Power AppsのCopy()関数とConcat()を組み合わせることで、アプリ内のデータを構造化されたテキスト形式で即座にクリップボードへ送れます。

AIとの連携を前提にアプリを設計するという発想は、今後ますます重要になってくるはず。ぜひ試してみてください。

ABOUT ME
tantan_tech
tantan_tech
淡々と改善している人
建設会社にて、現場の施工管理からDX推進、データ利活用や機械学習を経て、現在は社内の市民開発(Power Platform)を推進しています。
記事URLをコピーしました