アプリ集計プラグイン&計算式プラグイン連携のアプリ例です。
アプリ集計プラグインでテーブルに他アプリのレコードからデータを取得して、計算式プラグインでテーブルを集約します。
概要
複数レコードから、顧客名毎の最新日時のデータを取り出して、テーブルにセットしてみます。
アプリ集計プラグイン単独では出来ない集計方法も計算式プラグインとの組み合わせで対応できます。
- 処理概要
- アプリ集計プラグインでテーブルに他アプリのレコードからデータを取得
- 計算式プラグインでテーブルを集約
- 編集画面
データの流れ
アプリ集計プラグイン設定
他アプリのレコードからテーブルに値を設定します。
計算式プラグイン設定
「循環参照を許可」をチェック
アプリ集計プラグインで取得したデータから、顧客名毎の最新日時のデータをテーブルにセットします。
OPTION: 循環参照を許可
// テーブル SUBTABLE
LET(
// key別 dic 作成
tdata, TABLE_MAP(テーブル, TPDIC(
"key", 顧客名&"-"&日時,
"文字列1", 文字列1,
"文字列2", 文字列2,
"数値1", 数値1,
"数値2", 数値2
)),
tdic, DIC(),
dmy, ARRAY_MAP(tdata, xx,
DIC_ITEM(tdic, DIC_ITEM(xx, "key"), xx)
),
// 顧客名別最新日時取得
stbl, TLTABLE(テーブル,
TPKEY(顧客名),
TPVAL(日時,"max"),
TPOUT(顧客名,日時)
),
sdata, ARRAY_GET(stbl,1),
// テーブル集計
TABLE_DATA(
ARRAY_MAP(sdata, xx,
LET(
key, DIC_ITEM(xx, "顧客名")&"-"&DIC_ITEM(xx, "日時"),
vals, DIC_ITEM(tdic, key),
DIC(
"顧客名", DIC_ITEM(xx, "顧客名"),
"日時", DATE_FORMAT(DIC_ITEM(xx, "日時"), "YYYY-MM-DDTHH:mm:ssZ"),
"文字列1", DIC_ITEM(vals, "文字列1"),
"文字列2", DIC_ITEM(vals, "文字列2"),
"数値1", DIC_ITEM(vals, "数値1"),
"数値2", DIC_ITEM(vals, "数値2")
)
)
)
)
)
// テーブル.顧客名 SINGLE_LINE_TEXT
// テーブル.日時 DATETIME
// テーブル.文字列1 SINGLE_LINE_TEXT
// テーブル.文字列2 SINGLE_LINE_TEXT
// テーブル.数値1 NUMBER
// テーブル.数値2 NUMBER
- 計算式プラグイン Ver.91 以降では、TABLE_DIC関数を利用できます
NOTE: 計算式プラグイン Ver.91 以降
OPTION: 循環参照を許可
// テーブル SUBTABLE
LET(
// key別(顧客名&"-"&日時) dic 作成
tdic, TABLE_DIC(テーブル, 顧客名&"-"&日時,
TPDIC(
"文字列1", 文字列1,
"文字列2", 文字列2,
"数値1", 数値1,
"数値2", 数値2
)
),
// 顧客名別最新日時取得
stbl, TLTABLE(テーブル,
TPKEY(顧客名),
TPVAL(日時,"max"),
TPOUT(顧客名,日時)
),
sdata, ARRAY_GET(stbl,1),
// テーブル集計
TABLE_DATA(
ARRAY_MAP(sdata, xx,
LET(
key, DIC_ITEM(xx, "顧客名")&"-"&DIC_ITEM(xx, "日時"),
vals, DIC_ITEM(tdic, key),
DIC(
"顧客名", DIC_ITEM(xx, "顧客名"),
"日時", DATE_FORMAT(DIC_ITEM(xx, "日時"), "YYYY-MM-DDTHH:mm:ssZ"),
"文字列1", DIC_ITEM(vals, "文字列1"),
"文字列2", DIC_ITEM(vals, "文字列2"),
"数値1", DIC_ITEM(vals, "数値1"),
"数値2", DIC_ITEM(vals, "数値2")
)
)
)
)
)
// テーブル.顧客名 SINGLE_LINE_TEXT
// テーブル.日時 DATETIME
// テーブル.文字列1 SINGLE_LINE_TEXT
// テーブル.文字列2 SINGLE_LINE_TEXT
// テーブル.数値1 NUMBER
// テーブル.数値2 NUMBER