今日のひとこと Challange IT For Future

FioneのJoinで店舗と商品を組み合わせてデータを結合する

Fione 読了 2分
目次
  1. 二つの列を同じ順番で指定する
  2. 相手の表で重複する組み合わせを確認する
  3. 関連PR

売上表に店舗ごとの商品設定を追加する場合、店舗だけでも商品だけでも相手の行を特定できません。Fione v2の開発版のJoinでは、店舗IDと商品IDのように、複数列がそろった行を対応付けられます。

二つの列を同じ順番で指定する

売上表を土台にしてJoinを実行します。相手のデータセットでは店舗IDが shop_id、商品IDが sku で、追加したい列が shelf_price の場合は、次のように設定します。 42 は相手のデータセットIDの例です。

{
  "other_dataset_id": 42,
  "keys": ["store_id", "product_id"],
  "other_keys": ["shop_id", "sku"],
  "columns": ["shelf_price"]
}

keys と other_keys は同じ列数とし、対応する順番をそろえます。相手の列名と順番が同じなら other_keys は省略できます。単一列では従来の key と other_key を使えます。key と keys は併用できません。columns の初期値は空で、相手のキー以外の列が追加対象になります。

相手の表で重複する組み合わせを確認する

左結合なので、土台の行はすべて残ります。いずれかのキーが欠損している行や、相手側に一致する組み合わせがない行では、追加列が空欄です。相手側に同じ店舗・商品の組み合わせが複数あると、初期値の summarize: false ではジョブがエラーになります。入荷履歴のように複数行をまとめたい場合は summarize: true にすると、組み合わせごとの行数や数値列の平均・最小・最大・合計を追加できます。

設定済みのアシスタントに両側の列を明示して提案カードを作ることもできます。「売上表の store_id, product_id と商品設定の shop_id, sku で結合」と指定し、実行前にカードの列順を確認します。テーブルのつながりを自動探索する find_table_links は単一列を調べるため、組み合わせは利用者が指定します。

関連PR

  • Joinモジュールと提案カードで複数のキーを指定 Fione #72