【发布时间】:2014-12-10 23:20:53
【问题描述】:
我在从包含 % 差异值的表中获取最大 % 和最小 % 时遇到问题。
年份-----A---------B---------C---------D--------- Max %----Max Type----Min %----Min 类型
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_MAX 和 WINDOW_MIN 在表格上显示最大 % 和最小 %,但得到了奇怪的错误结果。
1) 我首先从 SUM([Sales]) 的“编辑表计算”窗口中的“自定义”按钮计算百分比差异的公式:(ZN(SUM([Sales])) - LOOKUP(ZN (SUM([Sales])), -1)) / ABS(LOOKUP(ZN(SUM([Sales])), -1)) 然后我创建了上述公式的计算字段。我将计算字段命名为“Percent-Diff”。
2) 我使用公式 WINDOW_MAX([Percent-Diff]) 创建了另一个计算字段(名为“Max % Difference”)。但它显示出奇怪的结果。见下图。我不知道为什么它在 2012 年和 2013 年分别给了我 2.78% 和 2.91%。 2012 年和 2013 年应分别为 0% 和 4.42%。有些地方不正确。
如果它只是 SUM([Sales]) 而不是 % 差异,那么我会得到正确的结果,即使用公式 WINDOW_MAX(SUM([Sales])) 显示最大销售额。
3)我也不知道如何获得相应的类型。我尝试使用以下公式:IF [Max % Difference] = [Percent-Diff] THEN ATTR([Product Type])。但它返回:
空
B
我不确定公式是否正确。结果看起来是正确的(即“B”是正确的),除了它还显示一个我不知道为什么的 NULL 值。我认为这是因为我的 IF 公式中没有包含 ELSE 部分?但为什么 NULL 值显示为第一个值?我希望公式只返回一个值“B”。那么,如何只显示“B”?
我在 tableau 论坛上发布了两次问题,但截至目前,没有人回答我的问题。我相信我的公式是不正确的。因此,如果这里的任何人都可以更正公式以从 % 差异值中获得最大 % 和最小 % 并获得相应的类型,那么将非常感激。谢谢一百万!
【问题讨论】:
-
问题太长,请准确并提供示例输入和所需输出。
标签: tableau-api