Alteryxウィークリーチャレンジ#63中級やってみた!

全てのAlteryxウィークリーチャレンジャーに捧ぐ。#63の解説です。
2024.02.20

アルテリックス?アルタリクス?どちらでもわたしは一向にかまわんッッ!の國崎です。

Alteryxウィークリーチャレンジ#63をやってみたので、そちらの解説記事をご紹介します。
今回のチャレンジテーマは「#63: ポケモンゲットだぜ!」です。

今回のチャレンジでやること

お題

ポケモンは、日本で誕生し、世界中の子供たちに(そして子供の心を持つ大人にも)人気のビデオゲーム、テレビ、映画、

カードゲームなどに展開されたポケモンと呼ばれるキャラクターのコンテンツシリーズです。

ただしポケモンの中には800以上のポケモンが存在するため、プレイヤーはゲーム上で自分のポケモンチームを作成するときにいくつかのポケモンのことを忘れがちです。普段使わないポケモンも忘れないように、選択できるポケモンを並べ替えることができる Alteryx アプリを作成してみてください。

地域 (Region) のリストボックス、タイプ(Primary/Secondary Type)を選ぶドロップダウンツール、伝説(Legendary)のポケモンかどうかをチェックするチェックボックスツール、

同一のポケモンの地域的なバリエーション(Regional)を削除するためのチェックボックスツールを使用できるようにアプリのインターフェイスツールを設定してください。

設定したら、伝説と地域の変種が許されている Alola、Galar、Johto、Kanto の地域にいくつのゴーストタイプのポケモンが含まれているか教えてください!

引用元:#63: ポケモンゲットだぜ!

用意されたデータ

今回「ポケモンの名前」「プライマリタイプ」「セカンダリタイプ」「地域」「伝説ポケモンかどうか」「地域の変種があるか」が入ったデータが用意されました。
Alteryx20240219_1

ゴール

以下のような「Regions」をリストボックス、「Type」をドロップダウン、「Legendaries Allowed」と「No Regionals」をチェックボックスで設定できる分析アプリを作ります。
Alteryx20240219_2

上の分析アプリを使って「Alola、Galar、Johto、Kantoに生息するゴーストタイプのポケモン(伝説、地域の変種含む)がどのくらいいるかを導き出します。

レッツチャレンジ!

Regionのリストボックス作成

まずRegionのリストボックスから作成します。

クロスタブでRegionのカラムを作成

Alteryx20240219_3

クロスタブをつないでRegionの列ヘッダーを作成します。
設定は「列ヘッダーの変更」をRegionにし、新しい列の値をPokemon、値の集計方法を最初にします。
Alteryx20240219_4

リストボックスにクロスタブをつなぐ

Alteryx20240219_5

リストボックスにクロスタブをつなぎます。
設定は以下のようにします。
Alteryx20240219_6

Regionのフィルターを準備する

Alteryx20240219_7

リストボックスをつなぐためのRegionのフィルターを準備します。
データクレンジングでnullを空にし、フィルターで以下のカスタムフィルターを作成します。

[Region] IN ("Alola")

上記の"Alola"の部分が分析アプリのリストボックスで可変する部分になります。

リストボックスとフィルターをつないでアクションツールで調整

Alteryx20240219_8

リストボックスとフィルターをつなぎます。
アクションツールは以下のように設定します。
Alteryx20240219_9

上記の工程を終えた後のワークフローが以下になります。
Alteryx20240219_10

これで分析アプリの「Regionのリストボックス」部分はできました。
Alteryx20240219_11

Typeのドロップダウン作成

次にTypeのドロップダウンを作成します。

クロスタブでTypeのカラムを作成

Alteryx20240219_12

クロスタブをつないでTypeの列ヘッダーを作成します。
設定は「列ヘッダーの変更」をPrimart Typeにし、新しい列の値をPokemon、値の集計方法を最初にします。
Alteryx20240219_13

ドロップダウンにクロスタブをつなげる

Alteryx20240219_14

ドロップダウンにクロスタブをつなぎます。
設定は以下のようにします。
Alteryx20240219_15

ドロップダウンのフィルターを準備する

Alteryx20240219_16

「Regionのリストボックス」作成で作ったフィルターの先にドロップダウンにつなげるためのフィルターを作成します。
以下のカスタムフィルターを設定します。

[Primary Type]="X" OR [Secondary Type]="X"

ドロップダウンとフィルターをつないでアクションツールで調整

Alteryx20240219_17

リストボックスとフィルターをつなぎます。
アクションツールは以下のように設定します。
Alteryx20240219_18

上記の工程を終えた後のワークフローが以下になります。
Alteryx20240219_19

これで分析アプリの「Typeのドロップダウン」部分はできました。
Alteryx20240219_20

Legendaries Allowedのチェックボックス作成

Legendaries Allowedのチェックボックスを作成します。

チェックボックスを挿入

Alteryx20240219_21

チェックボックスを挿入します。
設定は以下。
Alteryx20240219_22

チェックボックスのフィルターを準備する

Alteryx20240219_23

ドロップダウンのフィルターからつなぐチェックボックスのフィルターを作成します。
以下のように基本フィルターで設定します。
Alteryx20240219_24

チェックボックスとフィルターをつないでアクションツールで調整

Alteryx20240219_25

チェックボックスとフィルターをつなぎます。
アクションツールは以下のように設定します。
Alteryx20240219_26

フォーミュラの式は以下のようにします。

If [#1]= 'true' THEN 'IsNotNull' ELSE 'IsEmpty' ENDIF

上記の工程を終えた後のワークフローが以下になります。
Alteryx20240219_27

No Regionalsのチェックボックス作成

No Regionalsのチェックボックスを作成します。
Legendaries Allowedのチェックボックスと作業はほとんど変わりません。

チェックボックスを挿入

Alteryx20240219_28

チェックボックスを挿入します。
設定は以下。
Alteryx20240219_29

チェックボックスのフィルターを準備する

Alteryx20240219_30

ドロップダウンのフィルターからつなぐチェックボックスのフィルターを作成します。
以下のように基本フィルターで設定します。
Alteryx20240219_31

チェックボックスとフィルターをつないでアクションツールで調整

Alteryx20240219_32

チェックボックスとフィルターをつなぎます。
アクションツールは以下のように設定します。
Alteryx20240219_33

フォーミュラの式は以下のようにします。

If [#1]= 'true' THEN 'IsNotNull' ELSE 'IsEmpty' ENDIF

上記の工程で作業としてはほぼ完了です。
最後にデータ出力をつないだ最終形のワークフローが以下になります。
Alteryx20240219_34

分析アプリも以下の感じになりました。
Alteryx20240219_35

最後にお題であった「伝説と地域の変種が許されている Alola、Galar、Johto、Kanto の地域のゴーストタイプのポケモン」の数を出したところ、22のレコードが算出されました。
Alteryx20240219_36

まとめ

以上、Alteryx#63をやってみました。
ポケモンは150匹だと思ってたのですが、結構いるんですね。

本日はこの辺で。