问题描述
我正在使用数据工具构建报表(报表服务器项目)。我有一列 Quantity 它有一个 Total。 我需要另一列来计算 Quantity 中每一行的份额(%)与 Total 相比。
表达式为:Line_1_Share = Quantity_of_line_1/Total。
我试过 =[Sum(Total/Quantity)] 但它甚至不接受作为有效表达式。
解决方法
如果您右键单击包含您的工作“数量”和“总计”值的文本框并查看表达式,您将看到正确的格式。
例如,您的“数量”表达式可能类似于
=Fields!Quantity.Value
或者如果它在一个分组的行中,它可能是
=SUM(Fields!Quantity.Value)
您的“总”表达式也可能是
=SUM(Fields!Quantity.Value)
当您使用 SUM()
(或任何类似的聚合)时,表达式的范围决定总和中包含的内容。范围可以是单行、行组或整个数据集。如果不指定范围,则文本框的位置决定范围。
因此,如果您有一个简单的表格,除了总行之外没有分组,并且您的数据集名称是 dataset1
,那么您的表达式将需要
=Fields!Quantity.Value / SUM(Fields!Quantity.Value,"dataset1")
上面写着......“对于当前行,取数量并除以整个数据集数据集1中所有数量的总和”
如果这没有帮助,请发布您当前的报告设计,包括行和/或列组。