Spotfire cross table - 当多个层次结构在列上时计算差异
Spotfire cross table - calculate difference when multiple hierarchies are on Columns
我正在尝试在 Spotfire 中创建一个自定义表达式来计算交叉 table 中时间段之间的差异,该交叉 列上有多个层次结构 (例如,一个是产品层次结构,另一个是时间层次结构)。我看到的所有示例似乎只有在时间层次结构是在轴上选择的单个 属性 时才有效。
我的方案是,我想在交叉 table 中显示不同时间段(通过时间选择)的每个类别或产品(通过列轴上的产品层次结构滑块选择)的销售额总和hierarchy also on the column axis), 以及与上期 f 或相同类别或产品的差异 。行轴设置为客户名称。
Spotfire 为 "Difference" 建议的默认表达式实际上在交叉 table 中显示了相对于前一个 "cell" 的差异, 不管是否相同product/category 或不。在示例屏幕截图 here 中,2014 年产品 A 的差异显示为“13”,即使产品 A 没有之前的时间段。“13”的值实际上是产品销售额与产品销售额之间的差异2014 年的 A 和 2014 年来自另一个类别的产品 B 的销售额,恰好是同一行的先前值。
范例分析见here。
我将非常感谢一些提示,说明如何获得同一产品 and/or 类别与之前时间段的差异(取决于用户在产品层次结构滑块中选择的内容)。
我设法构建了一个表达式来正确计算我想要的差异。表达式为:
Sum([Amount]) - Sum([Amount]) OVER (Intersect(PreviousPeriod([Axis.Columns]),[Hierarchy.ProductHierarchy]))
基本上,这是在具有非时间层次结构的列上与前一个周期相交,这似乎产生了正确的结果。
我正在尝试在 Spotfire 中创建一个自定义表达式来计算交叉 table 中时间段之间的差异,该交叉 列上有多个层次结构 (例如,一个是产品层次结构,另一个是时间层次结构)。我看到的所有示例似乎只有在时间层次结构是在轴上选择的单个 属性 时才有效。
我的方案是,我想在交叉 table 中显示不同时间段(通过时间选择)的每个类别或产品(通过列轴上的产品层次结构滑块选择)的销售额总和hierarchy also on the column axis), 以及与上期 f 或相同类别或产品的差异 。行轴设置为客户名称。
Spotfire 为 "Difference" 建议的默认表达式实际上在交叉 table 中显示了相对于前一个 "cell" 的差异, 不管是否相同product/category 或不。在示例屏幕截图 here 中,2014 年产品 A 的差异显示为“13”,即使产品 A 没有之前的时间段。“13”的值实际上是产品销售额与产品销售额之间的差异2014 年的 A 和 2014 年来自另一个类别的产品 B 的销售额,恰好是同一行的先前值。
范例分析见here。
我将非常感谢一些提示,说明如何获得同一产品 and/or 类别与之前时间段的差异(取决于用户在产品层次结构滑块中选择的内容)。
我设法构建了一个表达式来正确计算我想要的差异。表达式为:
Sum([Amount]) - Sum([Amount]) OVER (Intersect(PreviousPeriod([Axis.Columns]),[Hierarchy.ProductHierarchy]))
基本上,这是在具有非时间层次结构的列上与前一个周期相交,这似乎产生了正确的结果。