如何从 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
。
在 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
。