Spotfire:BarChart中的加权百分比计算

时间:2016-10-20 10:41:19

标签: bar-chart percentage spotfire

我有这组数据:

Kind     Weight  
A        3  
A        3
A        3
B        2
B        2
C        1  

我想创建一个Spotfire条形图,表示不同种类列值的贡献。在这种情况下,Spotfire提供的表达式是:

Count() / THEN [Value] / Sum([Value]) OVER (All([Axis.X]))  

但我想将此除以重量列的值。当Spotfire请求聚合方法时,我尝试了这个失败:

Count() / First([Weight]) THEN [Value] / Sum([Value]) OVER (All([Axis.X]))

对于记录,我没有使用计算值,因为我的目的是拥有动态BarChart。

提前致谢。

1 个答案:

答案 0 :(得分:1)

根据您所需的逻辑,您可以在条形图的VALUE AXIS上使用此功能:

UniqueCount([Kind]) / UniqueCount([Kind]) OVER (All([Axis.X]))

这将有效,除非Weight不等于Count of Kind

如果您的Weight可能会发生变化,例如Kind A的权重为2而不是3,但仍有3行,则可以完成你这样做的逻辑:

  1. 插入计算列:Count([Kind]) OVER ([Kind]) / Max([Weight]) OVER ([Kind])。将此列命名为WeightedWeight
  2. 在条形图VALUE AXIS
  3. Max([WeightedWeight]) / UniqueCount([Kind]) OVER (All([Axis.X]))上使用此公式