SSRS 2016 - 如何计算组中两个值之间的百分比差异?

SSRS 2016 - How to calculate a percentage difference between two values in a group?

我正在创建一个报告,显示日期 运行ge 之前和日期 运行ge 之后的商品销量。

我 运行 遇到麻烦的部分是日期 1 和日期 2 的总销售额之间的百分比差异。

商品在某一周内可以没有销售。 用户可以在项目 ID 参数中 select 多个项目 ID。

如果需要,我可以将问题更新为 post 我的 SQL 查询。

我试过的

因为我在项目 ID 上放置了一个组,所以我认为 FirstLast 函数会起作用。

这是我在 PCT 栏上的表达方式。

=(Last(Fields!total_sales1.Value, "Date1")- First(Fields!total_sales1.Value, "Date1")) / First(Fields!total_sales1.Value, "Date1") * 100

但是当我 运行 报告时,我得到以下结果。

我需要 PCT 列中的表达式,它会给出每个项目对的百分比差异。

看起来你的范围不正确。检查按项目 ID 分组的行组名称(假设行组名称为 "yourItemRowGroupName")。

然后更改您的表达式以使用该范围而不是 "Date1"。

事实上,您可能根本不需要范围,因为它应该在表达式所在的范围内工作(在您的情况下,在您的 ItemID 组中。)。

所以试试

=(Last(Fields!total_sales1.Value)- First(Fields!total_sales1.Value)) / First(Fields!total_sales1.Value) * 100

或者..

=(Last(Fields!total_sales1.Value, "yourItemRowGroupName")- First(Fields!total_sales1.Value, "yourItemRowGroupName")) / First(Fields!total_sales1.Value, "yourItemRowGroupName") * 100

您可能必须处理被零除的问题,但在添加任何复杂功能之前先尝试这个。