我有列的表:
person | x1 | x2 | par1 | par1_detailed
因此,我需要通过参数“par1”、“par1_detailed”根据 x1/x2 对这些人进行排名。我的这个用例的工作示例:
SELECT
person ,
SUM(x1) AS y,
SUM(x2) AS x,
(SUM(x1)/SUM(x2) - 1) AS z,
RANK() OVER (PARTITION BY par1, par1_detailed ORDER BY z DESC) AS rank,
par1,
par1_detailed
FROM
[table]
GROUP BY
person,
par1,
par1_detailed
我正在使用“rank”对 Google Data Studio 中的一些表进行排序,它非常适用于同时具有 par1 和 par1_detailed 以及我在 par1_detailed 上使用过滤器的表。
因此,当我想对没有 par1_detailed 过滤器的表进行排序或在 par1_datailed 过滤器中选择所有数据时,问题就开始了。对于那种情况,排名计算错误。我明白为什么会发生这种情况(我需要重新计算 x1/x2 比率,因为在这种情况下 z 的总和并没有真正显示 x1/x2 比率),但我不知道为我的用例创建查询很热门。
编辑
表中的数据如下所示:
person1 10101.455000000005 8793.739999999998 201701 (par1) 20170131 (par1_detailed)
这里有什么帮助吗?