122_Power Pivot&Power BI不连续日期的日环比

焦棚子 2020-03-0313:40:03
评论
2,6913 1204字阅读4分0秒

焦棚子的文章目录

请在文末下载附件

 

一、背景

这两天有朋友在交流,dax中使用时间智能函数写日环比,一个 dateadd 就可以了。但是有些业务不是每天都连续发生的,比如股票,周末就没数据,要环比上一个日期就不太好使了。诸如此类业务不连续的业务如何写日环比呢?

二、数据源

122_Power Pivot&Power BI不连续日期的日环比

需求:

计算: test表中每天value与上一日期的变化百分比;

说明: 由于日期是非连续, 有空值;

例如: 2019/6/10需要取2019/6/6号的值做除法运算。

感谢Q友 AlbertYc 提供素材。

三、DAX

1、基础度量total

total = SUM(Test[Value]) 

2、过程度量previous_date,不连续日期的前一天,n可以控制前n天,实际操作不用写,案例演示需求写一下。

previous_date = 
//计算不连续日期的前n天date
var n=1
var date1=max('Test'[Date])
var date2=filter(all('Test'[Date]),'Test'[Date]<date1)
var date3=topn(n,date2,'Test'[Date],DESC)
return
date3

3、过程度量previous_date(同上2)

previous_total = 
//计算不连续日期的前n天的值
var n=1
var date1=max('Test'[Date])
var date2=filter(all('Test'[Date]),'Test'[Date]<date1)
var date3=topn(n,date2,'Test'[Date],DESC)
var pt=calculate('calendar'[total],'calendar'[Date]=date3)
return
pt

4、最终需求日环比度量previous_dod

previous_dod = 
//计算不连续日期的前n天占比
var n=1
var date1=max('Test'[Date])
var date2=filter(all('Test'[Date]),'Test'[Date]<date1)
var date3=topn(n,date2,'Test'[Date],DESC)
var pt=calculate('calendar'[total],'calendar'[Date]=date3)
return
if(pt=BLANK(),BLANK(),divide('calendar'[total],pt)-1)

5、结果图

122_Power Pivot&Power BI不连续日期的日环比

四、总结

1、世上本无时间智能函数,大家用多了特定需求才有了时间智能函数(笔者自娱,该用还得用);

2、万变不离其宗的业务需求转换为DAX上下文,有什么需求就构建什么上下文;

3、本案例中主要利用 TOPN ,虽然日期不连续,但是可排序。

 

by焦棚子

焦棚子的文章目录

请点击【立即购买】或者【升级VIP】获得案例附件。

隐藏内容需要支付:¥5
立即购买 升级VIP

焦棚子
  • 除非特殊声明,本站文章均为焦棚子原创,转载请务必保留本文链接!
  • 《122_Power Pivot&Power BI不连续日期的日环比》链接:https://jiaopengzi.com/377.html
147_Power BI Report Server demo演示 Power BI

147_Power BI Report Server demo演示

焦棚子的文章目录 服务器地址:http://pbirs.jiaopengzi.com/reports 用户名:pbirs 密码:pbirs 请点击查看演示demo   分别用pc网页、pc桌...
145_Power BI Report Server自定义Form登录 Power BI

145_Power BI Report Server自定义Form登录

焦棚子的文章目录 请在文末下载附件 1、背景 很久没有更新Power BI Report Server了,发现自己机器还是2021年1月版本的,现在更新了2021年9月份版本了。刚好要更新服务器的内容...
144_Power Pivot贷款之等额本息与等额本金 Power Pivot

144_Power Pivot贷款之等额本息与等额本金

焦棚子的文章目录 请在文末下载附件 一、背景 买房贷款的时候会遇到等额本息与等额本金的问题,今天做了一个两者对比,看看如何选择,来一张对比图。 等额本息的前期还款压力较小,等额本金少还利息。 &nbs...