大規模なデータブレンディングのコンポーネントがあなたのデータサブセットに数学的あるいは変換プロセスを適用しています。 これには、特定の条件でコンパイルするデータを分離する必要があることが多いです。
- 「$10以下のコストの製品の SKU のみにフラッグを立てたい」
- 「25-40歳のクライアントをグループA、41-65歳をグループB、66歳以上をグループCに分類する」
- 「トランザクションを平日または週末で分類する」
- 「製品が赤ならば名前をRに変更。青ならばBに変更。黄色ならばYに変更。緑ならばGに変更。それ以外は、Other(その他) に変更。」
この状況のどれかに見覚えがありますか?そうであれば、データを変換する最適な場はフォーミュラツールの条件付き関数です(図1)。 条件付き関数は、設定した条件を満たすデータにプロセスを適用するための式を作成します。
SQL、Excel、R、あるいはそれほど難しくないものを難しくしてしまうその他のデータプログラムの世界から来た方でも、条件文のコンセプトは同じです。条件が真、あるいは真ではない場合、あるプロセスあるいは結果を適用します。 それ以外であれば、別のプロセスまたは結果を適用します。 この論理は、4種類の式のうちのひとつの形式を取ります。
1) 従来のIF文はデータ変換の中でも強力なツールです。構造的に、Alteryx はこのタイプの論理をデータに適用するために4種の Distinct 句を必要とします。
IF a condition is (not) true THEN apply Function A ELSE apply Function B ENDIF
1番目の状況(SKUと価格)を例に使います。IF文により、後に来る分析のためにどの製品にフラグを立てるか決定できるようにします。
2)ネストしたIF文により、設定されている複数の条件を可能にします。基本的に、論理文をチェーンにして合わせ、ひとつのIF文に類似した繰り返しの論理文を使用します。ドキュメンテーションが3つの設定条件の例を提供していますが、これは決して設定できる条件の数を制限するわけではありません。 使われている構文が正しい限り、もっとたくさんの条件文を設定できます!
2番目の状況(クライアントの年齢グループ)を検証しましょう。 正しい構文を続けることで、4つのグループ(A、B、C、その他)がネスト文の結果として作成されます。 ネスト文を使用するとき、式ボックスで各節を新しい行に分割すると便利だと気付かれるでしょう。下記に例を示します。
3)インラインIF(IFF)文は同様のロジックをIF文(条件の評価は「true」または「false」)に適用しますが、構文的には異なります。IIF式には3つのコンポーネントが必要で、それぞれコンマで分けます:評価するためのブール式、「True」結果、「False」結果。 TrueとFalse結果は、テキストだけでなく、数学演算にも対応します。 3番目の状況のケースでは、レコードは2種類のうちの1種にしか分類されません(Weekday またはWeekend )。IIF式は、[Day] が「Sat」または「Sun」ではない値かどうかのテストの論理に従って、データを効果的に分類します。 この式のTrue結果は「Weekday」を返し、False結果は「Weekend」を返します。
4) フォーミュラツールのSwitch関数は秘宝です!検索置換ツール、ネストIF式、SQLの部分CASE式など...とても便利です!この式は指定の結果を割り当てる複数の条件を評価します。 条件がどれも合わない場合、デフォルト値(Value)が設定されます。 Switch 関数は、Alteryxの他の同様の関数の中でも、何点かの利点があります。 まず、ネストIF文に繰り返しのIF、THEN、ELSEIFなどを使わなくとも多大な柔軟性を与えます。 2つ目に、検索したい全データの2つ目のインスタンスの置換として使う対応データを作成せずとも、検索置換ツールと同様の機能を果たします。 時間の短縮になり、尚且つ間違えやすいタイピングを避けられるならば...?使ってみます!
注記:式に使用できる演算子の種類は、出力フィールドのデータタイプによります。 文字列(あるいは他のテキストタイプ)フィールドを作成する場合、結果の前後に引用符(シングルまたはダブル)が必要になるでしょう。 グループ ‘A’ がシングルの引用符でどのように囲われるか注意してください。 逆に、数値フィールドは結果の前後に引用符を必要としません。
*添付のワークフロー Alteryx Designer v10.0 以降と互換性があります。