ディスカッション - 日本語

答えを見つけ、質問し、Alteryx の専門知識を共有してください。
解決済み

特定列を参照したFLGづけ

espessco
メテオロイド

文字列関数ヘルプなどを参照にしながら表記の件を解決しようとしていますが、うまくいっていません。

サポートお願いいたします。

 

■実施したいこと

「ターゲット列」内の単語から、「参照列」を見に行き、完全一致している単語を「抽出単語列」に格納する

下記は例ですので、実際は「ターゲット列」が1~50単語まで、「参照列」が1~60まで単語が入っています。行数は100万行あります。

 

ターゲット列参照列抽出単語
パンダ、白黒、猫、大猫パンダ、猫、中国、絶滅危惧種、かわいいパンダ、猫
ドーベルマン、黒、犬、番犬犬、かっこいい、強い、頼もしい、イケメン、ペット
AkimasaKajitani
マグネター

ぱっと作るレベルだと以下のような感じになります。

気になるのは、やはりレコード数が多いところでしょうか・・・。

AkimasaKajitani_0-1617797211352.png

もしくは、正規表現を使ってみました。部分一致で一致しないように、区切り文字を足し込んで正規表現で比較しています。こっちの方は、レコード数が上のWFより増えないので早いかもしれません。

AkimasaKajitani_2-1617798232807.png

 

 

REGEX_Match("、"+[参照列]+"、", ".*、"+[ターゲット列]+"、.*")

 

 

 

また、今回のようなレコード数が多いのであれば、AMP Engineを使うことで高速化が図れます。

 

 

 

※AMP Engineのオンのやり方

ワークフローの設定の「ランタイム」タブにて「AMP Engineを使用する」にチェックを入れます

 

AkimasaKajitani_1-1617797356736.png

 

 

 

Qiu
キャスター

@espessco 
AMP Engineを用いながら、Batch Macroは良いかかもしれません。
Dataをスライスで処理されますので、Overflowになる心配がなくなるではないと思います。

0409-espessco-1.PNG0409-espessco-2.PNG0409-espessco-3.PNG

espessco
メテオロイド

アドバイスありがとうございます!

列分解で「行方向に分割」、そのあとのフォーミュラツールで合致判定するアイディアが素晴らしかったです。

 

レコード数が多かったのでAMP Engineを活用しました。こちらも初耳でしたので勉強になりました!

ありがとうございました。

今後もよろしくお願いします。