如何从 ssrs 中的数据集中获取倒数第二行?

How to get penultimate row from dataset in ssrs?

SSRS 中,如果我可以 select 第一行使用 = First(Fields!PropertyName.Value,"Dataset1") 和最后一行元素使用 =Last(....).

谁能告诉我如何才能 select 倒数第二 元素?

我认为您可以通过在报告中插入自定义 vb 代码来直接做到这一点。我不确定你是否会 return 这个问题,所以考虑一个快速的解决方法,我提出了这个:

向数据集查询添加行号,可以使用ROW_NUMBER()函数实现。

select
   ROW_NUMBER() OVER (Order by Region) as row,
   *
from CTE

现在可以使用SSRS提供的lookup功能了。使用此函数,我正在检索倒数第二行的数量值。

=Lookup(Last(Fields!row.Value, "DataSet2")-1,Fields!row.Value,Fields!Qty.Value,"DataSet2")

我找到最后一个行号并减去​​一个得到倒数第二个,当找到行时我得到数量列值,在我的例子中 Fields!Qty.Value