我有一个由 CommentDateTime、CommentCode、Comment 和 CommentKey 组成的数据集。每个 CommentCode 有多个评论,但我只希望为每个 CommentCode 创建的第一个评论显示在我的报告中。
有没有办法做到这一点?
我是 SSRS 的新手,所以如果我没有很好地解释我的问题,我很抱歉。
我有一个由 CommentDateTime、CommentCode、Comment 和 CommentKey 组成的数据集。每个 CommentCode 有多个评论,但我只希望为每个 CommentCode 创建的第一个评论显示在我的报告中。
有没有办法做到这一点?
我是 SSRS 的新手,所以如果我没有很好地解释我的问题,我很抱歉。
除非我遗漏了什么,否则最好在您的数据集查询中执行此操作,以便只返回第一条评论,而不是向报告发送大量数据,然后编写表达式将其过滤掉。
就像是
SELECT a.CommentDateTime, a.CommentCode, a.Comment, a.CommentKey
FROM (
SELECT
CommentDateTime, CommentCode, Comment, CommentKey,
ROW_NUMBER() OVER(PARTITION BY CommentCode ORDER BY CommentDateTime) as RowN
FROM @myTable
) a
WHERE a.RowN = 1
这假设 CommentKey 对于每个评论都是唯一的。其中 a.RowN = 1