如何创建一个度量来计算上一年上个月的总和?

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

我正在尝试计算去年上个月的通知数量。例如, 我们现在是 2024 年 1 月,所以,我正在尝试计算 2022 年 12 月

发生的案例

我创建了一个度量,如下所示,但它一直给我一个空白值

此外,我有一个主日历 (MasterDate),我尝试计算的列是 (KPI 10 [超过 3 天),具有 1-1 关系

KPI 10 TB NO Days Over 3 Last Month Previous Year = 
var m = 
IF(MONTH(TODAY()) = 1,
    CALCULATE(SUM('KPI10'[DAYS OVER 3]), FILTER(MasterDate, MasterDate[Date] = MONTH(TODAY()) - 1), FILTER(MasterDate, MasterDate[Date] = YEAR(TODAY())-2)),
    CALCULATE(SUM('KPI10'[DAYS OVER 3]), FILTER(MasterDate, MasterDate[Date] = MONTH(TODAY()) - 1), FILTER(MasterDate, MasterDate[Date] = YEAR(TODAY())-1)))
return
m

它给了我空白而不是数字

powerbi dax measure
1个回答
0
投票

我觉得你的滤镜不对。

CALCULATE(
     SUM('KPI10'[DAYS OVER 3])
     , FILTER(MasterDate, MasterDate[Date] = MONTH(TODAY()) - 1)
     , FILTER(MasterDate, MasterDate[Date] = YEAR(TODAY())-2)
)

首先,MONTH() 和 YEAR() 返回整数,我假设 MasterDate[Date] 中的值可能是某种日期数据类型——所以这是行不通的。

接下来,您将计算 KPI10[DAYS OVER 3] 中满足两个条件的所有内容的总和:当

MasterDate[Date]
=
Today's Month - 1
时以及当
MasterDate[Date]
=
Today's Year - 2
时 ... 这两个条件不太可能两者都是真的,对吧?大多数情况下
Today's Month - 1
<>
Today's Year - 2


以不同的方式做这件事,省去一些麻烦。首先,认识到 1 年零 1 个月前 = 13 个月前。然后做这样的事情:

KPI 10 TB NO Days Over 3 Last Month Previous Year = 

CALCULATE(
    SUM('KPI10'[DAYS OVER 3])
    , PARALLELPERIOD(MasterDate[Date],-13,month)
)
© www.soinside.com 2019 - 2024. All rights reserved.