データパイプラインは、複数のアプリからデータを収集し、結合・集計・計算を行って別のアプリに出力する機能です。 手動実行のほか、スケジュールを設定して定期的に自動実行することもできます。
処理の流れ
「東京支店売上」と「大阪支店売上」の2つのアプリ(同じフィールド構造)から データを合算し、月×カテゴリごとに集計して「全社売上サマリ」に出力します。
ソースアプリのデータ
東京支店売上
| 対象月 | カテゴリ | 売上金額 | 件数 |
|---|---|---|---|
| 2026-01 | ソフトウェア | 5,200,000 | 12 |
| 2026-01 | ハードウェア | 3,800,000 | 8 |
| 2026-02 | ソフトウェア | 6,100,000 | 15 |
大阪支店売上
| 対象月 | カテゴリ | 売上金額 | 件数 |
|---|---|---|---|
| 2026-01 | ソフトウェア | 3,100,000 | 7 |
| 2026-01 | ハードウェア | 2,500,000 | 6 |
| 2026-02 | ソフトウェア | 3,600,000 | 9 |
「東京支店売上」と「大阪支店売上」の2つをソースアプリとして追加します。同じ構造のアプリなので、結合条件は不要です。
ソースアプリの設定
「対象月」と「商品カテゴリ」でグループ化し、売上金額の合計と件数の合計を計算します。
集計の設定
グループ化:
集計方法:
集計結果を出力先アプリのフィールドに対応付けます。
フィールドマッピング
出力先は「全社売上サマリ」、出力モードは「全件置換」を選択します。毎日実行するスケジュールを設定することもできます。
出力結果
全社売上サマリ(パイプライン実行後)
| 対象月 | カテゴリ | 合計売上 | 合計件数 | 支店数 |
|---|---|---|---|---|
| 2026-01 | ソフトウェア | 8,300,000 | 19 | 2 |
| 2026-01 | ハードウェア | 6,300,000 | 14 | 2 |
| 2026-02 | ソフトウェア | 9,700,000 | 24 | 2 |
「顧客管理」と「受注管理」を顧客IDで結合し、顧客名付きの受注一覧を作成します。
ソースアプリのデータ
顧客管理
| 顧客ID | 顧客名 | 地域 |
|---|---|---|
| C-001 | 山田商事 | 東京 |
| C-002 | 田中工業 | 大阪 |
受注管理
| 受注番号 | 顧客ID | 金額 |
|---|---|---|
| ORD-001 | C-001 | 500,000 |
| ORD-002 | C-001 | 300,000 |
| ORD-003 | C-002 | 800,000 |
顧客管理の「顧客ID」と受注管理の「顧客ID」を内部結合で紐づけます。
結合条件
結合後のデータ(イメージ)
| 顧客名 | 地域 | 受注番号 | 金額 |
|---|---|---|---|
| 山田商事 | 東京 | ORD-001 | 500,000 |
| 山田商事 | 東京 | ORD-002 | 300,000 |
| 田中工業 | 大阪 | ORD-003 | 800,000 |
売上データに税込金額を計算し、100万円以上のレコードのみを出力します。
計算フィールドの設定
売上金額 * 1.1式の入力は通常のテキスト入力です。フィールド名のボタンをクリックすると式に挿入されます。 演算子(+ - * /)、括弧、定数は直接入力できます。
出力フィルタの設定
税込金額が100万円以上のレコードのみが出力先アプリに書き込まれます。
| モード | 動作 | 用途 |
|---|---|---|
| 新規作成 | 毎回新しいレコードを作成 | ログの蓄積 |
| 更新または作成 | マッチキー(出力先の「重複禁止」フィールド)で既存レコードを検索し、あれば更新、なければ作成 | マスタ同期 |
| 全件置換 | 実行のたびに既存レコードをすべて削除してから新規作成(手入力したレコードも消えます) | 日次サマリ |
グループごとに、対象とする項目の値を以下の方法で集計できます。「件数」以外は対象項目の指定が必要です。
| 集計方法 | 説明 | 対象項目 |
|---|---|---|
| 合計 | 数値の合計 | 必要 |
| 平均 | 数値の平均 | 必要 |
| 最小 / 最大 | 最小値 / 最大値 | 必要 |
| 中央値 | 値を小さい順に並べた中央の値(偶数個は中央2つの平均) | 必要 |
| 標準偏差 | 値のばらつきの大きさ(母標準偏差) | 必要 |
| 件数 | グループ内の行数(値が空の行も数えます) | 不要 |
| 空でない件数 | 対象項目が空でない行の数 | 必要 |
| 一意の件数 | 対象項目に現れる異なる値の種類数 | 必要 |
| 文字列に結合 | 対象項目の値を「, 」でつないだ文字列 | 必要 |
グループ化の項目に日付または日時フィールドを選ぶと、そのすぐ下に粒度セレクト(そのまま / 日 / 週 / 月)が表示されます。 「日」「週」「月」を選ぶと、元の日付をその単位の期間の開始日に丸めてからグループ化します(例: 月を選ぶと同じ月のレコードが1グループにまとまります)。
| 粒度 | 出力される値の形式 | 例 |
|---|---|---|
| 日 | YYYY-MM-DD | 2026-08-15 |
| 週 | YYYY-MM-DD(週の開始日) | 2026-08-09 |
| 月 | YYYY-MM | 2026-08 |
月バケットは既定では暦月(1日〜末日)で区切られますが、業務上の締め日が月末でない組織では、暦月の集計は実際の業務期間とずれます。 給与でも請求でも、20日締め・15日締めは一般的な運用です。20日締めの場合、「2026年8月分」が指すのは実際には2026-07-21〜2026-08-20です。
休日カレンダー(アプリ設定 → 「休日カレンダー」の「月の区切り日」。未設定時はテナント既定 → 末日の順で解決)で 1〜31 の区切り日を指定すると、月バケットの単位そのものをその締め日に合わせられます。
月の区切り日による「2026-08」バケットの違い
| 月の区切り日 | 「2026-08」バケットが指す期間 |
|---|---|
| 末日(既定) | 2026-08-01 〜 2026-08-31 |
| 20日 | 2026-07-21 〜 2026-08-20 |
後から区切り日を変更すると、過去に作成済みの集計結果は前の区切りで計算されたまま残ります。区切りをまたぐ日(20日締めなら各月21日〜末日)が隣の月へ移動するため、パイプラインを再実行するまで数字が合いません(エラーは出ずに、黙って古い区切りで計算された値が残ります)。 設定画面では変更時に確認ダイアログが表示され、影響を受ける(再実行が必要な)集計の一覧も併せて表示されます。保存後は、一覧に挙がったパイプラインを実際に再実行してください。自動での再実行は行われません。
ソースアプリにワークフローが設定されている場合、絞り込みの項目に「ワークフローのステータス」が現れます。通常の項目と同じように条件へ追加できるので、 「承認が確定した伝票だけを会計データにする」のような集計が作れます。
ソースアプリにサブテーブル(テーブル形式の項目)がある場合、1レコードをサブテーブルの行ごとに分解してから後続の結合・集計・出力に渡せます。 たとえば「1件の注文(親)に複数の明細行(サブテーブル)」というデータを、明細1行 = 1レコードに展開して集計できます。
ソース行の「テーブルを展開」で展開するサブテーブルを選びます。 展開すると、サブテーブル内の各項目(商品・数量など)が通常の項目と同じように、集計対象・結合キー・マッピング元として選べるようになります。
サブテーブルの展開(注文1件 → 明細ごとの行)
| 顧客 | 商品(明細) | 数量(明細) |
|---|---|---|
| A社(注文#1) | 製品A | 10 |
| A社(注文#1) | 製品B | 5 |
| B社(注文#2) | 製品A | 7 |
1つの集計値を、指定した項目の値ごとの「列」に展開して、行×列のマトリクス表を作れます。 たとえば「商品(行)×地域(列)の売上」のような表です。集計設定の中の「クロス集計を追加」から設定します。
クロス集計の例(商品 × 地域の売上合計)
| 商品 | 東京 | 大阪 | 名古屋 |
|---|---|---|---|
| 製品A | 102万 | 78万 | 92万 |
| 製品B | 72万 | 62万 | 64万 |
| 設定 | 説明 |
|---|---|
| 列にする項目 | この項目の値ごとに列を作ります(例: 地域) |
| 展開する集計値 | 各セルに入れる集計値(例: 売上の合計) |
| 列にする値 | 列にする値を指定します。「候補値を検出」を押すと、ソースに実際に入っている値を自動で一覧に入れられます |
ソースフィルタの日付・日時項目には、「今月」「先週」のような相対的な期間を表すトークンを指定できます。トークンは実行のたびにそのときの日付で再解決されるため、一度設定すれば期間の書き換えが不要になります。
| トークン | 意味 |
|---|---|
$LAST_N_MONTHS(N) | 当月を含む直近N ヶ月(N は1〜24) |
$LAST_N_WEEKS(N) | 当週を含む直近N週(N は1〜24) |
$LAST_N_MONTHS(N)$LAST_N_WEEKS(N)$LAST_N_WEEKS の週の起算曜日は、そのソースアプリの休日カレンダー(上記「日付バケット」と同じ設定)に従います。一方、既存の「今週」「先週」「来週」は月曜起算に固定のままです(休日カレンダーの週起算設定を変更しても、この3つの選択肢の範囲は変わりません)。同じ絞り込み画面の中に「起算基準が違う週の選択肢」が並ぶ形になるため、両方を使い分ける場合は意識してください集計設定の「移動窓集計を追加」から、グループ化した日付バケット(下記「日付バケット」参照)を軸に、直近N期間分の平均・合計・最大値を計算できます。 「直近2〜6ヶ月の平均残業時間」のように、期間を毎月手作業でずらす必要がある集計を恒久化する機能です。
母数(平均の分母): 平均を選んだ場合、分母の数え方を2種類から選べます。
| 母数 | 説明 | 用途 |
|---|---|---|
| 暦期間数(既定) | データの無い期間を実績0とみなし、常に窓の幅(例: 6ヶ月窓なら6)で割ります | 法定の割増計算のように「その期間は稼働があった前提」で平均を出したい場合 |
| 実在期間数 | 実際にデータがあった期間の数だけで割ります(データの無い期間は分母に含めません) | 中途入社・休職など、そもそもデータが存在しない期間があり、それを母数から除きたい場合 |
窓の左端の自動拡張: 移動窓集計を設定し、かつ日付バケットの元になっているフィールドに上記の相対期間トークンでソースフィルタが掛かっている場合、集計は自動的にフィルタの範囲より前のデータも取得して窓の計算に使います(例: 月バケット・窓6ヶ月・$LAST_N_MONTHS(6) なら、実際には11ヶ月分のデータを取得し、出力される行はフィルタどおり直近6ヶ月分に限られます)。これが無いと、出力範囲の最も古い月の平均が「窓の前半のデータが無いまま」計算されてしまいます。
$LAST_N_WEEKS を使う等)、出力される最も古いバケットの集計値は「トークンが示す開始日ちょうどから」ではなく、その開始日が属する期間全体(月バケットなら月初〜月末)を含みます。バケット計算に必要な「期間として揃った」区切りにするための丸めです編集画面の「プレビュー」ボタンで、実際には実行せずに、出力される内容の先頭数十件を確認できます。特に「全件置換」のような取り消せない操作を実行する前の確認に便利です。選択肢(ドロップダウン等)の項目は、内部の値ではなく画面で見えるラベルで表示されます。
| スケジュール | 実行タイミング |
|---|---|
| 手動実行のみ | 管理画面から手動で実行 |
| 毎時 | 毎時0分 |
| 毎日 0:00 / 6:00 | 毎日指定時刻 |
| 毎週月曜 0:00 | 毎週月曜日の深夜 |
| 毎月1日 0:00 | 毎月1日の深夜 |
| 種類 | 書き方 | 例 |
|---|---|---|
| 四則演算 | フィールド名 演算子 値 | 売上金額 * 1.1 |
| 括弧 | ( 式 ) | (売上 - 原価) / 売上 |
| 固定値(文字列) | "テキスト" | "東京支店" |
| 固定値(数値) | 数値 | 100 |
| 文字列結合 | CONCAT(値, ...) | CONCAT(姓, " ", 名) |
| 最大値 | MAX(値, ...) | MAX(0, 週合計 - 2400 - 日次超過) |
| 最小値 | MIN(値, ...) | MIN(残数, 上限) |
MAX(1,2) + 1 のように関数呼び出しを四則演算の一部に混ぜることはできません(保存時にエラーになります)。0 を下限にクランプする「按分」のような計算をしたい場合は、MAX(0, 実働 - 上限) のように関数の中に式を書いてください"確定" のように文字列だけを書いた計算項目を作り、それをマッピング元に選んでください。 出力先に必須の選択肢項目(区分など)があるのにソース側に対応する値が無い場合、これをしないと 1 行も保存できません複合キーの作り方(例: 従業員×月で集計する): 「更新または作成」のマッチキーは 1 フィールドしか指定できないため、2 軸(例: 従業員×対象月)で集計したい場合は、集計方法でグループ化した後の計算式に CONCAT(従業員, "_", 集計月) のような式を書いて複合キーを 1 フィールドに合成し、それをマッチキーに指定します。ユーザー選択などの値は id ベースの文字列に正規化されて連結されるため、表示名が同じでも実体が違う値が誤って同一キーになることはありません。日付バケット(上記参照)を使ったグループ化の場合は、バケットの参照(例: 対象日フィールドの参照)をそのまま 集計月 の位置に使えます。実例は計算フィールドの「勤怠月次集計を作る」レシピを参照してください。