以百分比表达到锻炼 - SSRS

时间:2013-07-11 14:28:25

标签: sql reporting-services

我需要按百分比计算总数:

enter image description here

请随时向我询问详情。

=Sum(Fields!OutSLA.Value, "SLAPriority")/Sum(Fields!InSLA.Value, "SLAPriority")*100我有这个,但没有完全去计划。对此抱歉非常基本的知识

很抱歉再次在这个帖子上发帖..我得到了奇怪的百分比。即-200或-Infinity:

enter image description here

2 个答案:

答案 0 :(得分:1)

要在报告级别执行此操作,您可以使用以下内容:

=1 - (Fields!OutSLA.Value / Fields!InSLA.Value)

我不会在表达式中乘以100,我只需将文本框格式属性设置为approriate值,例如:的 P0

enter image description here

上面的表达式假设一个细节行。要在页眉或页脚行中应用,您可以使用以下内容:

=1 - (Sum(Fields!OutSLA.Value) / Sum(Fields!InSLA.Value))

我在基本报告中尝试了第一个公式:

enter image description here

enter image description here

结果与您的示例略有不同,但您可以看到最后一列中的基础数字以及它们在P0列中舍入的原因。

在评论后修改

您可以使用IIf语句检查 0 InSLA总计,以阻止无穷大值,例如:

=1 -(IIf(Sum(Fields!InSLA.Value) <> 0
  , Sum(Fields!OutSLA.Value) / Sum(Fields!InSLA.Value)
  , 0))
根据您的计算,

-200%是该特定行的正确值: 1 - (3/1)= -2 = -200%。您期望它是什么?< / p>

答案 1 :(得分:0)

您可以使用转换或使用Cast

执行此操作

转换:

Select
AssignedTo,
INSLA,
OUTSLA, 
CONVERT(VARCHAR(50), CAST(((1-(OUTSLA/INSLA))*100) as int))+ '%' as Percentage
FROM SLATABLE

角色:

Select 
AssignedTo,
INSLA,
OUTSLA, 
CAST(CAST((1-(OUTSLA/INSLA))*100 as int) AS VARCHAR(50))+ '%' as Percentage
FROM SLATABLE