按条件分组的Looker中的表计算

问题描述

我的数据集如下(前四列)-

Person Rate Count  isImportant  Results
A       $2    15    true        $2
B       $1    30    true        $1
B       $3    10    false       (3*10+2.5*25)/(10+25)
B       $2.5  25    false       (3*10+2.5*25)/(10+25)
D       $1.5  20    false       $1.5

如何通过将列ResultsPerson分组并计算isImportantRate的加权平均值来生成第五列Count列?

解决方法

您可以使用窗口功能:

select t.*,sum(rate * count) over(partition by person,isImportant)
        / sum(count) over(partition by person,isImportant) result
from mytable t

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...