SSRS2008-R2 报告中的舍入数

Rounding number in SSRS2008-R2 Reports

我在 RS 中有一份报告。 我的 tablix 中的一个单元格具有以下表达式:

=Round((Fields!Volume.Value * 100) / First(Fields!Volume.Value,"RankingProduct"),2)

如您所见,我正在执行三的规则,因此总数是 Volume 字段的第一行。

现在,所有元素的总和必须为 100%,但只有当我去掉 Round 函数时才会如此。

客户希望看到 2 位小数,但同时希望所有元素的总和为 100%。我知道两者是相互排斥的。

示例: 所有小数的值:0,005100972740331660000000000000

第一个两位小数四舍五入的值:0,010000000000000000000000000000

因此,如果你有一两千个,那么我将永远无法达到 100%,因为我失去了精度。

那么唯一的解决办法就是保留所有小数点?

您可以在表达式中不进行舍入而进行简单的计算

=Round((Fields!Volume.Value * 100) / First(Fields!Volume.Value,"RankingProduct"),2)

变成

=(Fields!Volume.Value * 100) / First(Fields!Volume.Value,"RankingProduct")

然后,在文本框上右击,选择文本框属性 -> 数字,就可以select显示2位小数了。