【问题标题】:Tableau compute the diff between first and last column of the current table viewTableau 计算当前表视图的第一列和最后一列之间的差异
【发布时间】:2016-01-07 20:09:53
【问题描述】:

我需要执行类似于以下场景的任务。假设我有一个 2000 年到 2014 年的 10 种产品销售额的文件,以及我们内部产品的重要性等级(从 1 到 10)。所以数据文件有 4 个变量,产品名称、内部排名、销售额、年份,例如,对于 product1:

  1. product1, 5, 1000, 2000
  2. product1, 5, 2000, 2001
  3. product1, 5, 3000, 2002
  4. ...

有些产品的最初几年的销售数据缺失。

我现在在 Tableau 工作表上的表格连续显示每个产品,然后是内部排名、从 2000 年到 2014 年的每年销售额以及每行/产品的 15 年平均值。例如,对于 product1:

  1. product1, 5, 1000, 2000, 3000, (2003sales...2014sales), 2000-2014 平均销售额

我想添加另一列显示第一个可用销售年份与 2014 之间的差异,例如 product1 有完整的数据,因此此列将是 2014 和 2000 之间的销售差异。product2 销售始于 2002 年,所以此列会是 2014 年和 2002 年之间的差异。

我猜一些 LOD 代码可以解决问题?有人可以帮忙吗?标准表计算没有帮助,或者我可能还没有弄清楚。非常感谢!

【问题讨论】:

  • 第一个布局是数据源,第二个布局是如何在工作表中布局的?
  • 是的,第二个是我在工作表上创建的表格。谢谢。

标签: tableau-api calculated-columns


【解决方案1】:

您可以执行以下操作:

  1. 使用公式创建 4 个计算字段 [2000][2001][2013][2014]

    IF [year] = 2000 THEN 
    [sales] 
    END
    

    对于您将年份替换为 2013 或 2014 的每个字段

  2. 创建另外 4 个计算字段 [Sales2000][Sales2001][Sales2013][Sales2014]

    {fixed ProductName: sum([Sales2000])}
    

    再次相应地更改年份

  3. [diff2000-2014][diff2013-2014] 的差异创建计算字段:

    IF Isnull([Sales2000]) THEN 
    [Sales2014] - [Sales2001] 
    ELSE 
    [Sales2014] - [Sales2000] 
    END 
    

    [Sales2014] - [Sales2013]
    

所以你做的是

  1. 您提取所需年份的值

  2. 您将它们分配给产品的所有行

  3. 你计算出你想要的差异

  4. 如果您现在想要在工作表中使用它,请将 [diff2013-2014] 字段拖到列架中并选择 MIN()、MAX() 或 AVG(),因为您不想将所有差异加起来.

【讨论】:

  • 嗨,Alexander,感谢您提供的代码。您能否解释一下创建 sales2000 等的操作。要创建的字段名在代码本身中?
  • 另外,对于某些产品,缺少 2000 年的数据,所以我需要使用 2001 年的销售额。因此,添加的列实际上是 2014 年与可用的任何起始年份之间的差异。抱歉,我一开始并不清楚。
  • @我可以调整答案。它变得有点混乱,但它应该可以完成这项工作。
  • 非常感谢!我能够正确地进行计算。但是将新字段添加到原始表(每年的销售额)不起作用。我探索了两个选项,1)创建两个新表,一个用于 diff 2014-2013,一个用于 diff 2014-starting year,然后将所有三个表并排放在仪表板上,对齐所有表以填充整个评论。
  • 和 2) 将原始表格从 Tableau 导出到 excel,并在那里进行计算。我最终使用了这个选项,因为它更快。在 Excel 中添加迷你图似乎也比 Tableau 更快。
猜你喜欢
  • 1970-01-01
  • 2021-11-19
  • 2023-01-30
  • 1970-01-01
  • 2015-04-03
  • 1970-01-01
  • 2023-01-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多