2023: Week 47 - Student GPAs

 Challenge By: Ed Hayter

This is the conclusion of our Prep School challenges from DS38. Thanks for all your hard work team! 

This Preppin’ Data Challenge requires you to process student grades. The Prep School records this information in one excel sheet, with a sheet for each term the report comes from. The reports are in a fairly consistent format with 4 fields for the grades in each subject, but different date formats have been used. The school would like you to prepare two outputs:

1. A table with a student’s average grade (GPA)  across subjects for each term and then a calculated 3 term moving average of GPA to help identify struggling students.

2. A table with just the students who were awarded a prize, the date the award was issued, the 3 term rolling average of GPA that merited the award.

Inputs

1 Excel File that contains 6 sheets for Terms 1-6 and a sheet for the Headmaster's Notes 


1 csv file that provides a lookup for Student Names

Requirements

  • Input the data
  • Bring together the term data into 1 table
  • Parse the different date time formats as we will need this for Output 2
    • All terms report on the 16th day of the month
    • Hint: Splitting the data into multiple flows may help here
  • Calculate each student's GPA for each term i.e. their average grade across subjects
  • Calculate a 3 term moving average of each student's GPA, rounded to 2 decimal places
  • Use the student lookup table to bring in names for the students and use calculated fields to get the full name of each student
  • For Output 1:
    • Finally create a variable that orders the table by Student Name Descending and Time Ascending so that the Prep School has an ordered table that they can look through alphabetically and see how the moving average of GPA changes over time
  • For Output 2:
    • In a separate flow after full name is calculated, filter to keep only terms 3 and 6 (summer terms), then create percentiles for each term based on the moving average of GPA
    • Filter to students in the top 2%

Outputs

Output 1

  • 7 fields
    • Rank
    • id
    • Student Name
    • Term
    • Term Date
    • GPA
    • 3 Term GPA Moving Average
  • 3000 rows (3001 with headers)

Output 2

  • 6 Fields
    • id
    • Student Name
    • Term
    • Term Date
    • GPA
    • 3 Term GPA Moving Average
  • 24 rows (25 including headers)
You can download the outputs from here.

After you finish the challenge make sure to fill in the participation tracker, then share your solution on Twitter using #PreppinData and tagging @Datajedininja@JennyMartinDS14 & @TomProwse1

You can also post your solution on the Tableau Forum where we have a Preppin' Data community page. Post your solutions and ask questions if you need any help! 

Popular posts from this blog

2023: Week 1 The Data Source Bank

2023: Week 2 - International Bank Account Numbers

How to...Handle Free Text