Alteryxウィークリーチャレンジ#1中級やってみた!
アルテリックス?アルタリクス?どちらでもわたしは一向にかまわんッッ!の國崎です。
Alteryxウィークリーチャレンジ#1をやってみたので、そちらの解説記事をご紹介します。
今回のチャレンジテーマは「#1:範囲に結合」です。
今回のチャレンジでやること
お題
オーストラリアのある会社は、いくつかのデータフィールドの間で一連の郵便番号 (例えば2000、2001、2002など) で構成されるソースデータを持っています。彼らはメインデータを一致/フィルタリングするために使用したい郵便番号の範囲 (例えば 2000から2002) を含む別の参照テーブルを持っています。
各顧客レコードは、郵便番号領域の範囲 (Range)に基づいてルックアップテーブルに結合する必要があります。最後に、地域 (Region)、営業担当者 (Sales Rep)、およびレスポンダー (Responder)によって顧客データを集計し、次に顧客数を計算しましょう。
引用元:#1:範囲に結合
2つのデータがあり、そこから結合と抽出とカウントと並び替えをして出力する感じです。
用意されたCSVデータ
ゴール
最終的に「営業地域」と「担当営業」と「応対者の有無」と「各顧客数」を表示させます。
レッツチャレンジ!
フォーミュラで不特定多数の数字を条件を決めて分類する
まずフォーミュラを使って今回バラバラにある「郵便番号」を「各指定の営業地域毎」に分類します。
今回用意されている「その2データ」に郵便番号毎の地域(Region)があるので、「その1データ」の郵便番号に地域(Region)を反映します。
フォーミュラに以下の計算式を入力します。
IF [Postal Area] >= 2000 AND [Postal Area] < 2020 THEN 'R1' ELSEIF [Postal Area] >= 2020 AND [Postal Area] < 2040 THEN 'R2' ELSEIF [Postal Area] >= 2040 AND [Postal Area] < 2060 THEN 'R3' ELSEIF [Postal Area] >= 2060 AND [Postal Area] < 2080 THEN 'R4' ELSEIF [Postal Area] >= 2080 AND [Postal Area] <= 2100 THEN 'R5' ELSE 'その他' ENDIF
実行すると郵便番号毎に振り分けられた地域(Region)が追加されました。
結合でデータを内部結合する
「その1データ」と「その2データ」で同じカラム(Region)ができたので結合を使って内部結合させます。
互いのRegionをキーに指定して実行するとデータが結合されました。
集計でグループ化の顧客のカウントをする
今回最終的に目指す「営業地域」と「担当営業」と「応対者の有無」でグループ化した顧客数を集計を使って算出します。
実行するとCountのカラムに各グループ毎に計算された顧客数が計算されました。
フォーミュラで並び替えるためのカラムを作成する
上の工程までで今回算出するデータは揃ったのですが、ゴールのデータを見ると並び替えもしてあるので、こちらもやります。
Regionの昇順に並べたいのですが、Regionのデータ型は文字型で数字ではないので、Regionから数字を抜いたカラム(Region Number)を再度フォーミュラで作成します。
以下のコードを記載し、新たにRegion Numberのカラムを出力します。
ToNumber(Substring([Region], 1))
実行すると一番右のカラムにRegionからRを抜いた数字のカラムができました。
セレクトでデータの型を変更する
この時点で作成したRegion Numberは見かけは数字のカラムですが、データ型としてはRegionを引き継いだ文字型になっているので、セレクトで数字型(Int64)に変更します。
ソートで並び替えをする
Region Numberが数字型になったことでソートで並び替えができるようになりました。
ゴールのデータを再確認するとRegionが昇順でResponderがNo→Yesの順に並んでます。
Region Numberを昇順、Responderを昇順にして実行するとゴールのデータと同じ順にレコードが並びました。
セレクトで不要なカラムをとる
最後にセレクトを使って今回並び替えのために作ったRegion Numberを削除します。
Region Numberのチェックを外して実行するとゴールと同じデータができました。
とりあえず今回の#1はこれにて完了となります!
まとめ
AlteryxのウィークリーチャレンジをやるとAlteryxでやれることがいろいろと見えてきます。
今回の作業はエクセルでもできないことはないと思いますが、データを変更したいとか、データの条件を切り替えたいとなった場合、また一からになってしまい苦労しますよね!
Alteryxだとデータの変更や条件切り替えも変えたい部分だけ変えたら、あとは実行しなおすだけで出力データを切り替えてくれます。
超便利!