Tableau api 如何计算表中聚合度量值的百分比差异?

Tableau api 如何计算表中聚合度量值的百分比差异?,tableau-api,aggregate-functions,level-of-detail,Tableau Api,Aggregate Functions,Level Of Detail,我试图计算本期和上期净销售额的差异百分比。我能够计算未聚合度量值的百分比差异。然而,在我的情况下,净销售额是根据以下公式计算的,这使得它成为一个总体衡量标准: SUM([Gross Sales])-ZN(SUM([Promotions]))-ZN(SUM([Refund_Amount]))-ZN(SUM([OrderTax]))-ZN(SUM([Shipping Tax])) 下面是我正在使用的其他公式 前期销售:如果ATTR([前期?]),则[净销售额]结束 本期销售:如果ATTR([本期?

我试图计算本期和上期净销售额的差异百分比。我能够计算未聚合度量值的百分比差异。然而,在我的情况下,净销售额是根据以下公式计算的,这使得它成为一个总体衡量标准:

SUM([Gross Sales])-ZN(SUM([Promotions]))-ZN(SUM([Refund_Amount]))-ZN(SUM([OrderTax]))-ZN(SUM([Shipping Tax]))
下面是我正在使用的其他公式

前期销售:
如果ATTR([前期?]),则[净销售额]结束

本期销售:
如果ATTR([本期?]),则[净销售]结束

%差异净销售额:
([当期销售额]-[前期销售额]/[前期销售额]

但是,我没有得到
%Diff净销售额的任何值。然而,当使用非聚合度量(即单位销售额而非净销售额)时,我得到的是正确的值。
在这种情况下,我使用以下公式:

Current period sales: SUM(IF [In Current Period?] = True THEN [Unit Sales] END)
这些是我正在使用的计算和数据结构。(前面带有#的字段是计算字段,因此是聚合字段)

我感谢在这个问题上的任何帮助。 高丽

我尝试了以下当期销售公式:

(退款来自混合数据源,因此略有不同)

我能够获得
%Diff净销售额的值
。但是,该值似乎是错误的。这似乎是因为下图所示的当期销售额和前期销售额存在差异。在一张表中,我得到了正确的值,但在另一张表中,我得到了错误的值。(我使用参数选择2021年1月作为当前期间) 这些是正确的值。 这些是错误的值,因此得到了错误的%Diff净销售额。

这可能是什么原因?我该如何解决


将日期埋入净销售额计算中

SUM(if [In Current Period?] then [Gross Sales] END)
-ZN(SUM(if [In Current Period?] then [Promotions] END))
-ZN(SUM(if [In Current Period?] then [Refund_Amount] END))
-ZN(SUM(if [In Current Period?] then [OrderTax] END))
-ZN(SUM(if [In Current Period?] then [Shipping Tax] END))

这样就行了


%差异净销售额:
([当期销售额]-[前期销售额]/[前期销售额]

您好,欢迎来到stack overflow。你能不能也分享一下你的数据结构的快照。非常感谢。我已经编辑了我的帖子,附上了不同数据源和计算的图片。看起来不错。厄普沃特迪·贝尔纳多。非常感谢你的建议。在你的帮助下,我取得了很大的进步。然而,这些值似乎并不准确。两张表之间的当前/前期销售值存在差异(有日期维度和无日期维度)。我用细节和图片编辑了我的问题。如果你能看一看并建议我如何解决这个问题,那就太好了。非常感谢您迄今为止的帮助。如果没有样本数据,恐怕我帮不了什么忙。但我要说的是,检查当前/以前时期的逻辑。它们似乎分别捕获了2021年1月和2020年12月的数据。将其发布到dropbox/googledrive/或类似网站,并将链接粘贴到此处退款有自己的日期,因此如果您堆叠数据,它将与创建日期一致,而不是与下订单的时间一致。对不起,我没有工作。数据混合有它的缺点,我尽量避免它。
SUM(if [In Current Period?] then [Gross Sales] END)
-ZN(SUM(if [In Current Period?] then [Promotions] END))
-ZN(SUM(if [In Current Period?] then [Refund_Amount] END))
-ZN(SUM(if [In Current Period?] then [OrderTax] END))
-ZN(SUM(if [In Current Period?] then [Shipping Tax] END))
SUM(if [In Prior Period?] then [Gross Sales] END)
-ZN(SUM(if [In Prior Period?] then [Promotions] END))
-ZN(SUM(if [In Prior Period?] then [Refund_Amount] END))
-ZN(SUM(if [In Prior Period?] then [OrderTax] END))
-ZN(SUM(if [In Prior Period?] then [Shipping Tax] END))