はじめに
こんにちは、r.itoです。今回もAlteryx Weekly Challengeに挑戦していきます。
今回挑戦するのは「チャレンジ#54:インフルエンザデータの集計」です。前回のマスクに引き続きインフルエンザと、このコロナ禍でうんざりしてしまうかもしれませんが、一緒に解いていきましょう!
今回はクロスタブツールを使用します。厄介ですが便利なツールですので、ここでしっかりと使い方を身につけましょう!
Weekly Challenge#54 -下準備編-
–解答例-
-解答の筋道-
今回もまずは、紙に表を書くなどして答えのイメージをしましょう。イメージが湧いたら、解答の筋道を立てていきましょう。
手元にある入力データから考えると、
- 入院率を年齢でカテゴリ化して
- それを集計
- 余計なデータを整理し、カリフォルニアのデータに限定する。
この手順を踏めば答えが求まりそうです。
Weekly Challenge#54 -解説編-
では先の手順を踏まえて解いていきましょう。
1.
まずは「セレクト」で列名とデータ型を整理します。入院率のデータが「V_String」という文字列型になっていて集計できないため、数値型である「Double」に変換しましょう。データ型は様々な種類があります。詳細は、データ型 | Alteryx Helpを参照してください。
また、Field_4,5は解答に不要な情報であるため、削除してしまいましょう。
次はクロスタブツールを使って、入院率を年齢でカテゴリ化していきます。問題の解説とともに、クロスタブツールの使い方もおさらいしていきましょう!
-クロスタブツール–
クロスタブツールでは、データを垂直方向から水平方向へ変換し、適切な行と列に並び替えることができます。この場合では、以下のように変換することができます。
では、クロスタブツールの中身を見ていきましょう。左図を見てください。
①で新しく生成するカテゴリの基準となる列を選択
②でその出力値を指定します。
また、クロスタブでは値の重複がある場合、そのすべてを表示することはできません。(上記の変換例の表で、1行目の2003-04の0-4_yrに該当するRateデータが、〇1以外にも複数ある場合など)そのため、③で集計方法を指定する必要があります。②が文字列の場合は「最初・最後・連結」から選択しますが、今回は数値型のため左の一覧から選択します。
合計を選択して、手順2の集計も同時に完了してしまいましょう!
変換前
変換後
クロスタブツールを使用して、年齢別カテゴリを作成することができました!
3.
ここまでくればほとんど完成です。
「ソート」でデータをSeason順に並び替え、「フィルタ」でカリフォルニア州以外のデータを除外します。(この時、「サンプリング」の「上位Nをスキップ」を使用することもできます。)
最後に「データクレンジング」と「セレクト」でNullの置き換え及び余分なデータの削除を済ませれば完成です!
おわりに
以上解説でしたがいかがだったでしょうか?
クロスタブは複雑なツールなのでうまく伝えることができたか不安ですが、少しでも皆さんの理解が深まれば幸いです。
今回はブログのデータが完成間際で飛んでしまうという不運に見舞われてしまいましたが、これからもめげずに頑張りたいと思います…!
最後まで読んでいただきありがとうございました!
次回もお楽しみに~!