【发布时间】:2016-04-16 01:27:06
【问题描述】:
我们有一个输出表 A 的报表。我们将表 B 添加到报表模型中(我们将一些字段添加到表 B 的报表中),这是与表 A 的多对一关系。现在当我们运行报告中,我们得到了多行,这是意料之中的,因为表 A 和表 B 之间的关系。
问题是,我们只想在报表上显示表 B 的最新记录,基于“创建日期”。
我尝试设置一个 MAX(!fields.CreationDate)
但是当我做这样的事情时,我得到一个“不能使用聚合函数......”的错误。
如果这是针对 TableB 的 SQL 语句,则将按照以下方式仅显示最近的记录:
选择不同的 [ID]、[PID]、[InputDate]、[Changed_Date] 从 (选择 [ID]、[PID]、[InputDate]、[Changed_Date]、 dense_rank() over (按 PID order by Changed_Date desc 分区) 作为 MyRank 从表 B ) 作为 RankSelect 我的排名 = 1 按 PID 排序
这为我提供了 TableB 的最新记录。我知道从技术上讲我可以向报表模型添加视图或其他内容,但我不想这样做,因为另一个运行的报表可能需要 TableB 中所有记录的历史记录。所以我希望在不触及报表模型的情况下,以某种方式将上述结果合并到报表中。其中仅将 TableB 中的最新记录合并到报告中。 对于我们如何将报告限制为仅显示表 B 中的最新日期记录的任何帮助,我们将不胜感激。
【问题讨论】:
标签: reporting-services ssrs-2008 ssrs-2008-r2