Tableau api 表8.2-如何从表上的%差值中获取最大值和最小值?

Tableau api 表8.2-如何从表上的%差值中获取最大值和最小值?,tableau-api,Tableau Api,我在从包含%差值的表中获取最大%和最小%时遇到问题 年份------A------B------C------D------最大类型------最小类型------最小类型 2012年 2013年--4.30%--4.42%--4.34%--4.38%--4.42%--B--4.30%--A 上表显示了销售额与上年的百分比差异。因此,2012年没有(因为没有2011年)。我使用表格计算来计算百分比差异,即“百分比差异”,使用“表格(向下)”和“上一个”进行计算 最后四列是我在做这件事时遇到的问题

我在从包含%差值的表中获取最大%和最小%时遇到问题

年份------A------B------C------D------最大类型------最小类型------最小类型

2012年

2013年--4.30%--4.42%--4.34%--4.38%--4.42%--B--4.30%--A

上表显示了销售额与上年的百分比差异。因此,2012年没有(因为没有2011年)。我使用表格计算来计算百分比差异,即“百分比差异”,使用“表格(向下)”和“上一个”进行计算

最后四列是我在做这件事时遇到的问题。我想得到最大%和最小%以及相应的类型。我并不是试图将这四列添加到现有表中,而是为了得到正确的结果,因为我的最终目标是在仪表板上显示结果,即在我的仪表板上,我希望显示最高的百分比及其相应的类型;同样,最低的%及其对应的类型。例如:在我的仪表板上,我想显示:

最高百分比和类型:4.42%B

最低百分比和类型:4.30%A

所以,我需要有正确的公式来得到最大%和最小%及其类型。以下是我所做的:

我试图使用WINDOW\u MAXWINDOW\u MIN在表上显示MAX%和MIN%,但得到了错误的结果

1) 我首先从SUM([Sales])“Edit Table Calculation”(编辑表格计算)窗口的“Customize”(自定义)按钮中得到计算百分比差异的公式:(ZN(SUM([Sales]))-LOOKUP(ZN(SUM([Sales])),-1))/ABS(LOOKUP(ZN(SUM([Sales]),-1)) 然后我创建了上述公式的计算字段。我将计算字段命名为“百分比差异”

2) 我使用以下公式创建了另一个计算字段(名为“Max%差异”):WINDOW_Max([Percent Diff])。但它显示出奇怪的结果。见下图。我不知道为什么2012年和2013年这两个数字分别是2.78%和2.91%。2012年和2013年应分别为0%和4.42%。有点不对劲

如果它只是SUM([Sales]),而不是%差,那么我就得到了使用公式窗口_max(SUM([Sales])显示最大销售额的正确结果

3) 我也不知道如何得到相应的类型。我尝试使用以下公式:如果[Max%Difference]=[Percent Diff],那么ATTR([Product Type])。但它的回报是:

NULL

B

我不确定这个公式是否正确。它在结果上看起来是正确的(即“B”是正确的),但它也显示了一个空值,我不知道为什么。我想这是因为我的IF公式中没有包含ELSE部分?但是为什么NULL值显示为第一个值呢?我希望公式只返回一个值“B”。那么,如何只显示“B”


我已经在tableau论坛上发布了两次这个问题,但到目前为止,还没有人回答我的问题。我相信我的公式是错误的。因此,如果这里的任何人都能修正公式,从%差值中得到最大%和最小%,并得到相应的类型,那将非常感谢。万分感谢

很难说不知道你的数据库是什么样子的(因为你没有明确地展示它,但我可以根据你在帖子上留下的线索来推断)。但我可以用样本咖啡连锁店数据库复制你说的东西,结果很好,按产品计算了年销售额增长,然后计算了其中的最大值

您可能缺少的是分区。我建议避免在更复杂的情况下使用表或窗格创建分区(因为它只在特定的字段排列中工作),而是使用维度对其进行分区

因此,[Percent Diff]字段应使用[Date]进行计算,[Max%Difference]应使用[Product Type]进行计算。重要提示:对于[Max%Difference],当您转到编辑表格计算时,您还必须选择用于[Percent Diff]的计算(您可以在窗口顶部选择)

找到最大(或最小)类型的公式也是正确的(并且应该只考虑分区)。然而,要获得您期望的准确输出是非常困难的

我要做的是创建两个电子表格(然后将它们合并到仪表板中)

第一个是你已经得到的(每个产品[差异百分比]

第二种方法是,我将您的公式(3)更改为[Max%Difference]=[Percent Diff],并将其用作过滤器(仅过滤为true)。我将日期和产品拖到工作表中(如果您希望在列、行或仅详细信息上进行选择),以便使用它们对表进行分区。然后拖动[Max%Difference]以可视化。 这样,您将只看到最大值的产品,以及最大值是多少


希望这有助于回答

太长的问题,请准确地询问示例输入和所需的输出。你好,Inox,感谢您阅读我的问题并提供建议。我无法在我的帖子中附加示例工作簿(我使用了咖啡连锁数据),因为我刚刚注册,不允许附加文件。我必须获得一些分数(我相信)为了附加文件。我会采纳你的建议并处理它。再次感谢你花时间提供建议。顺便说一句,我已经在tableau论坛上发布了相同的问题(包括附加的工作簿):您可以首先提供指向该字段的链接=D。这正是我所想的。只需选择最大百分比差异,转到编辑表计算。在计算字段上,选择百分比差异,然后选择计算使用日期。瞧。在这里工作Hi Inox,是的,现在工作了!我犯的最大错误是没有选中“计算使用”对于“编辑表格计算”菜单下的每个计算字段,我已经