0

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

在此处输入图像描述

请随时向我询问更多详细信息。

=Sum(Fields!OutSLA.Value, "SLAPriority")/Sum(Fields!InSLA.Value, "SLAPriority")*100我有这个,但没有完全按计划进行。非常基础的知识,对不起

很抱歉再次发帖。我的百分比很奇怪。即 -200 或 -Infinity:

在此处输入图像描述

4

2 回答 2

1

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

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

我不会在表达式中乘以 100,我只会将文本框Format属性设置为适当的值,例如P0

在此处输入图像描述

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

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

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

在此处输入图像描述

在此处输入图像描述

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

评论后编辑

您可以通过使用 IIf 语句检查0 InSLA 总数来防止 Infinity 值,例如:

=1 -(IIf(Sum(Fields!InSLA.Value) <> 0
  , Sum(Fields!OutSLA.Value) / Sum(Fields!InSLA.Value)
  , 0))

根据您的计算,-200% 是该特定行的正确值:1 - (3/1) = -2 = -200 %。你希望它是什么?

于 2013-07-11T17:10:52.207 回答
0

您可以使用 convert 或 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
于 2013-07-11T14:48:30.373 回答