Reporting services 在汇总的SSRS组中包含一次值
我有一个数据源,它正在提取事件出席信息,如下表所示 请注意,一次预订可能包含多个与会者,从而导致Reporting services 在汇总的SSRS组中包含一次值,reporting-services,Reporting Services,我有一个数据源,它正在提取事件出席信息,如下表所示 请注意,一次预订可能包含多个与会者,从而导致金额列重复 +------------+-----------+---------------+----------+ | Date | Booking | Booking Price | Attendee | +------------+-----------+---------------+----------+ | 01/01/2011 | Booking 1 | £
金额
列重复
+------------+-----------+---------------+----------+
| Date | Booking | Booking Price | Attendee |
+------------+-----------+---------------+----------+
| 01/01/2011 | Booking 1 | £300.00 | Alice |
| 01/01/2011 | Booking 1 | £300.00 | Bob |
| 01/01/2011 | Booking 1 | £300.00 | Dave |
| 01/01/2011 | Booking 2 | £200.00 | Frank |
| 01/01/2011 | Booking 2 | £200.00 | Julie |
| 02/01/2011 | Booking 3 | £100.00 | Anne |
+------------+-----------+---------------+----------+
报告的结尾应该是这样的:
+------------+-----------+---------+
| Date | Booking | Amount |
+------------+-----------+---------+
| 01/01/2011 | Booking 1 | £300 |
| | Alice | |
| | Bob | |
| | Dave | |
+------------+-----------+---------+
| | Booking 2 | £200 |
| | Frank | |
| | Julie | |
+============+===========+=========+
| TOTAL FOR 01/01/2011 | £500 |
| |
| |
+============+===========+=========+
| 02/01/2011 | Booking 3 | £100 |
| | Anne | |
+============+===========+=========+
| TOTAL FOR 02/01/2011 | £100 |
| |
| |
+============+===========+=========+
(这几乎耗尽了我的ascii艺术桌技能!)
我遇到的问题是,由于为每个委托显示的是金额,聚合函数会将其全部计算在内,因此2011年1月1日的日期显示为1300英镑,而不是500英镑
我不需要与会者旁边的任何值,因此我可以将其拉入单独的数据集中,但我似乎无法将表格添加到tablix单元格中,因此不知道该如何工作。SSRS的版本在这里是关键。在SSRS 2008R2中,您现在可以嵌套聚合函数:
因此,这将是一个有效的表达式:
=SUM(FIRST(Fields!BookingPrice.Value , "BookingGroupName") , "DateGroupName")
如果您还没有使用2008R2,那么您可以使用嵌入式代码执行一些技巧,以保持运行总数:
这里的关键是,每个组向嵌入代码中的总数添加一次。然后检索总数,并在组末尾将其清除 我想我们不是R2,我得检查一下。我记得之前做过类似于Crystal Reports中的其他建议——基本上是一种“if row=1,然后添加否则跳过”R2为Reporting Services添加了许多功能,如果您计划进行大量SSRS开发,升级可能是值得的。从2008年到2008年R2的功能添加/更改比从2008年R2到SQL Server 2012的功能添加/更改更多。太棒了!虽然我不得不使用“Max”函数而不是第一个。不幸的是,这似乎与总计不起作用。思想?