仅显示报告中的最新记录

Display Only the Most Current Record on Report

我们有一个输出 Table A 的报表。我们在报表模型中添加了 Table B(我们在 Table B 的报表中添加了一些字段),这是一个与 Table A 的多对一关系。现在当我们 运行 报告时,我们得到多行,这是预期的,因为 Table A 和 TableB.

问题是,我们只想在报告上显示Table B的最新记录,基于"creation date"。

我尝试设置一个 MAX(!fields.CreationDate)

我找到了如下信息:https://social.msdn.microsoft.com/forums/sqlserver/en-US/2bc16c90-21d6-4c03-a17f-4a5922db76fe/displaying-records-by-max-date-in-ssrs

但是当我这样做时,我得到一个 "cannot use aggregate function......" 错误。

如果这是针对 TableB 的 SQL 语句,它将沿着这些行仅显示最近的记录:

SELECT 不同 [ID]、[PID]、[输入日期]、[Changed_Date] 从 (SELECT [ID], [PID], [输入日期], [Changed_Date], dense_rank() 超过(按 Changed_Date desc 按 PID 顺序分区)作为 MyRank 来自 TableB ) 作为 RankSelect 我的等级 = 1 按 PID 排序

这为我提供了 TableB 的最新记录。我知道从技术上讲我可以向报告模型添加视图或其他内容,但我不想这样做,因为另一个报告 运行 可能需要 TableB 中所有记录的历史记录。所以我希望在不触及报告模型的情况下,以某种方式将上述结果合并到报告中。其中只有来自 TableB 的最新记录被合并到报告中。 对于如何将报告限制为仅显示来自 Table B.

的最新日期记录,我们将不胜感激

对于您的 table B,为 CreationDate 设置一个 FILTER基于 数据集MAX 日期。

这将仅显示 CreationDate 与数据集中的 MAX CreationDate 匹配的记录。

我找不到在报表本身中过滤数据的解决方案,因此我从报表模型中删除了 TableB 并将其替换为仅 returns 链接的最新记录的 TableB 视图到表A。不太理想,据我所知,在某些时候他们会要求 TableB 向 "show all entries" 提交报告,但稍后会通过那座桥:-)