Alteryxウィークリーチャレンジ#63中級やってみた!
アルテリックス?アルタリクス?どちらでもわたしは一向にかまわんッッ!の國崎です。
Alteryxウィークリーチャレンジ#63をやってみたので、そちらの解説記事をご紹介します。
今回のチャレンジテーマは「#63: ポケモンゲットだぜ!」です。
今回のチャレンジでやること
お題
ポケモンは、日本で誕生し、世界中の子供たちに(そして子供の心を持つ大人にも)人気のビデオゲーム、テレビ、映画、
カードゲームなどに展開されたポケモンと呼ばれるキャラクターのコンテンツシリーズです。
ただしポケモンの中には800以上のポケモンが存在するため、プレイヤーはゲーム上で自分のポケモンチームを作成するときにいくつかのポケモンのことを忘れがちです。普段使わないポケモンも忘れないように、選択できるポケモンを並べ替えることができる Alteryx アプリを作成してみてください。
地域 (Region) のリストボックス、タイプ(Primary/Secondary Type)を選ぶドロップダウンツール、伝説(Legendary)のポケモンかどうかをチェックするチェックボックスツール、
同一のポケモンの地域的なバリエーション(Regional)を削除するためのチェックボックスツールを使用できるようにアプリのインターフェイスツールを設定してください。
設定したら、伝説と地域の変種が許されている Alola、Galar、Johto、Kanto の地域にいくつのゴーストタイプのポケモンが含まれているか教えてください!
引用元:#63: ポケモンゲットだぜ!
用意されたデータ
今回「ポケモンの名前」「プライマリタイプ」「セカンダリタイプ」「地域」「伝説ポケモンかどうか」「地域の変種があるか」が入ったデータが用意されました。
ゴール
以下のような「Regions」をリストボックス、「Type」をドロップダウン、「Legendaries Allowed」と「No Regionals」をチェックボックスで設定できる分析アプリを作ります。
上の分析アプリを使って「Alola、Galar、Johto、Kantoに生息するゴーストタイプのポケモン(伝説、地域の変種含む)がどのくらいいるかを導き出します。
レッツチャレンジ!
Regionのリストボックス作成
まずRegionのリストボックスから作成します。
クロスタブでRegionのカラムを作成
クロスタブをつないでRegionの列ヘッダーを作成します。
設定は「列ヘッダーの変更」をRegionにし、新しい列の値をPokemon、値の集計方法を最初にします。
リストボックスにクロスタブをつなぐ
リストボックスにクロスタブをつなぎます。
設定は以下のようにします。
Regionのフィルターを準備する
リストボックスをつなぐためのRegionのフィルターを準備します。
データクレンジングでnullを空にし、フィルターで以下のカスタムフィルターを作成します。
[Region] IN ("Alola")
上記の"Alola"の部分が分析アプリのリストボックスで可変する部分になります。
リストボックスとフィルターをつないでアクションツールで調整
リストボックスとフィルターをつなぎます。
アクションツールは以下のように設定します。
これで分析アプリの「Regionのリストボックス」部分はできました。
Typeのドロップダウン作成
次にTypeのドロップダウンを作成します。
クロスタブでTypeのカラムを作成
クロスタブをつないでTypeの列ヘッダーを作成します。
設定は「列ヘッダーの変更」をPrimart Typeにし、新しい列の値をPokemon、値の集計方法を最初にします。
ドロップダウンにクロスタブをつなげる
ドロップダウンにクロスタブをつなぎます。
設定は以下のようにします。
ドロップダウンのフィルターを準備する
「Regionのリストボックス」作成で作ったフィルターの先にドロップダウンにつなげるためのフィルターを作成します。
以下のカスタムフィルターを設定します。
[Primary Type]="X" OR [Secondary Type]="X"
ドロップダウンとフィルターをつないでアクションツールで調整
リストボックスとフィルターをつなぎます。
アクションツールは以下のように設定します。
これで分析アプリの「Typeのドロップダウン」部分はできました。
Legendaries Allowedのチェックボックス作成
Legendaries Allowedのチェックボックスを作成します。
チェックボックスを挿入
チェックボックスのフィルターを準備する
ドロップダウンのフィルターからつなぐチェックボックスのフィルターを作成します。
以下のように基本フィルターで設定します。
チェックボックスとフィルターをつないでアクションツールで調整
チェックボックスとフィルターをつなぎます。
アクションツールは以下のように設定します。
フォーミュラの式は以下のようにします。
If [#1]= 'true' THEN 'IsNotNull' ELSE 'IsEmpty' ENDIF
No Regionalsのチェックボックス作成
No Regionalsのチェックボックスを作成します。
Legendaries Allowedのチェックボックスと作業はほとんど変わりません。
チェックボックスを挿入
チェックボックスのフィルターを準備する
ドロップダウンのフィルターからつなぐチェックボックスのフィルターを作成します。
以下のように基本フィルターで設定します。
チェックボックスとフィルターをつないでアクションツールで調整
チェックボックスとフィルターをつなぎます。
アクションツールは以下のように設定します。
フォーミュラの式は以下のようにします。
If [#1]= 'true' THEN 'IsNotNull' ELSE 'IsEmpty' ENDIF
上記の工程で作業としてはほぼ完了です。
最後にデータ出力をつないだ最終形のワークフローが以下になります。
最後にお題であった「伝説と地域の変種が許されている Alola、Galar、Johto、Kanto の地域のゴーストタイプのポケモン」の数を出したところ、22のレコードが算出されました。
まとめ
以上、Alteryx#63をやってみました。
ポケモンは150匹だと思ってたのですが、結構いるんですね。
本日はこの辺で。