Sql server SSRS总百分比小于或大于100%

Sql server SSRS总百分比小于或大于100%,sql-server,reporting-services,Sql Server,Reporting Services,我需要帮助解决一个问题。我在此线程中找到了解决问题第一部分的表达式代码: 现在,我在实现上面链接中投票的相同表达式代码后发现的第二个问题是,当我手动汇总百分比时,百分比要么小于100%,要么大于100%。并非总是100% 我在表达式公式框中单击,并选择属性中的数字格式为“P0”,这基本上意味着只返回百分比,不返回任何小数 如果我尝试P1或P2,最终的总百分比仍然大于100% 有哪些可能的解决方案使得最终总百分比始终为100%,P0 如果要除以整数,则会出现舍入问题。试着把它们转换成小数。摘自你的

我需要帮助解决一个问题。我在此线程中找到了解决问题第一部分的表达式代码:

现在,我在实现上面链接中投票的相同表达式代码后发现的第二个问题是,当我手动汇总百分比时,百分比要么小于100%,要么大于100%。并非总是100%

我在表达式公式框中单击,并选择属性中的数字格式为“P0”,这基本上意味着只返回百分比,不返回任何小数

如果我尝试P1或P2,最终的总百分比仍然大于100%


有哪些可能的解决方案使得最终总百分比始终为100%,P0

如果要除以整数,则会出现舍入问题。试着把它们转换成小数。摘自你的另一个问题:

更改此项:

=CountDistinct(Fields!ID.Value)/CountDistinct(Fields!ID.Value, "MyDatasetName")
为此:

=CDec(CountDistinct(Fields!ID.Value)) / CDec(CountDistinct(Fields!ID.Value, "MyDatasetName"))
然后,在显示信息时,确保将文本框属性设置为显示正确的百分比数字(选中文本框属性中的“数字”选项卡)


此外,如果您的计算结果很好,这只是一个取整问题,您可以将您的文本框总数硬编码为100%,如果每次都是这样的话。

有人有任何建议吗?垃圾输入,垃圾输出。我需要查看更多信息,但您的初始计算有错误。您可以在您的总框上设置一个条件,比如
IIF([框的总和]>1,1,[框的总和])
我不能在这里使用sum,因为我在计算客户数量,然后将结果除以我的数据集名称。所以它就像COUNTDISTINCT(field.xx.value)/COUNTDISTINCT(field.xx.value,“我的数据集名称”)。它返回百分比,但总和不等于100%。它要么小于100%,要么大于100%。我怎样才能修正这个问题,使总和总是100%?如果你把一个整体的各个部分相加,而它不是1个整体,那么你的百分比计算就不起作用了。当你说不是100%时,是不是只差了几个百分点?这将是一个舍入错误。请确保您将数字转换为小数,因为整数将进行四舍五入。在SSRS中如何实现这一点?