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

时间:2016-02-16 19:39:16

标签: dax powerbi

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

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

enter image description here

现在,我想创建一个新的公式,该公式采用这种趋势的月月(MoM)方差,如下所示:

enter image description here

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

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

如何创建一个衡量“DistinctCountActiveMonths'”的月度差异的度量标准。测量

我创建了一个与收入表的日期列相关的附加日期表:

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" ))

现在我应该能够将这两个表联系起来,以创建月比差异。

2 个答案:

答案 0 :(得分:0)

PREVIOUSMONTH(),与DAX中的所有内置时间智能功能一样,需要具有连续,非重复日期的正确日期维度,从您拥有数据的第一年的1月1日到您拥有的最后一年的12月31日数据

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

答案 1 :(得分:0)

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

  1. 创建一个中间计算列,其中包含上个月的有效发布商:

    LM Active Pubs = CALCULATE([A​​ctive Pubs],DATEADD(' Net Rev 09-14' [Date], - 1,MONTH))

  2. 减去当前月份" Active Pubs"来自上个月的活跃出版商:

    Active Pubs的变化= [Active Pubs] - [LM Active Pubs]