Power Apps
PR

【Power Apps】生成AI分析が捗る!ボタン一つでデータを「テーブル形式」でコピーする実装テクニック

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

業務アプリで蓄積したデータを「ちょっと生成AIに分析させたい」「傾向を生成AIに探らせたい」と思ったことはありませんか?

わざわざCSVエクスポート機能を作ったり、Excelファイルをダウンロードして添付するのは少し手間ですよね。 今回は、Power Appsの画面上からボタン一つで、Excelや生成AIにそのまま貼り付けられる形式でデータをクリップボードにコピーする方法を紹介します。

実現したいこと

  • Power Apps 内のデータをフィルタリングして取得
  • ヘッダー付きの「表形式(タブ区切り)」テキストとしてクリップボードにコピー
  • 生成AI のプロンプト欄にペーストして活用

実装コード

ボタンの OnSelect プロパティに以下のコードを設定します。 ポイントは Char(9)(タブ文字)と Char(10)(改行文字)の使い方です。

コード
Copy(
    // 1. ヘッダー行の作成(タブ区切り)
    "ProjectName" & Char(9) & 
    "CategoryName" & Char(9) & 
    "ActionName" & Char(9) & 
    "Notes" & Char(9) & 
    "StartTime" & Char(9) & 
    "EndTime" & Char(9) & 
    "Duration" & Char(10) & 

    // 2. データ行の連結
    Concat(
        // 直近N日分のデータを抽出して開始時間順にソート
        Sort(
            Filter(
                WorkLog_Transaction,
                StartTime >= DateAdd(Today(), -Value(txtLastDate.Text), TimeUnit.Days)
            ),
            StartTime,
            SortOrder.Ascending
        ),
        
        // 各カラムをタブ区切りで結合
        ProjectName & Char(9) & 
        CategoryName & Char(9) & 
        ActionName & Char(9) & 
        Notes & Char(9) & 
        Text(StartTime, "yyyy/mm/dd hh:mm") & Char(9) & 
        Text(EndTime, "yyyy/mm/dd hh:mm") & Char(9) & 
        Duration,
        
        // 行末に改行コードを入れる
        Char(10)
    )
);

Notify("データ(所要時間付き)をコピーしました", NotificationType.Success)

技術的な解説ポイント

1. Copy() 関数の活用

Power Apps の Copy() 関数を使うと、指定したテキストをデバイスのクリップボードに送ることができます。これにより、ユーザーは「Ctrl + V」だけでデータを他のアプリに持ち出せます。

2. Char(9) でExcelライクな挙動に

ここが最大のポイントです。 文字列の連結に Char(9) を使用しています。これは ASCIIコードで 「水平タブ」 を意味します。

  • Excelに貼る場合: タブが自動的に「列」の区切りとして認識され、綺麗にセルに入ります。
  • 生成AIに貼る場合: AIもタブ区切りテキストを「表データ」として認識しやすいため、構造化データとしてスムーズに解析してくれます。

3. Concat で一括文字列化

ForAll ではなく Concat を使うことで、テーブル内の全レコードを単一の長い文字列(テキストの塊)に変換しています。ループ処理の中で各レコードの末尾に Char(10)(改行)を付与することで、行ごとのデータ整形を行っています。

4. 日付の文字列化

Text(StartTime, "yyyy/mm/dd hh:mm") のように明示的にフォーマットを指定しています。AIに渡す際、ロケールに依存しない明確な書式にしておくことで、解析ミス(月と日の取り違えなど)を防ぐことができます。

活用シナリオ:生成AIへのプロンプト例

このボタンでコピーしたデータを、生成AIに以下のように投げると効果的です。

ユーザー: 以下のデータは私の作業ログです。時間の使い方の傾向を分析し、効率化のためのアドバイスを3点挙げてください。

[ここで Ctrl + V (コピーしたデータを貼り付け)]

まとめ

Power Apps はデータの入力だけでなく、データの「利活用」への入り口としても優秀です。 複雑な出力機能を実装しなくても、テキスト処理の工夫だけで、AI連携が劇的にスムーズになります。ぜひ試してみてください。

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