reporting-services - SSRS 2016 - 如何计算组中两个值之间的百分比差异?
问题描述
我正在创建一个报告,显示日期范围之前和日期范围之后的商品销售情况。
我遇到麻烦的部分是日期 1 和日期 2 的总销售额之间的百分比差异。
商品在某一周内可能没有销售。用户可以在项目 ID 参数中选择多个项目 ID。
如果需要,我可以更新问题以发布我的 SQL 查询。
我试过的
因为我在项目 ID 上放置了一个组,所以我认为First
andLast
函数可以工作。
这是我在 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
您可能必须处理除以零,但在添加更多复杂情况之前先尝试此操作。
推荐阅读
- dns - 谷歌浏览器无法打开 flowər.com
- sftp - 如何在 WinSCP 中生成传输代码/脚本
- google-apps-script - 降级后升级到 Apps Script 新 IDE
- ms-word - 在设计模板时,如何创建一个虚拟文本,就像微软原始模板中的那些?
- tensorflow - InvalidArgumentError:缩减轴 0 在形状 [0] 中为空
- python - Twitch api 访问令牌问题
- node.js - 无法安装 vue-cli,找不到匹配的版本
- javascript - 如何使用异步函数作为 jest.mock 的第二个参数?
- javascript - 在使用 Js 的 Click 事件之后,从 forEach 循环中获取特定值
- mysql - 字符串、字符串(255)还是 VARCHAR(255)?