Мне нужно определить процент заданных c значений по годам.
Набор данных имеет следующие значения:
Year Col Value
2012 -20 p, 12
2012 -20 points, d 20
2012 -20 points, by 24
2012 -20 p, new 32
2012 -30 p, 1256
2012 -30 points, d 32
2012 -30 points, by 42
2012 -30 p, new 164
Есть и другие годы, но для примера I выбрано только 2012. Для каждого года я хотел бы определить процентное соотношение как:
- Количество значений, имеющих
points
слово в тексте
Разделенное на значения, начиная с с - 20
То же самое для случая с 30. Ожидаемый результат для -20 в 2012 году:
(20+24)/(12+20+24+32)
Я пробовал следующее
Select year,
Col,
Count(0) as Value
, 100*count(0)/sum(count(case when Col like ‘-20%points%’ then 1 end) over (partition by year, substr(Col, 1,2))) as pct_20
/* Same for 40 poin
ts */
From table1
Where /* conditions */
Group by 1,2
Но я получил ошибка Упорядоченные аналитические функции не могут быть вложенными.