Challenge Preppin'Data 2023:Week 40
Tableau Prep実行環境:Ver.2023.2.2
概要
学校の学生クラス選択の履歴を処理し、時間割作成に適した構造で記録されていたものを整形して、学校が各科目の中退率を計算します。データは手作業で入力されていたため、科目名にタイプミスがあるため修正が必要です。
Requirement
- データをピボットして、それぞれのクラス選択ごとに1行のデータとします。
- 科目名をスペルごとにグループ化して、科目名を標準化し、ヌル値を除外します。
- ドロップアウトまたはアクティブなグループを示すフラグを作成します。
- 科目とアクティブフラグでデータを集計し、各グループの学生数をカウントします(注意: 一意のカウントではなくカウントを使用する必要があります)。
- データをピボットして、科目にアクティブに登録している学生数と科目から脱落した学生数のカウント用の列を作成します。
- 科目ごとの総登録数(アクティブ + 脱落者)を示す行レベルの計算を行い、それぞれの科目で登録者のうち脱落者の割合を示す割合を作成します。
問題のページ(英語)※ここからデータをダウンロード
出題者の回答のページ(英語)※動画あり
自分の解決法
-
最初に、全てのクラスを1つの列にまとめて、科目、クラスまたは脱落、学生名のフィールドを持つようにします。
これを行うために、ピボットを使用して、'Class'という単語を含むすべてのフィールドを取り込む 列から行 ピボットします。
-
Subjectの表記ゆれを修正します。
Group Values>Spelling での変換の他、Group Values>Pronunciaionで変換します。
変換のレベルを調整して、表記ゆれをグルーピングします。
うまくいかない場合は、個別に調整します。
-
Active Flagの値を変更します。
Class -> Acitive
Dropped Calss -> Drop Outs -
Total Enrolled数を計算します。
Total Enrolled = [Active] + [Drop Outs] -
落第率を計算します。
Drop Out Rate = [Drop Outs] / [Total Enrolled]
今回の感想
Class をグルーピング機能で修正しようとするとエラーになりました。
ここは理由が不明でしたので、備忘で残しておきます。