指标中的条件语句在Gooddata报告中无法正常工作

时间:2018-09-13 13:44:05

标签: gooddata maql

我有这个指标:

metric_which_is_not_working.png

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

发生的事情是,当我在报表中放置“小时”属性时,即使对于旧日期,“ if”语句上方的值也被认为是这样。

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

same_metric_with_different_values.png

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我通过删除“ if”子句(该子句似乎不适用于报告中的许多过滤器)解决了这一问题,并在它们各自包含日期过滤器的两个指标之和中添加了该值:

New metric using WHERE rather than IF

目前,这解决了我的问题,但是出于性能方面的考虑,我仍在寻找制定此指标的新方法,因此,如果有人有新的猜测,我将很乐意对其进行测试。