请在文末下载附件
一、背景
最近刚好在做一个简单同比预测的模型,预测方法很简单,就是累计同比预测,把MTD展示出来。
二、数据源
1、日期表:Calendar
2、事实表1:Data(基础数据)
3、事实表2:Target(目标)
4、关系视图
三、上DAX
2、度量值对应图示中元素
4、基础度量值:M001_AC
M001_AC = SUM('Data'[value])
5、关键度量值:M002_Forecast,同比预测。
M002_Forecast = VAR DAY_MAX = CALCULATETABLE ( LASTDATE ( 'Data'[dates] ), ALL ( 'Calendar' ) ) VAR DAY_MIN = CALCULATETABLE ( STARTOFYEAR ( 'Calendar'[Dates] ), ALLSELECTED ( 'Calendar' ) ) VAR DATE_AC = DATESBETWEEN ( 'Calendar'[Dates], DAY_MIN, DAY_MAX ) VAR DATE_PRE = DATESBETWEEN ( 'Calendar'[Dates], DATEADD ( DAY_MIN, -1, YEAR ), DATEADD ( DAY_MAX, -1, YEAR ) ) VAR MTD_AC = CALCULATE ( 'Measure'[M001_AC], DATE_AC ) VAR MTD_PRE = CALCULATE ( 'Measure'[M001_AC], DATE_PRE ) VAR YOY = DIVIDE ( MTD_AC, MTD_PRE ) VAR DAY_AC = MAX ( 'Calendar'[Dates] ) VAR PRE = CALCULATE ( 'Measure'[M001_AC], DATEADD ( 'Calendar'[Dates], -1, YEAR ) ) RETURN IF ( DAY_AC <= DAY_MAX, BLANK (), PRE * YOY )
6、M005_MTD_Forecast:同比预测月累计(MTD)折线显示度量值。
7、静态结果截图
四、总结
1、业务模型非常简单,采用累计同比预测法。
2、主要DAX驱动可视化的应用,对每个元素对应的DAX要充分理解
3、注意观察ALL和ALLSELECTED函数的使用位置,
4、日期的判定,注意观察'Calendar'[Dates]与 'Data'[dates]使用位置。
by焦棚子
请点击【立即购买】或者【升级VIP】获得案例附件。
评论