Tableau - 计算字段/分组/自定义Dim

问题描述:

Tableau:Tableau - 计算字段/分组/自定义Dim

这似乎很简单,但我用完了其他系统中使用的常规技巧。 我想要一个差异列。本质上添加成员“方差”该法/平面尺寸仅包含成员“实际”和“七五” 我来在数据结构和报告设置像这样:

   Actual | Plan 

利润度量
量度2
措施3

的目标是具有方差柱(计算而不是实际的/计划尺寸的一部分)

   Actual | Plan | Variance 

利润指标
措施2
措施3

在有些情况下它仅适用于一个测量解决方案,我已经看着这一点。 即,如此创建计算字段

Profit_Actual | Profit_Plan |差异

你把这个放在列上,你得到一个我想要的网格...除了只有一个度量的网格。

这不起作用,如果我想在行上运行几个措施。基本上上述解决方案将只显示利润的措施,而不是措施1_Actual,措施2_Plan等。

所以我尝试了一个技巧,我分组的3个计算的措施,即Profit_Actual | Profit_Plan | Profit_Variance设置为'Profit_Measure' 创建一个参数列表 - 'Actual','Plan','Variance'

现在我可以通过列上的参数和行上的'Profit Measure'来实现我的目标我也可以在行上放置Measure 123_group等)。麻烦的是,我发现参数只是单一选择。只有当它可以一次显示自定义参数中的所有选项时,我才能解决我的问题。

关于如何实现“我想要的差异”列的任何想法? 事实上,添加成员的维度/计算fieds /技巧/解决方法

谢谢 任何线索表示赞赏

Gemmo

好。首先,我非常难以理解数据的组织方式,尝试更加清晰(说明数据库中的每个条目的样子,而不是Tableau中的特定视图的外观)。

但我想我明白了。我想你有一个条目集合,每个条目都有一些测量字段(利润等)和一个行为/计划字段,以确定该条目是实际值还是计划值。那是对的吗?

那么,如果是这样的话,我很抱歉地说你必须计算每个维度的方差字段。想一想,你的原始数据集是如何构建的。你认为你可以添加一个字段“方差”来表示每个度量的方差吗?那么,你可以将这些值存储在一个字符串中,然后使用一些字符串函数收集它们,但这不是很实用。问题是每个条目都有很多措施,如果它只有一个度量,那么单个方差字段就足够了。

所以,如果你可以重新组织你的数据,那么工作组更容易设置(但有更多的条目)是字段:度量,值,实际/计划。度量字段将有一个字符串来标识您在该条目中测量的内容。价值将是代表实际措施的数字。实际/计划是一样的。例如:

测量值实际/计划 利润100实际

因此,在当前的模型中的每个行会变成n个条目,其中n是你现在所拥有的小节数。所以一个更大的数据集,但更容易处理。想一想,现在您可以拥有一个计算字段,并使用一些表格计算来计算仅针对该度量和/或实际/计划的方差。只需使用WINDOW_VAR,并将Measure和/或Actual/Plan放入分区。

表计算真棒,看看这个更好地理解它。 http://onlinehelp.tableausoftware.com/current/pro/online/en-us/help.htm#calculations_tablecalculations_understanding_addressing.html

我通常希望将数据分段,以使Actual是自己的列,Plan是将数据提供给Tableau的自己的列。它使计算变得如此简单。

如果您的数据有这样一个名为“Actual/Plan”的列,并且每行都填充了“Actual”或“Plan”,并且填充了名为“Value”或“Measure”的另一列使用这些值,您可以强制Tableau将它们设置为列,前提是您不能或不会重新排列数据。

创建一个名为“实际”与下面的计算计算字段:

IF [Actual/Plan] = 'Actual' THEN [Value] END 

同样,创建一个名为“计划”的计算字段具有以下计算:

IF [Actual/Plan] = 'Plan' THEN [Value] END 

现在,你可以最后分别创建“差异”和“差异%”计算:

SUM([Actual]) - SUM([Plan]) 

[Variance]/SUM([Plan])