这篇 SSRS 文章将解释如何使用 RunningValue 和算术计算以及示例来计算特定组或整个表的运行百分比。
为了演示运行百分比,我们使用下面的员工表,该表有 15 条记录,按职业分组。下图显示了表中记录。

SSRS 运行百分比示例
为此,我在“收入”和“销售额”右侧添加新列,并将标题命名为“RP Inc”和“RP Sl”。接下来,右键单击“RP Inc”下方的文本框,然后选择“表达式”选项。为了更好地理解报表,我建议您参考 SSRS 中的 图表、表格、分组 和 格式化表格 文章。
这将打开以下 SSRS 表达式窗口来计算运行百分比。要实现此目的,我们必须使用 RunningValue 和 Sum 函数。下面的 RunningValue 代码计算职业组中员工收入的运行总计。接下来,我们将每个点的运行总计除以组的总年收入,以计算每个职业组的运行百分比。
=RunningValue(Fields!YearlyIncome.Value, Sum, "Occupation") / Sum(Fields!YearlyIncome.Value, "Occupation")

右键单击“RP Inc”下方的文本框,然后选择“文本框属性”选项。接下来,将数字格式从“默认”更改为“百分比”,并添加两个小数位。它将添加百分比符号。

类似地,右键单击“RP Inc”下方的文本框。接下来,编写下面的 SSRS 表达式,以查找每个职业组员工销售额的运行百分比。
=RunningValue(Fields!Sales.Value, Sum, "Occupation") / Sum(Fields!Sales.Value, "Occupation")
请单击预览选项卡,查看每个职业组员工年收入和销售额的运行百分比。有关更多功能 >> 点击此处!

我将创建另外两列,并将它们命名为 TRP Inc 和 Var TRP Sl,以计算整个表的运行百分比。为此,您必须将组名(“Occupation”)替换为表(“Tablix1”)或数据集名称(“DSet”)。首先,为 TRP Inc 标题下的文本框添加下面的表达式。接下来,将文本框的数字属性格式化为百分比。
=RunningValue(Fields!YearlyIncome.Value, Sum, "DSet") / Sum(Fields!YearlyIncome.Value, "DSet")
同样,为 TRP Sl 标题下的文本框编写下面的 SSRS 表达式,以查找员工销售额的运行百分比。再次,将文本框的数字属性格式化为百分比。
=RunningValue(Fields!Sales.Value, Sum, "DSet") / Sum(Fields!Sales.Value, "DSet")
下面的报表计算了每个职业组以及完整员工表的收入和销售额列的运行百分比。

下面的两个表达式计算了完整职业组相对于表的运行百分比。
=FormatPercent(Sum(Fields!YearlyIncome.Value, "Occupation") / Sum(Fields!YearlyIncome.Value, "DSet"), 2)
=FormatPercent(Sum(Fields!Sales.Value, "Occupation") / Sum(Fields!Sales.Value, "DSet"), 2)
报表预览显示了相同的结果。

使用下面的表达式在每个职业组的“每组运行百分比”行中显示 100%。
=FormatPercent(Sum(Fields!YearlyIncome.Value, "Occupation") / Sum(Fields!YearlyIncome.Value, "Occupation"), 2)
=FormatPercent(Sum(Fields!Sales.Value, "Occupation") / Sum(Fields!Sales.Value, "Occupation"), 2)