mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-07 21:48:16 -08:00
Perform single lookup for survey items rather than n lookups
This commit is contained in:
parent
557109662c
commit
65ee27742a
1 changed files with 3 additions and 4 deletions
|
|
@ -6,11 +6,10 @@ class SurveyResponsesDataLoader
|
|||
File.open(filepath) do |file|
|
||||
headers = file.first
|
||||
|
||||
survey_items = CSV.parse(headers, headers: true).headers
|
||||
.filter { |header| !header.nil? }
|
||||
survey_item_ids = CSV.parse(headers, headers: true).headers
|
||||
.filter { |header| header.present? }
|
||||
.filter { |header| header.start_with? 't-' or header.start_with? 's-' }
|
||||
.map { |survey_item_id| SurveyItem.find_by_survey_item_id survey_item_id }
|
||||
|
||||
survey_items = SurveyItem.where(survey_item_id: survey_item_ids)
|
||||
|
||||
file.lazy.each_slice(1000) do |lines|
|
||||
survey_item_responses = CSV.parse(lines.join, headers: headers).map do |row|
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue