如何使用DAX计算最近6个冲刺的值总和

时间:2018-11-06 02:51:26

标签: powerbi dax

问题:
我需要在DAX中计算得出的量度,将最后6个冲刺的“值”列相加。我将DimSprintEndDateKey上的最后6个冲刺按降序排列。

PowerBI中的表结构

我正在使用的DAX:

CALCULATE (
    SUM ( factSprint[Value] ),
    FILTER (
        ALL ( factSprint ),
        COUNTROWS (

        topn(6,

            FILTER (
                factSprint,
                EARLIEST( RELATED ( dimSprint[DimSprintEndDateKey] ) )
                    > RELATED ( dimSprint[DimSprintEndDateKey] )
            ),RELATED ( dimSprint[DimSprintEndDateKey] ), DESC


            )

        )
    )
)

1 个答案:

答案 0 :(得分:0)

我假设您表上的关系在'dimSprint'[dimSprintKey]'FactSprint'[dimSprintKey]之间。

在这种情况下,此措施可能对您有用。

Total Value Last Six Sprints =
VAR endDateSprint =
    LOOKUPVALUE (
        'dimSprint'[dimSprintEndDateKey],
        'dimSprint'[dimSprintKey], SELECTEDVALUE ( 'FactSprint'[dimSprintKey] )
    )
VAR dimTableFiltered =
    FILTER ( 'dimSprint', 'dimSprint'[dimSprintEndDateKey] <= endDateSprint )
RETURN
    CALCULATE (
        SUM ( 'FactSprint'[Value] ),
        ALL ( 'FactSprint' ),
        TOPN ( 6, dimTableFiltered, [dimSprintEndDateKey], DESC )
    )

在矩阵视觉(或数据透视表)上使用它。请确保将'FactSprint'[dimSprintKey]'FactSprint'[SprintPK]放在行上,并将[最后六个冲刺总值]放在值上。