【Alteryx】Basic Data Profileを使ってデータが存在する列のみ選択する

【Alteryx】Basic Data Profileを使ってデータが存在する列のみ選択する | Tableau-id Press -タブロイド-
Alteryx

Alteryxで「データが存在する列のみ選択する」方法をご紹介したいと思います。
nullのデータしかないカラムをBasic Data Profile Tool基本データプロファイルツール)を使って調べ、
そのカラムを除外するという方法です。

では早速やってみましょう!

サンプルデータ

Col_3とCol_5~Col_9は全レコードデータがnullです。全レコードデータがnullの列は自動で判定し除外したいです。

Basic Data Profileツールに接続

データをBasic Data Profileツールに繋いで実行してみます。

Basic Data Profileツールは名前の通り、データのプロファイル情報を取得できるツールです。
実行するとフィールドごとにメタデータ(データについてのデータ)が表示されました。
Name列がメタデータの種別、Valueがメタデータの値を表します。

例として年月日列の情報を見てみます。
MinimumとMaximumを見ると年月日列の最大値と最小値が確認できます。

→年月日列の最小値は2021-11-01、最大値は2021-11-14であることを知ることができます。

今回はデータが全てnullの列を知りたいので、Non-Nullsのデータを確認します。

→年月日はnullのレコードが1件もないのでNullsが0になっていますね。

各カラムのNullの件数を取得

Name=’Non-Nulls’のデータをフィルターします。Value=0ならそのカラムは全件nullということです。

除外対象カラムの名称置換

Non-NullsのValue=0のカラムは除外したいため、除外判定に使えるようFormulaツールで名称を置換します。
名称は何でもいいのですが、今回は「DELETE」にします。


カラムを除外する

まずDynamic Renameに元のデータと除外判定用に名称置換した列をつなぎ、
名称置換した列名に置き換えます。
「Take Field Names from Right Input Rows(右入力の行からフィールド名を取得)」で置き換えることができます。

Dynamic Select列名に「DELETE」を含む列以外を選択するよう数式を記載します。これで完成です。


実行するとデータの入った列のみが選択できました!
期待結果通り、Col_3とCol_5~Col_9は自動で除外されましたね!


【おわりに】
Basic Data Profileツールは今回紹介した以外にもいろいろな情報が取得できます。
データ型(文字列、数値列、日付列、空間オブジェクト)により取得できる情報が異なるので、
興味のある方は使ってみてください!