Средневзвешенное значение вопросов опроса - PullRequest
0 голосов
/ 06 января 2020

Мне нужно рассчитать средневзвешенное значение для всех вопросов.

Предполагается, что в опросе 22 вопроса, в которых есть 5 вариантов: 1,2,3,4,5 и NA.

Например,

3 человека приняли участие в опросе (все 22 вопроса)

При условии, что имеется 10 ответов НС (объединенных для всех 3).

Итак, знаменатель будет: 22 * ​​3 - 10 = 56

Числитель будет: 1 * X1 + 2 * X2 + 3 * X3 + 4 * X4 + 5 * X5, при этом , X1 + X2 + X3 + X4 + X5 = 56

Как реализовать в SQL?

1 Ответ

0 голосов
/ 06 января 2020

Вы, кажется, описываете что-то вроде:

select avg(case when r.response = '1' then 1
                when r.response = '2' then 2
                when r.response = '3' then 3
                when r.response = '4' then 4
                when r.response = '5' then 5
           end)  
from responses r
where r.response <> 'N/A'
...