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位小数了。
我在 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位小数了。