내가 예를 들어, 각 레코드의 양 속성을 정상화 그래서 몇 가지 계산을 할 수있는 그룹에 액티브 레코드에서 일련의 레코드를하려고 해요에서 총 :그룹화, 레일 및 액티브 레코드
은 사용자가 날짜를 입력 및 수량. 날짜는 고유하지 않으므로 날짜별로 10-20 개의 수량이있을 수 있습니다. 모든 개인 기록이 아닌 매일 합계로 작업해야합니다.
def heat_map(project, word_count, n_div)
return "freezing" if word_count == 0
words = project.words
counts = words.map(&:quantity)
max = counts.max
min = counts.min
return "max" if word_count == max
return "min" if word_count == min
break_point = (max - min).to_f/n_div.to_f
heat_index = (((word_count - min).to_f)/break_point).to_i
end
이 경우 잘 작동 : 다음 있기 때문에, 최고 및 최저 값을 결정한 후, 나는 기본적으로 보통 인 n
로 나누어 각각의 변환 (10)
이것은 내가 지금 뭘하는지입니다 모든 단어 수의 표를 표시하지만, 매일 열리는 총계를 표시하는 달력에 히트 맵을 적용하려고합니다. 이것은 분명히 일을 합계하지 않습니다, 그래서 나는 정상적인 규모 밖의 숫자로 끝납니다.
정규화를하기 전에 단어 수를 그룹화하고 합계하여 계산하는 방법을 알아낼 수 없습니다. group_by를 수행하고 맵 호출을 추가하려고 시도했지만 정의되지 않은 메소드 오류가 발생했습니다. 어떤 아이디어? 나는 또한 단어 수를 표준화하는 더 좋고/더 깨끗한 방법에 대해서도 열려있다.