我正在尝试计算去年上个月的通知数量。例如, 我们现在是 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
它给了我空白而不是数字
我觉得你的滤镜不对。
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)
)