#はじめに
Azure Data Factory や Azure Synapse Pipeline の Data Flow (GUIとノーコードでデータ加工できるツール)を使ってデータ加工するときのIn関数の使い方がちょっとクセありなので、使い方例を紹介します。
#やりたいこと
列内の複数データを抽出するとか除外するとかSQL文でもよくIn関数使いますよね?
Data Flowの式ビルダーで、SQL同様に
test_data in ('test1', 'test2', 'test3')
と指定したらエラーになりました
あれ?In関数使えないの?って思って別の方法で実装しようとした方もいるのではないでしょうか
筆者もその経験者の1人です
#方法
結論から言いますと、Data Flow の式ビルダーでIn関数は使えます ちょっとクセがあるだけです
test_data in ('test1', 'test2', 'test3')
ではなく、
in (['test1', 'test2', 'test3'], test_data)
と書けばいいみたいです SQLの書き方に慣れていると違和感ありますよね
わかりにくいですが、リファレンスに記載もあります
https://docs.microsoft.com/ja-jp/azure/data-factory/data-flow-expression-functions#in
こちらは実際に使用した例ですが、フィルター(Filter)モジュール等で特定のデータを除外したい場合なんかに使用することもありますね
inの前に!(ビックリマーク)を付けることで、not in (次の値を含まない)の意味になります
#さいごに
プログラミングやSQLの経験がある方は、どのツールやプログラムでもやりたいことをどう実装すればよいか勘所があると思います
ただしツールやプログラムによって関数式の記述方法は若干クセがあります
そんなときは、各ツールで必ずリファレンスページが用意されていますので、リファレンスページで[Ctrl +F]でページ内検索して探してみて下さい
#参考