我需要每年确定特定值的百分比。
数据集的值如下:
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
还有其他年份,但我只选了2012年作为例子。每年,我想确定的百分比如下:
具有 points
文本中的单词
除以以开头的值 - 20
30的情况也一样。2012年-20年的预期产量:
(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
但我得到的错误排序分析函数不能嵌套。
2条答案
按热度按时间oipij1gg1#
我认为您需要条件聚合:
根据您的评论:
zzoitvuj2#
只能在olap函数中嵌套聚合,反之亦然: