クロス集計表の作成 #alteryx #02 | Alteryx Advent Calendar 2016
こんにちは!DI部大矢です。
当エントリは『Alteyx Advent Calendar 2016』の2日目のエントリです。
Alteryxにはサンプルが豊富に同梱されていますが、その中から今回は「Data Cross Tabulation(クロス集計)」を試してみたいと思います。
サンプル「Data Cross Tabulation」の全体像
サンプル「Data Cross Tabulation」を表示すると、このようにすでに完成されたワークフローが表示されます。このまま実行(ctrl + R)できます。
今回のサンプルは、ワイオミング州の学校一覧を元に、「学校の種類」ごと、「地域の種類」ごとの学校数を、クロス集計表にします。 「学校の種類」、「地域の種類」は以下のようなものがあります。
- 学校の種類
Regular | Regular | 普通 |
Special Ed | Special Education | 専門教育 |
Voc/Tech/Other | Vocational Technical or Other | 工科、他 |
- 地域の種類
Central City | 都市の中心部 |
Urban Fringe | 都市郊外 |
Town | 町 |
Rural | 田舎 |
Unknown | 不明 |
使用しているAlteryxのtoolは以下の通り。
Input | データの読み込み |
Summerize | 集計 |
Browse Data | データを参照 |
CrossTab | クロス集計 |
Select | SQLのSelect句のような使い方ができるツール。今回では列名の書き換えに使用。 |
Input:データの読み込み
Inputツールでは、CSVファイルやデータベースからデータを読み込むことができます。 今回のサンプルでは「Wyoming Schools.dbf」というファイルを読み込みます。 読み込んだ内容はPreview欄に表示されます。赤い枠で囲った部分は集計に使用する列であるLocalDesc、TypeDescです。
Summerize:集計
Summerizeツールでは、集計を行うことができます。 このサンプルのSummerizeツールでは、Actionsが以下のように設定されています。
LocaleDesc(地域)、TypeDesc(学校の種類)に"Group By"、3つ目のFieldのActionは"Count"になっています。つまりLocaleDescごとTypeDescごとにグルーピングし、それぞれの件数をCountとして集計しています。
Summerizeで使用できるActionは他にも以下のようなものがあるようです。
Browse Data:データの参照
Browse Dataツールで、Summerizeの処理結果を参照できます。 このようにワークフローの途中にBrowse Dataツールを加えておくことで、処理の途中経過を見ることができます。
CrossTab:クロス集計
このサンプルのメインとなる、CrossTabツールによるクロス集計処理です。以下のように設定されています。
- Group Data by these Values
列見出し(表側)に使用するものを選択します。 今回はLocaleDesc(地域の種類)です。これによりLocaleDescごとに1行にまとめられます。
- New Column Headers
行見出し(表頭)に使用するものを選択します。 今回はTypeDesc(学校の種類)です。これによりTypeDescの値が行見出しになります。
- Values for New Columns
値として使用する列を選択します。 今回は、Summerizeで集計したCount(件数)です。
- Method for Aggregating Values
複数の値がある場合の処理方法を選択します。 Sum(合計)を選んでいますが、今回は重複した組み合わせが無いので、特に合計処理は無く、SummerizeのときのCountの値がそのまま表示されます。
Select:列名を分かりやすく
Selectツールで、列名を分かりやすく変更します。Rename列に新しい名前を入力しています。 SelectツールはSQLのSelect句のようなイメージで、Fieldの取捨選択、名前の変更などが行えます。
クロス集計表、完成
ということで、最終的に、クロス集計表が作成されました。Browse Dataツールで表示した結果は以下のようになります。 列見出し(表側)が地域の種類、行見出し(表頭)が学校の種類となっているのが分かります。
まとめ
今回は、Alteryxのサンプル「Data Cross Tabulation」を使って、CrossTabツールによるクロス集計表の作成を試しました。 SQLやプログラムを書かなくても、処理したい項目をGUIで選択するだけで、クロス集計表を作成することができました。
明日3日目は小澤の『Alteryxで決定木モデルを作る』の予定です。明日もお楽しみに!