0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

rex0220 アプリ集計プラグイン&計算式プラグイン連携

Last updated at Posted at 2025-06-25

アプリ集計プラグイン計算式プラグイン連携のアプリ例です。
アプリ集計プラグインでテーブルに他アプリのレコードからデータを取得して、計算式プラグインでテーブルを集約します。

概要

複数レコードから、顧客名毎の最新日時のデータを取り出して、テーブルにセットしてみます。
アプリ集計プラグイン単独では出来ない集計方法も計算式プラグインとの組み合わせで対応できます。

  • 処理概要
    • アプリ集計プラグインでテーブルに他アプリのレコードからデータを取得
    • 計算式プラグインでテーブルを集約

2025-06-25_23h48_34.png

  • 編集画面

2025-06-26_00h09_43.png

データの流れ

2025-06-26_16h17_15.png

アプリ集計プラグイン設定

他アプリのレコードからテーブルに値を設定します。

2025-06-25_23h56_22.png

2025-06-25_23h56_55.png

計算式プラグイン設定

「循環参照を許可」をチェック

アプリ集計プラグインで取得したデータから、顧客名毎の最新日時のデータをテーブルにセットします。

2025-06-25_23h54_34.png

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
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?