很抱歉,这似乎无关紧要,但我对Tableau还是陌生的。我有一个简单的表,其中列的1维和行的1维。我的分数是第三维的数。我只想将表格中的一列除以一个常数,但不是全部。当我尝试条件语句时,收到有关非聚集语句和聚集语句混合的错误。
根据条件划分单列值的最佳方法是什么?
谢谢。
答案 0 :(得分:2)
通常,可以使用ATTR()函数解决有关非聚集语句和聚集语句的错误。
SUM([Sales]) / [Constant]
转到:
SUM([Sales]) / ATTR([Constant])
或者相反,可能适合或可能不适合您的数据:
[Sales] / [Constant]
您不能像第一个示例那样将两者混在一起。
修改
鉴于我猜测的是您的用例,这可能是ATTR()函数的一个更准确的位置:
If ATTR([Segment]) = 'Corporate'
Then COUNT(Sales) / SUM([Constant])
END
答案 1 :(得分:0)
尝试将常数转换为离散量,看看是否可行。 (右键单击测量并选择“离散”)
答案 2 :(得分:0)
此外,可能没有看到正在使用的条件代码,您可能需要用count()包装整个条件,以免出现“聚集/非聚集”错误,如下所示:
Count(If [MyDimension] = "XX" then [MyOtherDimension] else Null End)
不喜欢这样:
If [MyDimension] = "XX" then Count([MyOtherDimension]) else Null End