From c724996b6ba4438e657c62699015d1d8f457618f Mon Sep 17 00:00:00 2001 From: Nelson Jovel Date: Thu, 23 May 2024 13:11:03 -0700 Subject: [PATCH] chore: generate report of high number of nil grades in responses --- lib/tasks/one_off.rake | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/tasks/one_off.rake b/lib/tasks/one_off.rake index a8cd6246..70b7bc13 100644 --- a/lib/tasks/one_off.rake +++ b/lib/tasks/one_off.rake @@ -140,4 +140,18 @@ namespace :one_off do academic_year.delete end end + + desc "print out percentage of nil values for range" + task nil_grades: :environment do + AcademicYear.all.each do |academic_year| + School.all.each do |school| + total = SurveyItemResponse.where(school:, academic_year:, + survey_item: SurveyItem.student_survey_items).count.to_f + nil_count = SurveyItemResponse.where(school:, academic_year:, grade: nil, + survey_item: SurveyItem.student_survey_items).count + percentage = ((nil_count / total) * 100).round(1) + puts "#{percentage}% nil grades for: #{school.name}, #{academic_year.range}" if percentage > 1 + end + end + end end