UnWeeklyAlteryxTips#101 行生成ツールで1行だけ作るTips

Alteryx

本ブログシリーズは、不定期にAlteryxのTipsをお伝えしていく非週刊AlteryxTipsブログです。

タイトルからすると、こんなの普通にやればいいのでは?と思われるかもしれませんが、少し考えてみましょう。

標準的な方法(決まった数字を一つだけなど)

例えば、決まった数字などを一つだけ作りたいとします。例えば9。

こんな設定で以下のように作れます。

これは初期化式で設定している値が既知の場合は同様の方法でいけます。

例えば文字列でも。

日付でも。

ポイントは、ループ式で値を何かしら変えることです。ループ式で何も値が変わらない行は生成されません。

ランダムな値を生成できるのか?

それでは、初期化式にRANDINT()やRAND()を入れた場合はそもそも条件式で止めるのが難しいです(ランダムの値だと何が出てくるかわからないので止めることができません)。

この場合は、特殊な処理が必要になります。

既知でないなら、ループ式で既知の値にすれば良いという発想です。ここではループ式でNull()にすることで、Nullかどうかを条件式で検査すれば良い、ということになります。

これは自分で思いついたわけではなくて、現在日時ツールマクロの中身がこのようになっているから知ったのですが、何かしら使える場面があればということで紹介しました。

その他、ランダムな数値。

ちなみに、この方法を使わなくても、ダミーの値が入ったテキスト入力ツールとフォーミュラツールを組み合わせると1行だけ作り出せますが、一つの利点は1ツールで型の指定を確実にできるということでしょうか?テキスト入力ツールは型が自動判別されてしまうので、指定したい型に必ずしもならないケースがあります。その場合はセレクトツールを追加する必要があります。

まとめ

  • ランダムな値などの既知ではない値を持つレコードを行生成ツールで1行だけ単独で作る方法をご紹介しました
  • 正直実用性があるかどうかはわかりませんが、何かの際に使えればと思います。ツールゴルフでは使えそうなネタですね!

サンプルワークフローダウンロード

コメント

タイトルとURLをコピーしました