Alteryxのフィールド付加ツールは、データセット全体に別のデータを結合できる便利なツールです。よく使われる一例として、データセット全体の合計値を付加し、それぞれのレコードの割合を計算するようなケースでしょうか。
ところで、フィールド付加ツールにはT入力とS入力の2つが付いています。これについて見ていきましょう。
T入力とS入力の違いについて
T入力とS入力ですが、一見して同じように見えます。少なくとも普段使っている文には、T入力から来たデータセットとS入力から来たデータセットのデカルト結合をしているだけ、というのがみなさんの通常の認識だと思います。
実は、T入力とS入力、明確に違いがあり、接続の仕方によってはまずいことになります。
以下のような処理を考えてみます(あまりきれいな例が思い浮かんでいないのであまり良いサンプルではありませんが)。あるデータセットに対して別のデータセット内で売上額が500を超えた数をカウントし、5を超えているかどうかをフラグとしてフィールド付加ツールで付与したいとします。この場合、以下のようなワークフローが考えられます。
これ、結果として、集計ツールを使っているため、カウントが0の場合はレコードが生成されません。そのため、最終的にはCountがNullとしてT入力に入力されたデータセットに付与されます。
とはいえ、カウントが5件に達していないので、一応答えはあっています(本来論でいくと、ここは集計ツールではなく0件でもカウントされるレコードカウントツールを使うべきです)。
さて、このT入力とS入力を逆に接続すると何が起こるでしょうか?つまり、以下のようなワークフローになりますよね?
結果は以下の通り。
結果は出力されません。
これは、T入力に対してS入力がそれぞれ結合されるため、T入力側のレコードがNullになるとまったく結合自体が行われない、ということです。軸となるのはあくまでT入力側のデータセットである、ということですね。
ちなみに、本来は以下のようにレコードカウントツールを使うのが正しいやり方です。
まとめ
- フィールド付加ツールは、T入力側に対してS入力を付加するツールのため、T入力がNullだと出力がNullになることをご紹介しました
サンプルワークフローダウンロード
次回
次回も簡単なTipsをご紹介します。
コメント