【问题标题】:Tableau - Calculated fields / grouping / Custom DimTableau - 计算字段/分组/自定义 Dim
【发布时间】:2014-05-16 04:16:55
【问题描述】:

表格:

这可能看起来很简单,但我用尽了我在其他系统中使用过的常用技巧。 我想要一个方差列。本质上将成员“差异”添加到仅包含成员“实际”和“计划”的“行动/计划”维度 我来到了这样设置数据结构和报告的地方:

             Actual    | Plan

利润衡量
措施 2
措施 3
等等

目标是有一个 Variance 列(计算出来的,而不是 Actual/Plan 维度的一部分)

             Actual    | Plan  |   Variance

利润衡量
措施 2
措施 3
等等

有些解决方案只适用于一种措施,我已经研究过了。 即,这样创建计算字段

Profit_Actual |利润计划 |方差

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

如果我想对行运行多个度量,这不起作用。本质上,上面的解决方案只会显示利润度量,而不是 Measure 1_Actual 、 Measure 2_Plan 等。

所以我尝试了一个技巧,将 3 个计算度量值分组,即 Profit_Actual |利润计划 | Profit_Variance 作为“Profit_Measure” 创建了一个参数列表 - 'Actual'、'Plan'、'Variance'

现在我可以通过在列上设置参数和在行上设置“利润度量”(这样我也可以在行上设置 Measure 123_group 等)来实现我的目标的一半。麻烦的是,我发现参数只有单选。只有当它可以一次显示自定义参数中的所有选项时,我才会解决我的问题。

关于如何实现我想要的 Variance 列的任何想法? 将成员虚拟添加到维度/计算字段/技巧/解决方法

谢谢 任何线索表示赞赏

宝石

【问题讨论】:

    标签: business-intelligence tableau-api


    【解决方案1】:

    好的。首先,我很难理解您的数据是如何组织的,并且尝试更清晰(比如数据库中每个条目的外观,而不是 Tableau 中特定视图的外观)。

    但我想我明白了。我猜您有一组条目,每个条目都有许多度量字段(利润等)和一个动作/计划字段,以确定该条目是实际值还是计划值。对吗?

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

    因此,如果您可以重新组织数据,那么更易于工作的集合(但有更多条目)是具有以下字段的内容:度量、值、实际/计划。 measure 字段将有一个字符串来标识您在该条目中测量的内容。值将是一个代表实际度量的数字。实际/计划是相同的。例如:

    衡量价值实际/计划 利润 100 实际

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

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

    【讨论】:

      【解决方案2】:

      我通常喜欢将我的数据分阶段,以便在提供给 Tableau 的数据中,Actual 是它自己的列,Plan 是它自己的列。它使计算变得容易得多。

      如果您的数据中有一个名为“实际/计划”的列,并且每一行都填充了“实际”或“计划”,并且还有另一个名为“值”或“度量”的列填充了值,您可以强制 Tableau 将它们设为列,假设您不能或不会重新排列数据。

      使用以下计算创建一个名为“Actual”的计算字段:

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

      同样,使用以下计算创建一个名为“Plan”的计算字段:

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

      现在,您终于可以(分别)创建“方差”和“方差 %”计算:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-18
        • 2020-07-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-15
        • 2017-03-11
        相关资源
        最近更新 更多