DataSet - 如何从分组列中检索值?

问题描述 投票:0回答:1

我有返回数据的 SQL:

SELECT
dbo.TOWARY.TWR_NUMER AS INDEKS,
dbo.TOWARY.TWR_NAZWA AS NAZWA,
dbo.SL_JM.SLJM_KOD AS JM,
SUM (dbo.WAZENIA.WZN_ILOSC * dbo.WZN_CNY.WZNCNY_NETTO) / SUM (dbo.WAZENIA.WZN_ILOSC) AS CENA,
DATEPART(yyyy, dbo.ZAKUPY.ZKP_DATA_ZAKUPU) AS ROK,
dbo.MAGAZYNY.MG_KOD AS MG_KOD,
dbo.MAGAZYNY.MG_NAZWA AS MG_NAZWA,

ROW_NUMBER () OVER (
        PARTITION BY
        dbo.TOWARY.TWR_NUMER
       ORDER BY
       dbo.TOWARY.TWR_NUMER,
       DATEPART(yyyy, dbo.ZAKUPY.ZKP_DATA_ZAKUPU) DESC
) AS NUMER

enter image description here [韩国] - 年份的列数是可变的

我按以下方式对列进行分组:年份 [ROK] enter image description here

我想在它们之间划分年份,例如:2021/2020 2022/2021 2023/2022 (...) 对于行(示例 20001): 0,61 / 0,64 0,74 / 0,64 enter image description here

DataSet - 如何从分组列中检索值? 但我不知道如何从列(年份)中获取值?

%第一个/最后一个 =(First(Fields!CENA.Value, "INDEKS")-Last(Fields!CENA.Value, "INDEKS"))/Last(Fields!CENA.Value, "INDEKS")

问题已在帖子中描述

reporting-services
1个回答
0
投票

您可以使用

Previous()
来完成此操作。您必须有一个以您的名字命名的范围
Column Group
,在您的情况下,它可能被称为
ROK
,但可以通过查看主设计窗格下方的列组进行检查。名称区分大小写,并且必须用双引号引起来。

所以你的表情可能是这样的......

=(SUM(Fields!CENA.Value)) / (PREVIOUS(SUM(Fields!CENA.Value), "ROK")

这不会处理除法为零错误等,但它应该可以帮助您开始。

© www.soinside.com 2019 - 2024. All rights reserved.