LoginSignup
0
0

2023: Week 40 - Prep School Subject Dropouts / Preppin' Data / Tableau Prep

Last updated at Posted at 2023-10-12

Challenge Preppin'Data 2023:Week 40

Tableau Prep実行環境:Ver.2023.2.2

概要

学校の学生クラス選択の履歴を処理し、時間割作成に適した構造で記録されていたものを整形して、学校が各科目の中退率を計算します。データは手作業で入力されていたため、科目名にタイプミスがあるため修正が必要です。

Requirement

  • データをピボットして、それぞれのクラス選択ごとに1行のデータとします。
  • 科目名をスペルごとにグループ化して、科目名を標準化し、ヌル値を除外します。
  • ドロップアウトまたはアクティブなグループを示すフラグを作成します。
  • 科目とアクティブフラグでデータを集計し、各グループの学生数をカウントします(注意: 一意のカウントではなくカウントを使用する必要があります)。
  • データをピボットして、科目にアクティブに登録している学生数と科目から脱落した学生数のカウント用の列を作成します。
  • 科目ごとの総登録数(アクティブ + 脱落者)を示す行レベルの計算を行い、それぞれの科目で登録者のうち脱落者の割合を示す割合を作成します。

問題のページ(英語)※ここからデータをダウンロード

出題者の回答のページ(英語)※動画あり

自分の解決法

image.png

  1. 最初に、全てのクラスを1つの列にまとめて、科目、クラスまたは脱落、学生名のフィールドを持つようにします。
    これを行うために、ピボットを使用して、'Class'という単語を含むすべてのフィールドを取り込む 列から行 ピボットします。
    image.png

  2. ピボットしたフィールドの値から数字をの取り除きます。
    image.png

  3. フィールド名をActive Flagに変更します。
    image.png

  4. Subjectの表記ゆれを修正します。
    Group Values>Spelling での変換の他、Group Values>Pronunciaionで変換します。
    変換のレベルを調整して、表記ゆれをグルーピングします。
    うまくいかない場合は、個別に調整します。
    image.png

  5. NULLを除外します。
    image.png

  6. 集計で、CalssとActive Flagでグルーピングし、Nameをカウントします。
    image.png

  7. 行から列 ピボットします。
    image.png

  8. Active Flagの値を変更します。
    image.png
    Class -> Acitive
    Dropped Calss -> Drop Outs

  9. Total Enrolled数を計算します。
    Total Enrolled = [Active] + [Drop Outs]

  10. 落第率を計算します。
    Drop Out Rate = [Drop Outs] / [Total Enrolled]

今回の感想

Subjectの表記ゆれを修正したあとに、
image.png

Class をグルーピング機能で修正しようとするとエラーになりました。
ここは理由が不明でしたので、備忘で残しておきます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0