Power BI (DAX):计算测量字段的 MoM 方差

Power BI (DAX): Calculating MoM Variance of a Measure Field

我有一个度量公式,它采用 table 并将其转换为不同客户的每月计数:

Active Publishers =
CALCULATE(
DISTINCTCOUNT( 'Net Revenue Data'[Publisher Name] ),
'Net Revenue Data'[Active Month] = 1)

现在,我想创建一个新公式来计算该趋势的月环比 (MoM) 方差,如下所示:

这是我试图获得每月净变化的公式:

Net Change = 'Net Revenue Data'[Active Publishers] - 
CALCULATE('Net Revenue Data'[Active Publishers], 
PREVIOUSMONTH('Net Revenue Data'[Date (Month)]))

如何创建一个采用 'DistinctCountActiveMonths' 度量的月度方差的度量?

我创建了一个额外的日期 table 来与收入 table 的日期列相关:

Date Table = 
ADDCOLUMNS(CALENDAR("1/1/2000","12/31/2025"),"DateAsInteger",FORMAT([Date],"YYYYMDD"),  "Year",YEAR([Date]),  "MonthNumber",FORMAT([Date],"MM"),"YearMonthNumber",FORMAT([Date],"YYYY/MM"),"Ye arMonthShort",FORMAT([Date],"YYYY/mmm"),"MonthNameShort",FORMAT([Date],"mmm"),"MonthNameLong",FORMAT([Date],"mmmm"),"DayOfWeekNumber",WEEKDAY([Date]),"DayOfWeek",FORMAT([Date],"dddd"),"DayOfWeekShort",FORMAT([Date],"dddd"),"Quarter","Q"&FORMAT([Date],"Q"),"YearQuarter", FORMAT ( [Date], "YYYY" ) & "/Q" & FORMAT ( [Date], "Q" ))

现在我应该能够将这两个 table 关联起来以创建月环比差异。

PREVIOUSMONTH(),就像 DAX 中的所有内置时间智能函数一样,需要一个适当的日期维度,该维度具有连续的、不重复的日期,从您有数据的第一年的 1 月 1 日到去年的 12 月 31 日你有数据。

我不确定,看看您 post 上的标签,您使用的是 Excel 的加载项还是 Power BI 桌面程序。如果 Excel,Power Pivot 菜单中有一个选项 'Mark as date table',您应该始终在表格模型中执行此操作。如果 Power BI desktop,此功能尚不可用,因此您必须直接在日期字段上创建日期维度和事实 table 之间的关系,而不是在某些代理键上。

此问题的一个解决方案需要 2 个步骤:

  1. 创建一个包含上个月活跃发布者的中间计算列:

    LM 活跃 Pubs = CALCULATE([活跃 Pubs],DATEADD('Net Rev 09-14'[日期],-1,MONTH))

  2. 从上个月的活跃发布者中减去当前月份 "Active Pubs":

    活跃 Pub 的变化 = [活跃 Pub]-[LM 活跃 Pub]