我在Power BI中使用DAX来计算迄今为止的上个月销售总额,以创建KPI视觉效果。即如果今天是12月7日,那么我想从11月1日到11月7日获得销售总额,并与当前月份进行比较。
CurrentMTD = TOTALMTD(SUM(SALES_VOUCHERS[SaleValue]),DatesTable[Date])
这很好用。 然而,上个月的年初至今给出了整个11月份的总和。到目前为止我已尝试过以下内容
PMYTD = totalmtd(sum(SALES_VOUCHERS[SaleValue]),dateadd(DATESMTD(DatesTable[Date]),-1,month))
和
PMYTD = CALCULATE(sum(SALES_VOUCHERS[SaleValue]),
DATESBETWEEN(DatesTable[Date],
FIRSTDATE(PREVIOUSMONTH(DatesTable[Date])),
LASTDATE(DATEADD(DatesTable[Date],-1,MONTH))))
两者都返回相同的答案,这是整个上个月的总和。 如果我只是在上述版本之间的日期中硬编码开始和结束日期,那么我确实得到了所需的结果。但这不是解决方案。
我已将事实表(Sales_VOUCHERS)与DatesTable相关联,截至目前,报告页面上没有其他视觉效果。 请帮助我错过的内容以及如何获得上个月的年度总数
答案 0 :(得分:0)
如果您在月份级别进行汇总(即您查看2016年12月与2016年11月),那么您上面的衡量标准将显示12月整月与整月相比十一月(自十二月起是部分月份而十一月不是,它会导致您看到的不匹配)。
如果您过滤到当前日期(例如12月7日),那么您的MTD和上个月MTD指标都只会显示相应月份的第7天。
假设您不想过滤到日期级别(不合理),您可以增强公式以过滤掉未来日期。例如:
PMYTD = totalmtd(
sum(SALES_VOUCHERS[SaleValue]),
dateadd(
FILTER(
DATESMTD(DatesTable[Date]),
DatesTable[Date]<TODAY()
),
-1,
month
)
)
这就是说,如果日期是在今天之后,请不要将其传递给TOTALMTD计算(因此它只计算一个月的前7天,例如,如果今天是12月8日 - 即使您和#39;重新审视报告的完整月份。
旁注:您还可以编写上个月的衡量指标,以重新使用您的MTD指标,而不是重新定义它。这样,如果您更改了MTD计算,则先前的MTD计算会自动更新。
PMYTD = CALCULATE(
[CurrentMTD],
DATEADD(
FILTER(
DatesTable[Date],
DatesTable[Date]<TODAY()
),
-1,
MONTH
)
)
有用的资源: