dax-自定义周做同比和环比

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dax-自定义周做同比和环比相关的知识,希望对你有一定的参考价值。

中国式报表:公司要指定财务月做月度周期,然后还要切分周,要做同比和环比。查了一些老师的文章和资料,发觉都没有现在要求的这么复杂。于是只好用很笨的办法去写了公式,至少看起来是需求的样子了,后续有没有bug还暂时没有发现,等到越做越多的时候可能就会发现弊端了吧。
写博记录一下(怕久了自己都忘记写的什么公式,顺便督促一下自己要好好努力充电)。
技术分享图片
首先要处理date表,给日期划分好周。
如果是常规没有特殊要求的周可以用weeknum(‘date‘[日期],2),但是这里是要用财务月要求划分周。(2016/12/26是2017年的第一周,2017/12/25是2018年的第一周,2018/12/24是2019年的第一周),所以这个函数无效了。
网上查到的思路是:先计算出星期几(=weekday(‘date‘[日期],2)),然后再找出每个星期一的日期来填充(=CALCULATE(MAX(‘date‘[日期]),FILTER(‘date‘,‘date‘[星期]=1&&‘date‘[日期]<=EARLIER(‘date‘[日期]))))
技术分享图片
我这里是从第一周日期开始的,如果第一个日期后面计算出来的星期不是1,那么辅助周就是空。
下面要开始计算周,网上查到的老师是直接rankx排序,跨年也直接延续下去,那我的要视觉是跨年又返回第一周,所以我自己手动做了。
技术分享图片
技术分享图片
手动把周分出来了,其实感觉跟excel写函数一样,硬来的。
顺便再硬来把年份和月份都写一下,就ok了
下面开始写同比和环比,如果单单是统计销售额,sum就可以,按年、周,没问题,但是要同比,环比,还有趋势图。我就只会单独写2018年销售额,然后2017年销售额,再是2018年上周的销售额。比较笨的办法只会这样写了。
技术分享图片
同比就好了。其实同比思路比较好写,year-1,其他方法写也没什么问题。
比较麻烦的是环比,没法周-1,因为会有第一周,没的减,所以我在date上重新写了个上周和上周的年份来辅助,然后用USERELATIONSHIP来激活关系。
因为刚才看到上面做周的图,最后一周都是第52周,如果不是第52周我也没想好要怎么写(如果真要做,我会直接在excel里写好,省的麻烦,哈哈哈)
技术分享图片
技术分享图片
dax写自定义周的同比和环比就结束了。(date这样写好麻烦,还不如在excel自定义好,用vlookup直接模糊匹配好来的快。)
看一下完成的样子。
技术分享图片

技术分享图片

以上是关于dax-自定义周做同比和环比的主要内容,如果未能解决你的问题,请参考以下文章

Hive之同比环比的计算

数据可视化之DAX篇(十三)熟练使用FORMAT函数,轻松自定义数据格式

PowerBI开发 第十四篇:DAX 表达式(时间+过滤+关系)

DB2同比环比

SAP采购订单价格的同比、环比,如何查询?

实现同比环比计算的N种姿势