Robotic Crowd

Robotic Crowd

テーブル同士を比較する(合成・差分抽出)

Author: Kanako Takei 61 views

この記事では、CompareTableアクションで差分を抽出したり、データを併合する方法を紹介します。

【できるようになること】

  • CompareTableでの差分抽出
  • CompareTableでのデータ併合
  • Comparetableでの重複しているデータの抽出

 ワークフローの設定例

ワークフローの設定方法は以下の通りです。

差分抽出では、2つのデータを比較して重複してないものだけ抽出できます。

取得してきたデータやスプレッドシートなどのデータから重複してないものを取得するのは、javascriptが必要でしたがこのアクションはコードなしで実行できます。

例:当日取得したデータと昨日取得したデータを比較し、当日分だけ抽出したい時

この場合は、データが多い当日のデータをcomparetableのlefttermに入れ、昨日分のデータをrighttermに入れると差分が取得できます。

詳細はワークフローサンプル1を参照

データ併合では、スプレッドシートやエクセル、CSVデータを足し合わせるのに便利です。

例:下記画像のようにサイトから落としてきたデータで最後の列がある時とない時で分かれる場合

こうした時に下記のような形でデータを併合すると備考がある場合、ない場合のデータどちらも合成したデータが作成できます。

 なお、この場合、最初の4列は必ず同じデータになるので identifierにA&B&C&Dと記入します。identiferは比較するデータに同じヘッダーがある場合記入します。

記入方法は、一番左をAとしてA&B&C&D,,,と列分&とアルファベットを追加する形式です。

 

最終的な実行イメージ

詳細はワークフローサンプル2を参照

 下記スクリーンショットのようにCSVやスプレッドシートのセルを比較する場合、一度ワークフローを実行するとidentiferの項目をUIで設定できるようになります。




1でデータの差分抽出、データの併合、2でデータの併合を行いましたが、これを使うことで重複しているデータの抽出も可能です。

1のように当日と昨日データを使う場合、差分抽出をし、当日データ-差分をcomparetableで行うと重複しているデータのみ抽出できます。

詳細はワークフローサンプル3を参照

# 変数に保存   当日取得したデータ
+store_value_4:
action>: StoreValue
key: ex1
value: [["名前","年齢","会社名","年収"],["jane","32","tutorial","xxx"],["jacy","29","robotic","xxxx"],["janne","27","roboticcrowd","xxx"]]

# 変数に保存 昨日取得したデータ
+store_value_3:
action>: StoreValue
key: ex2
value: [["名前","年齢","会社名","年収"],["jane","32","tutorial","xxx"]]

# テーブルを比較する  
+compare_table_2:
action>: CompareTable
leftTerm: ${ex1}
rightTerm: ${ex2}
method: subtract
header: true

# 変数に保存
+store_value_2:
action>: StoreValue
key: bb
value: [["名前","年齢","会社名","年収","備考"],["jack","22","tutorial","xxx","parttime job only"]]

# 変数に保存
+store_value_1:
action>: StoreValue
key: aa
value: [[“名前”,”年齢”,”会社名”,”年収”],[“jane”,”32″,”tutorial”,”xxx”]]

# テーブルを比較する
+compare_table_1:
action>: CompareTable
leftTerm: ${aa}
rightTerm: ${bb}
method: add
identifier: ‘A&B&C&D’
header: true

# 変数に保存      当日取得したデータ
+store_value_4:
action>: StoreValue
key: ex1
value: [["名前","年齢","会社名","年収"],["jane","32","tutorial","xxx"],["jacy","29","robotic","xxxx"],["janne","27","roboticcrowd","xxx"]]

# 変数に保存   昨日取得したデータ
+store_value_3:
action>: StoreValue
key: ex2
value: [["名前","年齢","会社名","年収"],["jane","32","tutorial","xxx"]]

# テーブルを比較する
+compare_table_3:
action>: CompareTable
leftTerm: ${ex1}
rightTerm: ${ex2}
method: subtract
header: true

# 変数に保存
+store_value_6:
action>: StoreValue
key: subtracted
value: +compare_table_3

# テーブルを比較する
+compare_table_4:
action>: CompareTable
leftTerm: ${ex1}
rightTerm: ${subtracted}
method: subtract
header: true

 

 

comparetable/compare tabel

このページは役に立ちましたか?