mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-08 23:18:18 -07:00
feat: don't double count early ed students who are taking survey in parts
This commit is contained in:
parent
ab8a3ebd98
commit
b4e07434a1
1 changed files with 28 additions and 1 deletions
|
|
@ -39,8 +39,35 @@ class ResponseRatePresenter
|
|||
end
|
||||
|
||||
def actual_count
|
||||
if focus == :teacher
|
||||
response_count_for_survey_items(survey_items:)
|
||||
else
|
||||
non_early_ed_items = survey_items - SurveyItem.early_education_survey_items
|
||||
non_early_ed_count = response_count_for_survey_items(survey_items: non_early_ed_items)
|
||||
|
||||
early_ed_items = survey_items & SurveyItem.early_education_survey_items
|
||||
early_ed_count = SurveyItemResponse.where(school:, academic_year:,
|
||||
survey_item: early_ed_items)
|
||||
.group(:survey_item)
|
||||
.select(:response_id)
|
||||
.distinct
|
||||
.count
|
||||
.reduce(0) do |largest, row|
|
||||
count = row[1]
|
||||
if count > largest
|
||||
count
|
||||
else
|
||||
largest
|
||||
end
|
||||
end
|
||||
|
||||
non_early_ed_count + early_ed_count
|
||||
end
|
||||
end
|
||||
|
||||
def response_count_for_survey_items(survey_items:)
|
||||
SurveyItemResponse.where(school:, academic_year:,
|
||||
survey_item: survey_items).select(:response_id).distinct.count
|
||||
survey_item: survey_items).select(:response_id).distinct.count || 0
|
||||
end
|
||||
|
||||
def respondents_count
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue