Tableau Prep Builderを使って成績下位25%を抽出する
カテゴリ:
hr.icon
最近のExcelやBI (Business Intelligence)ツールを使って、「箱ひげ図」を作ることはさほど難しくはないですが、成績下位25%の対象学生を抽出することは、簡単には出来ません。 今回、データプリパレーションツール『Tableau Prep Builder』を使った、成績下位25%を抽出する方法について解説します。Tableau Prep Builderのフローを一回作ってしまえば、次回からは二手順で、百分位つきの成績データを作成することができます。
https://gyazo.com/561e43ae6d42f7281ffcf240643b7ff3
使用データについて:
・「学生ダミー番号」、「学部名」、「学科名」、「GPA」「GPA区分」という5項目のデータを使います。 ・「応用科目」「基礎科目」「総合」という3つのGPA区分があるので、Tableau Prep Builder上でフィルタをかけて、「総合」のみに絞り込みます。
・今回の集計の『粒度』は「学科」とします。
https://gyazo.com/d29b039b20a51a177842df8be01a5d5e
(1) 使用するExcelファイルをTableau Prep Builderに読み込みます。
Tableau Prep Builderの接続メニューから、「Microsoft Excelを選びます」
https://gyazo.com/532599219c1d7afbf55e8ec8455db650
(2) Tableau Prep Builderのフロー作成画面で、「クリーニングステップ」を選択します。
https://gyazo.com/53bb8adcc4a5d86939b5e4a1135da09f
(3) GPA区分の「総合」を右クリックし、「保持」を選択すると、「総合」でフィルタをかけられます。
https://gyazo.com/953a515391c54e3582a568bf33555f05
(4) GPA区分「総合」でフィルタをかけたあと、「計算フィールドの作成」を選びます。
https://gyazo.com/5defb2f64ee44e01d02355ca102a472e
(5) 今回、Tableau Prep Builder のLOD(詳細レベル)とランク計算を使い『一番小さい値を起点としてデータを並び替え、0から100までという百分位をふる』という作業をします。
※詳細レベルとランク計算の作成 (Tableau Helpの解説ページ)
今回は、以下の計算式です。※こういうものだと割り切ってください
code: { PARTITION 学科名:{ ORDERBY GPAASC:RANK_PERCENTILE()}} https://gyazo.com/687189753441e112c48f9e2f49637deb
各関数の細かい解説を入れると、(Tableau Prep上の解説から引用)
PARTITION関数:分析関数を適用するグループを定義します。ORDERBYはパーテイション内で使用する必要があります。
ORDERBY関数:分析関数を適用する順序を定義します。オプションの'asc'|'desc'引数を使用すると、各フィールドについて昇順または降順を指定できます。既定は降順です。
ASCオプション:これを指定しないと、成績上位から百分位がふれません。
RANK_PERCENTILE関数:パーテイション内の現在の行の百分位ランクを返します。
(5) 百分位をふった後、Tableau Desktopでプレビューしてみましょう。
https://gyazo.com/5b55293db65301d16a15a3bd9de9c6a7
(6) 学生毎のGPAに、学科毎の「粒度」で百分位が降られていることが分かります。
https://gyazo.com/5e87f76bdb7769a30e1f3b1f5edfab91
(7)データ出力をするには、Tableau Prep Builderのフローで、「出力」を選びます。
https://gyazo.com/c417d476ac08041322d910676e33ea91
(8)出力の形式ですが、「Hyper形式」を選ぶと、Tableau Desktopで高速な分析ができます。
Excelで集計・加工するには、「CSV出力」を指定し、フローの実行をします。
https://gyazo.com/edb254eb203ad0c9acea8571ca223376
Excelでの報告書式作成の方法:(前のコラムと、同じ手順)
(9) 「学科」毎の、成績下位25%を集計するのには、ピボットを使います。
https://gyazo.com/cd39de615c84a7e18f035dd1c632d151
(10) 「百分位」をピボットの「列」にいれます。ただ、このままだと何の表か分かりません。
https://gyazo.com/0af85b5f97e1008e597b5da77405445e
(11) ピボットの列を選択し、「グループ化」を選びます。単位は「0.25」にします。
https://gyazo.com/4f940f1bae35ef904acf81ec2638206f
(12) 25%毎の分布が分かるようになります。
https://gyazo.com/180384177d81beef0936bbc1b3d8c9bf
百分位については、Excelの「PERCENTRANK.EXC関数」と「PERCENTRANK.INC関数」でも、同様の計算が出来ますが、例えば「学科」毎の集計をかける場合は、「学科」毎のデータを抜き出してExcel関数を使う必要があるため、かなり手間がかかります。(このダミーデータの場合、13学科あるので、13回同じ作業を繰り返す必要がある)
Tableau Prep Builderのフローを一回作ってしまえば、次回からは二手順(データの読込と出力のみ)で、百分位つきの成績データを作成することができます。
※当コラムの文責及び著作権は、すべて投稿者に帰属します。