Tableau api 年度数据-表格

Tableau api 年度数据-表格,tableau-api,Tableau Api,我试图在tableau中对数据进行年度化,但计算字段中出现错误。 “无法将聚合参数和非聚合参数混合到函数” 我的公式是 sum(profit)/month(selected date) *12 如何获取当月的整数?这似乎是问题所在,它还试图将月份进行汇总 谢谢。简短回答:将对month的调用包装在对min()的调用中——如果您在可视化视图中有month([所选日期])作为维度,则此操作非常有效 表中有三种类型的计算字段: 作用于单个数据行的行级计算。它们可以读取同一行中其他字段的值,并在每

我试图在tableau中对数据进行年度化,但计算字段中出现错误。 “无法将聚合参数和非聚合参数混合到函数”

我的公式是

 sum(profit)/month(selected date) *12
如何获取当月的整数?这似乎是问题所在,它还试图将月份进行汇总


谢谢。

简短回答:将对month的调用包装在对min()的调用中——如果您在可视化视图中有month([所选日期])作为维度,则此操作非常有效

表中有三种类型的计算字段:

  • 作用于单个数据行的行级计算。它们可以读取同一行中其他字段的值,并在每行返回一个值
  • 作用于分区或数据行块的聚合计算。它们可以引用使用聚合函数(如SUM()或MIN())跨整个分区聚合字段值的结果
  • 作用于整个聚合结果表的表计算
你不能混搭。计算字段中的所有内容都必须在一个或另一个级别上—所有引用字段都必须使用聚合函数(对于聚合计算字段),或者没有引用字段必须使用聚合函数(对于数据行级别的计算字段)

因此,您看到了错误消息

有时,您知道基于可视化的分区中一个字段的所有值都是相同的,因此聚合函数似乎没有必要。但Tableau仍然要求您明确说明如何将一个值块转换为单个值,因为即使可视化分区不同,也必须定义计算。在这些情况下,可以使用min()、max()、avg()或attr(),因为它们都会为相同的值列表返回相同的值

前两种类型通常在服务器上执行(即,它们由发出SQL的Tableau实现,以发送到数据库服务器)。Tableau在客户机站点上执行表计算,以对来自数据库服务器的结果进行后期处理


Table Calc是最复杂的类型,但可能非常有用。解释它们是另一天的帖子。

谢谢Alex。这是一个很好的提醒。我接受了你的第一点。因为计算是按行进行的。在进行汇总之前,我做了一个计算字段,并按行对数据进行了年度化。