Table Looker 中按条件分组的计算

Table calculations in Looker with a group by condition

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

Person Rate Count  isImportant  Results
A           15    true        
B           30    true        
B           10    false       (3*10+2.5*25)/(10+25)
B       .5  25    false       (3*10+2.5*25)/(10+25)
D       .5  20    false       .5

如何通过对 PersonisImportant 列进行分组并计算 Rate 和 [=16] 的加权平均值来生成第五列 Results =] 列?

您可以使用 window 函数:

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