文字列関数ヘルプなどを参照にしながら表記の件を解決しようとしていますが、うまくいっていません。
サポートお願いいたします。
■実施したいこと
「ターゲット列」内の単語から、「参照列」を見に行き、完全一致している単語を「抽出単語列」に格納する
下記は例ですので、実際は「ターゲット列」が1~50単語まで、「参照列」が1~60まで単語が入っています。行数は100万行あります。
ターゲット列 | 参照列 | 抽出単語 |
パンダ、白黒、猫、大猫 | パンダ、猫、中国、絶滅危惧種、かわいい | パンダ、猫 |
ドーベルマン、黒、犬、番犬 | 犬、かっこいい、強い、頼もしい、イケメン、ペット | 犬 |
解決済! 解決策の投稿を見る。
ぱっと作るレベルだと以下のような感じになります。
気になるのは、やはりレコード数が多いところでしょうか・・・。
もしくは、正規表現を使ってみました。部分一致で一致しないように、区切り文字を足し込んで正規表現で比較しています。こっちの方は、レコード数が上のWFより増えないので早いかもしれません。
REGEX_Match("、"+[参照列]+"、", ".*、"+[ターゲット列]+"、.*")
また、今回のようなレコード数が多いのであれば、AMP Engineを使うことで高速化が図れます。
※AMP Engineのオンのやり方
ワークフローの設定の「ランタイム」タブにて「AMP Engineを使用する」にチェックを入れます
@espessco
AMP Engineを用いながら、Batch Macroは良いかかもしれません。
Dataをスライスで処理されますので、Overflowになる心配がなくなるではないと思います。
アドバイスありがとうございます!
列分解で「行方向に分割」、そのあとのフォーミュラツールで合致判定するアイディアが素晴らしかったです。
レコード数が多かったのでAMP Engineを活用しました。こちらも初耳でしたので勉強になりました!
ありがとうございました。
今後もよろしくお願いします。