Alteryxツールアイコン「動的選択ツール」(Dynamic Select Tool)をご紹介します
動的選択ツール (Dynamic Select Tool)
[開発者]カテゴリの[動的選択]ツールについて紹介します。概要
このツールは、指定した条件に応じてフィールドを選択する(有効・無効)にするツールです。
「セレクトツール」とは異なり、フィールドのデータ型やサイズ、フィールド名を変更することができないのが大きな違いとなります。
イメージとしては以下の図の通りで、指定した条件に合致したフィールドのみが選択(有効)されます。
この例では、フィールド名にSを含むフィールドのみが選択(有効)となっています。
「セレクト」ツールでは、動的な選択はできないため入力が動的に変化する場合は、このツールを使う必要があります。
また、「結合」ツールで重複したフィールドを一括で選択しない状態(無効)にすることもできるため、ワークフロー作成の効率をあげるような使い方も可能です。
※結合ツール使用時、重複したフィールドは、右入力から来たフィールドが「Right_~」という名称になるため、「Right_~」というフィールドは選択しない、という条件を指定することで手軽に不要なフィールドを削除できます(後ほど解説)
設定項目
項目名 | 詳細 |
---|---|
フィールドタイプを選択 | フィールドを有効化する際、フィールドのタイプで一括指定します |
式を使用して選択 | 条件式に応じて、フィールドを有効化します |
フィールドタイプを選択
フィールドタイプごとに一括で有効化します。
①一括指定ボタン
一括でフィールドタイプごとにまとめて指定を行います(左側の設定フィールドタイプのチェックを一気につけます)。
ボタン名 | 設定内容 |
---|---|
すべて | すべての項目にチェックを入れます |
None | すべての項目のチェックをはずします |
数値 | 数値タイプのみの項目にチェックを入れます。対象となるタイプは、「Byte」「Int16」「Int32」「Int64」「Fixed Decimal」「Float」「Double」です。 |
文字列 | 文字列タイプのみの項目にチェックを入れます。対象となるタイプは、「String」「WString」「V_String「V_WString」です。 |
空間 | 空間タイプのみの項目にチェックを入れます。対象となるタイプは、「SpatialObj」です。 |
②設定フィールドタイプ
ここにチェックがついているフィールドタイプのフィールドのみが有効になります。フィールドタイプごとにごっそり選択されますので、フィールド名など細かい指定を行う場合は、「式を使用して選択」を利用する必要があります。
式を使用して選択
細かく条件を決めて指定する場合はこちらのオプションを利用します。
①式アシスト
他ツールでも同様のインターフェースを持つものがありますが、それと同様に式を入力する際に利用できる関数一覧、フィールド名、定数等を選択できます。
変数は、本ツール独自の変数があるため紹介します。
フィールド | 詳細 | サンプル式 |
---|---|---|
Name | フィールド名で判断を行う際に利用します。フィールド名を取得し判断条件として利用できます。 | Contains([Name], "S")
※名前に「S」を含むもの |
Type | フィールド型で判断を行う際に利用します。フィールドの型の名称を取得し判断条件として利用できます。 | Contains([Type], "WString")
※フィールドタイプ名に「WString」を含むもの |
Size | フィールドサイズで判断を行う際に利用します。フィールドのサイズを取得し判断条件として利用できます。 | [Size]=1
※フィールドサイズが1であるもの |
Scale | 固定小数点型の小数点部分のサイズを取得し判断条件として利用できます。 | [Scale]=6
※小数点部分のサイズが6であるもの |
Source | メタデータの「Source」で判断を行う際に利用します。フィールドのメタデータの「Source」を取得し判断条件として利用できます。
Sourceの項目にはファイル名などが入ってきますので、ここに記載されているファイル名を使って判断することができます。 |
Contains([Source],"Blob")
※メタデータのソースに「Blob」という文字列を含むもの |
Description | メタデータの「Description」で判断を行う際に利用します。フィールドのメタデータの「Description」を取得し判断条件として利用できます。 | Contains([Description],"memo")
※メタデータの説明に「memo」という文字列を含むもの |
IsNumeric | フィールドタイプが「数値型」の場合Trueとなります | [IsNumeric]
※フィールドタイプが数値型であるもの |
IsString | フィールドタイプが「文字列型」の場合Trueとなります(対象型:「String」「WString」「V_String」「V_WString」) | [IsString]
※フィールドタイプが文字列型であるもの |
IsFloat | フィールドタイプが「小数点型」の場合Trueとなります(対象型:「Float」「Double」) | [IsFloat]
※フィールドタイプが小数点型であるもの |
IsInteger | フィールドタイプが「整数型」の場合Trueとなります(対象型:「Byte」「Int16」「Int32」「Int64」) | [IsInteger]
※フィールドタイプが整数型であるもの |
IsStringOrDate | フィールドタイプが「文字列型」「日時型」の場合Trueとなります(対象型:「String」「WString」「V_String」「V_WString」「Date」「Time」「DateTime」) | [IsStringOrDate]
※フィールドタイプが文字列型もしくは日時型であるもの |
IsDateOrTime | フィールドタイプが「日時型」の場合Trueとなります(対象型:「Date」「Time」「DateTime」) | [IsDateOrTime]
※フィールドタイプが日時型であるもの |
IsBinary | フィールドタイプが「Blob型」「空間オブジェクト型」の場合Trueとなります(対象型:「Blob」「SpatialObj」) | [IsBinary]
※フィールドタイプが「Blob型」「空間オブジェクト型」であるもの |
FieldNumber | フィールド番号で判断を行う際に利用します。フィールド番号(左から1~)を取得し判断条件として利用できます。 | [FieldNumber]=1
※フィールド番号が1であるもの |
②条件式を記載
ここに記載した条件式がTrueの時、フィールドが有効になります。
サンプルの式は上の表のサンプル式を参照ください。
サンプル
1.「フィールドタイプを選択」にて「数値型」のみにチェックを入れた場合
2.結合ツール使用時に直復するフィールドを削除する
顧客マスタと販売データを結合ツールで結合すると、重複するフィールドが出てきます。この時、重複するフィールドは「Right_」が頭につくので、この性質を利用して不要な「Right_~」というフィールドを削除することが可能です。
動的選択ツールにて、「式を使用して選択」を選び、式に「NOT StartsWith([Name], "Right_")」と入力します。
結果として、不要なフィールドは削除されます。
サンプルワークフローダウンロード
その他、一通りサンプルを作成していますので、実行して確認してみてください。
DynamicSelect_Sample fa-share-square-o
サンプル説明
- DynamicSelect_Sample1.yxmd
「フィールドタイプを選択」のサンプル
- DynamicSelect_Sample2.yxmd
「式を使用して選択」のサンプル
※Alteryx Designer 2019.4.8.22007時点の情報です