Tableau api Tableau计算当前表视图的第一列和最后一列之间的差异

Tableau api Tableau计算当前表视图的第一列和最后一列之间的差异,tableau-api,calculated-columns,Tableau Api,Calculated Columns,我需要执行类似于以下场景的任务。假设我有一份2000年至2014年10种产品的销售档案,以及我们内部产品的重要性排名(从1-10)。因此,数据文件有4个变量,产品名称、内部排名、销售额、年份,例如product1: 产品1、5、1000、2000 产品1、5、2000、2001 产品1、5、3000、2002 有些产品前几年的销售数据缺失 我现在在Tableau工作表上的表格以一行显示每种产品,然后是内部排名、2000年至2014年的每年销售额以及每行/产品15年的平均值。e、 例如,对于产品

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

  • 产品1、5、1000、2000
  • 产品1、5、2000、2001
  • 产品1、5、3000、2002
  • 有些产品前几年的销售数据缺失

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

  • 产品1,5,1000,2000,3000,(2003年销售…2014年销售),2000-2014年平均销售
  • 我想添加另一列,显示第一个可用销售年度与2014年之间的差异,例如product1有完整的数据,因此此列将是2014年与2000年之间的销售差异。product2的销售始于2002年,因此本栏将显示2014年和2002年之间的差异


    我猜一些LOD代码可能会起作用?有人能帮忙吗?标准的表格计算没有什么帮助,或者我还没有弄明白。非常感谢

    您可以执行以下操作:

  • 使用以下公式创建4个计算字段
    [2000]
    [2001]
    [2013]
    [2014]

    IF [year] = 2000 THEN 
    [sales] 
    END
    
    对于每个字段,用2013年或2014年替换年份

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

    {fixed ProductName: sum([Sales2000])}
    
    IF Isnull([Sales2000]) THEN 
    [Sales2014] - [Sales2001] 
    ELSE 
    [Sales2014] - [Sales2000] 
    END 
    
    再次相应地改变年份

  • 为差异创建计算字段
    [diff2000-2014]
    [diff2013-2014]

    {fixed ProductName: sum([Sales2000])}
    
    IF Isnull([Sales2000]) THEN 
    [Sales2014] - [Sales2001] 
    ELSE 
    [Sales2014] - [Sales2000] 
    END 
    

  • 所以你所做的是

  • 您可以提取所需年份的值

  • 将它们分配给产品的所有行

  • 你计算了你想要的差异

  • 如果您现在希望它出现在工作表中,请将
    [diff2013-2014]
    字段拖到ColumnSN工具架上,并选择MIN()、MAX()或AVG(),因为您不想将所有差异相加


  • 第一个布局是数据源,第二个布局是如何在工作表中进行布局的?是的,第二个布局是我在工作表上创建的表。谢谢。嗨,亚历山大,谢谢你的密码。请您解释一下创建sales2000等的DO。要创建的字段名在代码中?另外,对于某些产品,缺少2000年数据,因此我需要使用2001年销售数据。因此,添加的列实际上是2014年和任何可用起始年之间的差异。“对不起,一开始我不清楚。”我可以调整一下答案吗。它变得有点凌乱,但它应该可以完成任务。非常感谢!我能够正确地进行计算。但是,将新字段添加到原始表(包含每年的销售额)并不起作用。我探索了两个选项,1)创建两个新表,一个用于diff 2014-2013,另一个用于diff 2014起始年,然后将所有三个表并排放在仪表板上,对齐所有表以填充整个审查。2)将原始表从Tableau导出到excel,并在那里进行计算。我最终使用了这个选项,因为它更快。在excel中添加迷你图似乎比在Tableau中更快。