【发布时间】:2014-07-08 05:40:30
【问题描述】:
我正在尝试对 tableau 中的数据进行年化处理,但在计算字段中出现错误。 “不能将聚合和非聚合参数混合到函数中”
我的公式是
sum(profit)/month(selected date) *12
如何获取当前月份的整数?这似乎是问题所在,它也尝试聚合月份。
谢谢。
【问题讨论】:
标签: tableau-api
我正在尝试对 tableau 中的数据进行年化处理,但在计算字段中出现错误。 “不能将聚合和非聚合参数混合到函数中”
我的公式是
sum(profit)/month(selected date) *12
如何获取当前月份的整数?这似乎是问题所在,它也尝试聚合月份。
谢谢。
【问题讨论】:
标签: tableau-api
简短的回答:将对月份的调用包装在对 min() 的调用中——如果您在可视化上将 MONTH([selected date]) 作为维度,则效果很好。
Tableau 中有三种类型的计算字段:
你不能混搭。计算字段中的所有内容都必须在一个级别或另一个级别 - 所有引用的字段都必须使用聚合函数(对于聚合计算字段),或者没有引用的字段必须使用聚合函数(对于数据行级别的计算字段)。
因此您看到了错误消息。
有时您知道基于可视化的分区中某个字段的所有值都是相同的,因此聚合函数似乎没有必要。但 Tableau 仍然要求您明确说明如何将一组值转换为单个值,因为即使可视化分区不同,也必须定义计算。在这些情况下,您可以使用 min()、max()、avg() 或 attr(),因为它们都为相同值的列表返回相同的值。
前两种类型通常在服务器上执行(即它们由 Tableau 实现,发出 SQL 以发送到数据库服务器)。表计算由 Tableau 在客户端站点上执行,以对来自数据库服务器的结果进行后处理。
表格计算是最复杂的类型,但非常有用。解释它们是另一天的帖子。
【讨论】: