Tableau api 如何将表中的一列除以表中的一个常数?

Tableau api 如何将表中的一列除以表中的一个常数?,tableau-api,Tableau Api,如果这看起来很琐碎,很抱歉,但我对Tableau还是相当陌生的。我有一个简单的表,列有一个维度,行有一个维度。我的标记是第三维度的计数。我只想将表中的一列除以常数,但不是全部。当我尝试使用条件语句时,我会收到关于非聚合语句和聚合语句混合的错误 根据条件分割单个列的值的最佳方法是什么 提前感谢。通常,有关非聚合和聚合语句的错误可以使用ATTR()函数解决 SUM([Sales]) / [Constant] 转向: SUM([Sales]) / ATTR([Constant]) 或者相反,可能

如果这看起来很琐碎,很抱歉,但我对Tableau还是相当陌生的。我有一个简单的表,列有一个维度,行有一个维度。我的标记是第三维度的计数。我只想将表中的一列除以常数,但不是全部。当我尝试使用条件语句时,我会收到关于非聚合语句和聚合语句混合的错误

根据条件分割单个列的值的最佳方法是什么


提前感谢。

通常,有关非聚合和聚合语句的错误可以使用ATTR()函数解决

SUM([Sales]) / [Constant] 
转向:

SUM([Sales]) / ATTR([Constant])
或者相反,可能适合或不适合您的数据:

[Sales] / [Constant]
你不能像第一个例子那样把这两者混合在一起

编辑

考虑到我猜测的是您的用例,这可能是ATTR()函数更准确的位置:

If ATTR([Segment]) = 'Corporate'
Then COUNT(Sales) / SUM([Constant])
END

尝试将常数转换为离散度量值,看看是否有效。(右键单击measure并选择“discrete”)

此外,在没有看到您正在使用的条件代码的情况下,您可能需要使用count()包装整个条件,以避免出现聚合/非聚合错误,如下所示:

Count(If [MyDimension] = "XX" then [MyOtherDimension] else Null End)
If [MyDimension] = "XX" then Count([MyOtherDimension]) else Null End
不是这样的:

Count(If [MyDimension] = "XX" then [MyOtherDimension] else Null End)
If [MyDimension] = "XX" then Count([MyOtherDimension]) else Null End

如果上述内容与您的计算字段不相似,那么将计算字段发布到与默认Tableau Superstore数据集中构建的视图类似的视图上可能会对您有所帮助。