的Tableau:
这看起来很简单,但我用完了其他系统中常用的技巧。 我想要一个方差列。基本上添加一个成员' Variance'法案/计划维度只包含成员'实际'和'计划' 我进入了数据结构和报告的位置,如下所示:
Actual | Plan
利润衡量
措施2
措施3
等等
目标是建立一个Variance列(计算而不是实际/计划维度的一部分)
Actual | Plan | Variance
利润衡量
措施2
措施3
等
有些解决方案仅适用于一项措施,我已经研究过。 即,创建计算字段
Profit_Actual | Profit_Plan |方差
你把它放在列上,然后你得到一个我想要的网格......除了一个只有一个度量的网格。
如果我想在行上运行多个度量,则不起作用。基本上上面的解决方案只显示利润度量,而不是Measure 1_Actual,Measure 2_Plan等。
所以我尝试了一个技巧,我将3个计算的度量分组,即Profit_Actual | Profit_Plan | Profit_Variance为' Profit_Measure' 创建了一个参数列表 - ' Actual',' Plan'' Variance'
现在我可以通过在列上使用参数和“利润衡量”来实现我的目标。在行(所以我也可以在行上测量123_group等)。麻烦的是,我发现参数只是单选。只有当它能够同时显示自定义参数中的所有选项时,我才能解决我的问题。
关于如何实现我想要的Variance列的任何想法? 实际上将成员添加到维度/计算的fieds / tricks / workaround
谢谢 赞赏任何线索
Gemmo
答案 0 :(得分:0)
好。首先,我很难理解您的数据是如何组织的,尝试更清楚(比如说数据库中的每个条目看起来如何,而不是Tableau中的特定视图如何)。
但我想我明白了。我猜你有一个条目集合,每个条目都有一些度量字段(利润等)和一个行动/计划字段,以确定该条目是实际值还是计划值。这是对的吗?
嗯,如果是这样的话,我很遗憾地说你必须计算每个维度的方差字段。想一想,原始数据集的结构如何。你认为你可以添加一个字段" Variance"代表每项措施的方差?好吧,你可以将值存储在一个字符串中,然后使用一些字符串函数将其收回,但它不是很实用。问题是每个条目都有很多度量,如果它只有1个度量,那么单个方差域就足够了。
因此,如果您可以重新组织数据,那么更容易上班的工作集(但是包含更多条目)的字段包括:度量,值,实际/计划。度量字段将有一个字符串,用于标识您在该条目中测量的内容。值将是表示实际度量的数字。实际/计划是一样的。例如:
测量值实际/计划 利润100实际
因此,当前模型中的每一行都将成为n个条目,其中n是您现在拥有的度量数。因此,在某种程度上更大的数据集,但更容易使用。考虑一下,现在您可以拥有一个计算字段,并使用一些表计算来计算该度量和/或实际/计划的差异。只需使用WINDOW_VAR,并将Measure和/或Actual / Plan放入分区。
表计算很棒,看看这个可以更好地理解它。 http://onlinehelp.tableausoftware.com/current/pro/online/en-us/help.htm#calculations_tablecalculations_understanding_addressing.html
答案 1 :(得分:0)
我通常喜欢让我的数据暂存,以便Actual是它自己的列,而Plan是它自己的列,它被输入到Tableau。它使计算变得更加容易。
如果您的数据存在名为" Actual / Plan"并且每一行都填充了" Actual"或"计划"还有另一个名为" Value"或"测量"如果填充了这些值,您可以强制Tableau将它们设为列,假设您无法或不会重新排列数据。
创建一个名为" Actual"的计算字段。使用以下计算:
IF [Actual/Plan] = 'Actual' THEN [Value] END
同样,创建一个名为"计划"的计算字段。使用以下计算:
IF [Actual/Plan] = 'Plan' THEN [Value] END
现在,您最终可以创建" Variance"和"方差%"计算(分别):
SUM([Actual]) - SUM([Plan])
[Variance] / SUM([Plan])