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

- 公開日: 2025-12-09
- カテゴリ: Power Apps
- 著者: tan（@kama_bizdev）
- URL: https://flow-with-tech.com/power-apps-copy-tsv-for-ai-analysis/
- サイト: 改善紀 — 好奇心の赴くままに。

---

## はじめに

Power Appsで記録した業務ログやライフログを、Claudeや ChatGPT などのAIにサクッと投げて分析したい。そんなときに便利なのが、**TSV形式（タブ区切り）でのデータコピー機能**です。

私は日々の行動ログをPower Appsで記録していますが、定期的にAIに投げて傾向分析やレポート生成をしてもらっています。その際、いちいちExcelにエクスポートして整形して…という手順を踏むのは面倒。

**ボタン1つでクリップボードにコピー → AIにペースト**

この流れを実現するコードを紹介します。

## 実装コード

````js
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`プロパティに設定するだけです。

![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-09-at-07.25.30@2x.png)

## コードのポイント解説

### 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にもコピペできます！

![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-09-at-07.27.42@2x.png)

## まとめ

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

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