1

我有列的表:

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)

这里有什么帮助吗?

4

0 回答 0