您的位置 首页 > 天生丽质

【同比和环比的区别】118_Power Pivo周维度度同比、环比相关

博客:www.jiao

一、背景

在群里看到有人在交流周层面做东环比,又有好几天没有文章更新了,最近没有好题材,就硬着头皮写一个吧。(大卫亚设)。

先来看看结果图(ps:实现功能,美化靠天赋,反正我没什么天赋。)

关于中国式报表,有人喜欢方式一,也有人喜欢方式二,如果喜欢方式三就自己写吧。

二、数据源

数据源用M写的随机数据,共三张表。

1、【周几】

2、【calendar】

3、【data】

4、三张表的M

5、数据源M源码

/*data*/ let D = #table( type table[ date=date ,value=number ] ,Li( {0..364} ,(d)=> { Da(#date(2018,1,1))+d) ,Number.Round(1,1000),2) } ) ) in D /周几/ let 源 = #table( type table [ ID=In ,周几=text ] ,Li( {0…6} ,(d)=> { d , {“一”,“二”,“三”,“四”,“五”,“六”,“日”}{d} } ) ) in 源 /calendar/ let D = #date(2018,1,1), N = Number.From(D), C = #table( type table [ date=date ,weeknumber=In ,weekday=In ] ,Li( {0…364} ,(d)=> let r=Da(N+d) in { r , Da(r,1) ,Da(r,1) } ) ) in C


6、关系

三、上DAX

1、周同比

周同比 := VAR w = average ( 'calendar'[weeknumber] ) - 1 RETURN divide ( 'calendar'[total] - calculate ( 'calendar'[total], 'calendar'[weeknumber] = w ), calculate ( 'calendar'[total], 'calendar'[weeknumber] = w ) )

2、日环比

日环比 := var dc = lastdate ( 'calendar'[date] ) var dl = dateadd ( dc, -1, day ) var vl = calculate ( 'calendar'[total], 'calendar'[date] = dl ) return divide ( 'calendar'[total] - vl, vl )

3、result

result := VAR v = FORMAT ( 'calendar'[total], "0.00" ) VAR t = SWITCH ( TRUE (), 'calendar'[周同比] > 0, "同比:▲" & FORMAT ( 'calendar'[周同比], "0%" ), 'calendar'[周同比] < 0, "同比:▼" & FORMAT ( 'calendar'[周同比], "0%" ), "同比:▁" & FORMAT ( 'calendar'[周同比], "0%" ) ) VAR h = SWITCH ( TRUE (), 'calendar'[日环比] > 0, "环比:▲" & FORMAT ( 'calendar'[日环比], "0%" ), 'calendar'[日环比] < 0, "环比:▼" & FORMAT ( 'calendar'[日环比], "0%" ), "环比:▁" & FORMAT ( 'calendar'[日环比], "0%" ) ) RETURN SWITCH ( TRUE (), 'calendar'[周同比] = BLANK () &&'calendar'[日环比] = BLANK (), v, 'calendar'[周同比] = BLANK (), CONCATENATE ( v, "|" & h ), 'calendar'[日环比] = BLANK (), CONCATENATE ( v, "|" & t ), CONCATENATE ( v, "|" & t & "|" & h ) )

四、总结

1、dax没有什么难度,主要是上周和前一天的筛选上下创建;

2、中国式报表:主要是利用文本连接(度量值:result);

3、本案例中只体现了2018年一年的周,如果需要多年的话,只需要创建weeknumber的索引即可。


by焦棚子

焦棚子的文章目录

关于作者: admin

无忧经验小编鲁达,内容侵删请Email至wohenlihai#qq.com(#改为@)

热门推荐