Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi 在DAX Power BI中满足条件后自动递减/递增秩_Powerbi_Dax_Powerbi Desktop_Measure - Fatal编程技术网

Powerbi 在DAX Power BI中满足条件后自动递减/递增秩

Powerbi 在DAX Power BI中满足条件后自动递减/递增秩,powerbi,dax,powerbi-desktop,measure,Powerbi,Dax,Powerbi Desktop,Measure,我有一个用Power BI编写的度量,如下所示,我根据最近性对日期进行了排名,其中1将是最近日期的排名。 当有2个日期时,此度量给出正确的结果,但当有3个日期时,它始终将日期的参考值保持为最小值,并进行计算。下面的示例 Snapshot Date Overdue Total Diff 5/09/2020 $88,786 $88,786 7/09/2020 $87,434 -$1,352 9/09/2020 $90,123

我有一个用Power BI编写的度量,如下所示,我根据最近性对日期进行了排名,其中1将是最近日期的排名。 当有2个日期时,此度量给出正确的结果,但当有3个日期时,它始终将日期的参考值保持为最小值,并进行计算。下面的示例

Snapshot Date   Overdue Total   Diff
5/09/2020       $88,786         $88,786
7/09/2020       $87,434        -$1,352
9/09/2020       $90,123         $86,097 
是否有一种方法可以移动等级,并在满足条件时将最小日期增加1。所以我得到秩1-秩2,然后秩2-秩3,依此类推

Diff = 
VAR MAX_DATE=min('Account and SA'[Date Rank])

VAR PREV_VAL=
CALCULATE(
    sum('Account and SA'[Overdue(Total)]),
    FILTER(
        ALLSELECTED('Account and SA'),
        'Account and SA'[Date Rank] > MAX_DATE
    )
)

return
sum('Account and SA'[Overdue(Total)])-PREV_VAL

如果您要查找当前行过期与上一个可用日期之间的差异,可以使用以下度量-

Diff = 

VAR previous_date =
CALCULATE(
    MAX('Account and SA'[Snapshot Date]),
    FILTER(
        ALL('Account and SA'),
        'Account and SA'[Snapshot Date] < MIN('Account and SA'[Snapshot Date])
    )
)

VAR previous_date_overdue =
CALCULATE(
    MAX('Account and SA'[Overdue Total]),
    FILTER(
        ALL('Account and SA'),
        'Account and SA'[Snapshot Date] = previous_date 
    )
)

RETURN MIN('Account and SA'[Overdue Total]) - previous_date_overdue 
Diff=
VAR上一个日期=
算计(
MAX('账户和SA'[快照日期]),
滤器(
所有(“账户和SA”),
'帐户和SA'[快照日期]
如果要查找当前行过期时间与以前可用日期的差异,可以使用以下度量值-

Diff = 

VAR previous_date =
CALCULATE(
    MAX('Account and SA'[Snapshot Date]),
    FILTER(
        ALL('Account and SA'),
        'Account and SA'[Snapshot Date] < MIN('Account and SA'[Snapshot Date])
    )
)

VAR previous_date_overdue =
CALCULATE(
    MAX('Account and SA'[Overdue Total]),
    FILTER(
        ALL('Account and SA'),
        'Account and SA'[Snapshot Date] = previous_date 
    )
)

RETURN MIN('Account and SA'[Overdue Total]) - previous_date_overdue 
Diff=
VAR上一个日期=
算计(
MAX('账户和SA'[快照日期]),
滤器(
所有(“账户和SA”),
'帐户和SA'[快照日期]
最后一行的Diff列中是否需要2689美元?最后一行的Diff列中是否需要2689美元?我做了以下更改,现在可以使用了。非常感谢。如果添加mor快照,它会起作用吗?Diff1=VAR previous_date=CALCULATE(最大('账户和SA'[快照日期])、FILTER(全部('账户和SA')、'账户和SA'[快照日期])