0

我有这个指标:

metric_which_is_not_working.png

  • “if”语句正上方的第一个值应仅用于9 月 1 日之后的日期;
  • “else”语句正上方的第二个值应仅用于旧日期(9 月 1 日之前)。

发生的情况是,当我将“小时”属性放入报告中时,即使对于旧日期,也会考虑“if”语句上方的值。

左侧报告使用相同的指标,但没有小时属性:

same_metric_with_different_values.png

为什么会这样?我可以做些什么来带来正确的价值观吗?

OBS:我也尝试使用“case”语句代替“if”,但我得到了相同的结果。

4

2 回答 2

0

您必须将聚合函数(在本例中为 SUM)放在 CASE 语句周围,而不是在其中。原因是您可能想要评估事实表上的条件,而不是结果聚合函数。

于 2018-09-15T16:07:50.030 回答
0

我通过删除“if”子句(它似乎不适用于报告中的许多过滤器)并包括两个指标的总和来解决这个问题,每个指标中都包含相应的日期过滤器:

使用 WHERE 而不是 IF 的新指标

这暂时解决了我的问题,但出于性能原因,我仍在寻找新的方法来制作这个指标,所以如果有人有新的猜测,我很乐意测试它。

于 2018-10-02T21:27:10.140 回答