百分比计算 - SpotFire
Posted
技术标签:
【中文标题】百分比计算 - SpotFire【英文标题】:Percentage Calculation - SpotFire 【发布时间】:2016-07-05 18:56:27 【问题描述】:我是 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
【问题讨论】:
请举例说明您迄今为止所做的尝试以及您在这些尝试中遇到的问题,soundcloud.com/dr-meaker/sets/dirt-soul-album 【参考方案1】:如果您想在表格中插入计算列,请使用下面的公式。我编写了 [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
。您可以通过转到编辑 > 列属性 > 格式并选择百分比来为第一个解决方案(插入列)完成此操作。在交叉表中右键单击 > 属性 > 格式并选择轴值的百分比。
【讨论】:
尝试了“SCSIMON”发布的第一个公式,它有效。谢谢。我早些时候尝试了相同的公式,但没有最后一部分“作为[年末百分比]”。我可以知道最后一部分“作为 [Percent Late for the year]”在计算中有何不同吗? “[percent Late for the year]”是一种语法吗?请澄清 这就是列的名称。如果你不把作为 [Some Column] 它将把整个表达式作为你的列名。您可以将其更改为您想要的列名称。 忘记添加了,根本不会改变计算。以上是关于百分比计算 - SpotFire的主要内容,如果未能解决你的问题,请参考以下文章