【AlteryxTips】複数の列に対して同じ処理をする方法(フィールド数・名の変化に対応)

複数の列に対してフィールド数・フィールド名が変化しても問題なく同じ処理をする方法

複数の列に対して同じ処理を行う際、転置ツールとクロスタブツールをうまく使うことでフィールド数やフィールド名が変化しても動的に対応することができます。今回はそのような際の転置ツールとクロスタブツールの使い方についてご紹介します。

複数の列に同じ処理をかけてみよう

下図の例で見ていきます。

A列からE列まで、5つの列に0と1が入っています。この中から、A列からE列で一つでも「1」の値があるGroupを抽出します。

 

フィルタツールのみを使う場合

フィルタのみでこの処理を行おうとすると、5つの列に一度ずつ、計5回フィルタをかけたり、カスタムフィルタに同じ式を5回記載する事になります。

しかし、同じことを何度もするのは手間ですし、F列やG列が増えた場合、ワークフローに手を加えなければなりません。

 

転置ツール、クロスタブツールを使う場合

こんな時、転置ツールとクロスタブツールを使うことで、一度に複数の列に対して同じ処理を行うことができます。動的にフィルタをかけることができるため、もしF列、G列と列が増えた場合も、フローに手を加える必要もありません。

転置ツールとクロスタブツールを使うと、下のようなフローになります。

まず転置ツールで、列を「Group」「Name」「Value」の3列に揃えます。この時、「動的フィールドまたは未知フィールド」にチェックを入れておくと、仮にF列、G列と列が増えていってもそのままフローを実行することができます。

次に、Value列に対して、フィルタツールで値が「1」のレコードを抽出します。

最後に、クロスタブツールでデータを元の形に戻します。

フィルタツールと使った時と同じように、値に「1」を持つグループが抽出されました。

このように、複数の列に対して同じ処理を行う場合は転置ツールとクロスタブツールの組み合わせが便利です。

 

注意点

フィールド名に特殊文字(【】- など)が使われている場合、クロスタブツールを通すとフィールド名が変わってしまいます。また、列の順番が自動的にソートされてしまうため、列の並びが元のデータとは変わってしまう事があるので、注意してください。

 

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

Sample_CrossTab_Transpose

 

※Alteryx Designer 2019.1.6.58192時点の情報です

Alteryxの導入はぜひKCMEで!

セルフサービスデータ分析ツール「Alteryx」は4週間無償トライアルが可能です。

製品に対する操作方法、技術的な質問などは導入前・導入後に関わらずメールにてお答えします。また、Alteryxを用いた環境構築、開発、ヘルプデスク対応、ハンズオン、トレーニング、ワークフロー作成なども承りますので、お気軽にご相談ください。

おすすめの記事