2016-07-05 226 views
1

我是Spotfire新手。百分比计算 - SpotFire

我有一个数据集,如下所示。我需要计算一年中“迟到”事件的百分比。例如,2016年“迟到”事件百分比是(3/14)* 100。

任何人都可以说spotfire这个计算的自定义表达式?

2018  OTC 
2017  InProgress 
2017  InProgress 
2017  OTC 
2016  Late 
2016  OTC 
2016  OTC 
2016  OTC 
2016  OTC 
2016  Late 
2016  Late 
2016  OTC 
2016  OTC 
2016  InProgress 
2016  InProgress 
2016  OTC 
2016  InProgress 
2016  InProgress 
2015  OTC 
2015  OTC 
2015  Late 
2015  Late 
2015  OTC 
2015  OTC 
+0

请给出一个例子,说明你到目前为止所尝试过的方法,以及这些尝试所面临的问题,https://soundcloud.com/dr-meaker/sets/dirt-soul-album –

回答

3

如果要将计算列插入表中,请使用下面的公式。由于您没有在数据集中指定它们,因此我编制了[Status][Year]列。

Count(If(Trim([Status])="Late",[Status])) over ([Year])/Count() over ([Year]) as [Percent Late for the Year] 

如果您在交叉表这样做,然后设置你的水平轴[Status],设置您的垂直轴[Year],然后设置单元格值:

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

在这两种情况下,我不会像你在你的问题中那样100倍。相反,将列的格式更改为PERCENTAGE。您可以通过编辑>列属性>格式化并选择百分比来完成第一个解决方案(插入列)的操作。在交叉表中右键单击>属性>格式并选择百分比作为轴值。

+0

尝试了第一个公式“SCSIMON”,它的工作原理。谢谢。我早些时候尝试过相同的公式,但是没有最后一部分“作为[今年晚]”。我可否知道最后一部分“作为[今年晚]的百分比”在计算中有什么不同?是“[今年晚了]”的语法?请澄清 – pradeep

+0

这就是专栏的名称。如果你不把[Some Column]作为你的列名,它会把整个表达式作为你的列名。您可以将其更改为您想要列名的任何内容。 – scsimon

+0

忘了补充,它根本不会改变计算。 – scsimon