Matrix 根据SSRS矩阵中的总列计算总列的百分比

Matrix 根据SSRS矩阵中的总列计算总列的百分比,matrix,ssrs-2008,reporting-services,Matrix,Ssrs 2008,Reporting Services,希望在我的SSRS矩阵中添加一列,该列将给出该行中总列的百分比 我使用了下面的表达式,但是我的百分比一直是100%(我假设这是因为合计是最后计算的,所以它只是做total/total =FORMAT((Fields!ID.Value/SUM(Fields!ID.Value)), "P") 字段ID在SQL中计算,而不是在SSRS中计算 比如说 Site | Value 1 | %1 | Value2 | %2 | Total 1 | 20

希望在我的SSRS矩阵中添加一列,该列将给出该行中总列的百分比

我使用了下面的表达式,但是我的百分比一直是100%(我假设这是因为合计是最后计算的,所以它只是做total/total

=FORMAT((Fields!ID.Value/SUM(Fields!ID.Value)), "P")
字段ID在SQL中计算,而不是在SSRS中计算

比如说

Site   |  Value 1  |    %1   |   Value2  |   %2    |   Total
  1    |    20     |   50%   |    20     |   50%   |    40

这可能是因为您需要为SUM函数定义正确的范围:

SUM(Fields!ID.Value,“group_name”)
而不是普通的
SUM(Fields!ID.Value)

更新:

我需要一些时间来举个例子,因为我第一次回答你时没有提供报告服务

您可以看到结果和字段值


如果没有关于组设置的更多信息,很难提供详细信息,但是您应该考虑使用作用域选项来聚合运算符,如SUM或first:

=SUM(Fields!ID.Value, "NameOfRowGrouping") / SUM(Fields!ID.Value, "TopLevelGroupName")

此外,为了保持整洁,您应该将格式从表达式中移出,移到包含值的占位符属性或文本框属性。

这似乎应该是正确的解决方案;但是,当您添加总计列时,它没有被分配组名。这使它无法调用。的值是例如,“值1”和“值2”是相同的,还是由相同的字段提供的!ID.Value?谢谢-当我输入最低级别的组名时,这起作用,例如
matrix1\u SiteName
,这是行的总值。