怎么做蒙特卡洛计算npv_PowerBI非标准日历下的同比环比计算,你知道怎么做吗?...

de73c9994677306a757d1a5ec1a6f037.png

​对于按照自然年月日来分析的业务数据,在PowerBI中可以轻松的使用时间智能函数来进行各种时间指标的计算,但如果不是按标准的日历,很多人就开始有点懵,不知道该如何计算了。

比如有的公司的业务月份是从26号到下个月的25号,如何计算本月收入和上月收入呢?

这种还比较简单,虽然不是标准的日历,其实还是很日历相关的,只是错位了几天而已,可以构建一个业务日历表,然后还是可以用时间智能函数来计算。

考虑个更加不标准的业务日历,假如某公司是按25天为一个业务周期,这种情况下,完全和自然的年月没有关系,时间智能函数无法使用,如何计算本期、上期、环比等指标呢?

这篇文章就来给你一个普遍意义上的时间指标计算思路。

以业务周期25天为例,首先根据业务的周期,在日期表中添加业务周期的字段,如下图,

2e0604c2a9f95c5e689b0c0e26d10e0c.png

添加了两个字段,其中一个是文本的期间P1、P2等,便于阅读,另外一个是数值的期数1、2……,便于排序以及不同期间的逻辑运算。

依然用这个表的日期与业务数据表的订单日期建立关系,

c4aef68dea37344bb386265c866b2679.png

先写一个基础度量值:

收入 = SUM('订单表'[销售额])

下面就用度量值来计算几个常用的时间指标。

上期

收入 上期 =

VAR _period=SELECTEDVALUE('日期表'[期数])

RETURN

CALCULATE(

[收入],

FILTER(

ALL('日期表'),

'日期表'[期数]=_period-1

)

)

这个度量值的逻辑是,先利用VAR找到当前上下文的期数,然后在日期表中,找出比当前期数少一期的日期,并用这些日期筛选订单表中的对应订单日期的业务,求和即为上一期的收入。

这里用到的函数组合:

VAR+CALCULATE+FILTER+ALL

它是非常经典的DAX套路,在很多场合都会用到,即使还不理解也要先记住它,建议你重复练习直至彻底掌握。

有了上期数据,计算同比就很简单了,

同比 = DIVIDE([收入]-[收入 上年同期],[收入 上年同期])

结果如下:

df780fcdd35b1733b4f8b68f69d3a7f4.png

同理还可以计算上年同期,不过这里假设的是25天一个业务月度周期,并没有上年的概念,不如再假设一个业务年度,仍然以12期为一年,那么上年同期就可以这么计算。

上年同期

收入 上年同期 =

VAR _period=SELECTEDVALUE('日期表'[期数])

RETURN

CALCULATE(

[收入],

FILTER(

ALL('日期表'),

'日期表'[期数]=_period-12

)

)

仔细观察就会发现,上年同期的度量值和上期的度量值非常相似,只是把 "_period-1" 替换为 "_period-12" 而已。

自然日历的计算不是同样如此吗,上月是本月之前1个月的月份,而上年同期就是本月往前推12个月的月份。

同比 = DIVIDE([收入]-[收入 上年同期],[收入 上年同期])

结果如下:

baafb504119a0f1c59d89c4fef04962d.png

看以上几个度量值,好像没有用到日期,只用到期数,这是因为上面的计算粒度都是按"期"计算,并没有按"日"计算。

假设计算本期至今的数据,应该怎么写呢?

本期至今

收入 本期至今 =

VAR _period=SELECTEDVALUE('日期表'[期数])

VAR _date=MAX('日期表'[日期])

RETURN

CALCULATE(

[收入],

FILTER(

ALL('日期表'),

'日期表'[期数]=_period

&&'日期表'[日期]<=_date

)

)

本期至今的逻辑就是期数和当前上下文的期数相等,但小于等于当前日期的订单销售额之和。

所以用了两个变量来分别获取当前上下文的期数和日期。

结果如下:

e594f27d50e1463e71ad5d3266825838.png

通过上面几个时间指标的计算,你是不是已经知道非标准日期的计算逻辑了呢,其实这才是最普遍意义上的时间指标计算,就是根据业务的逻辑,按条件筛选汇总而已。

时间智能函数内部也是这样的逻辑,比如本月至今,有个时间智能函数是DATESMTD,它内部的运行逻辑依然是:

收入 本月至今 =

VAR _month=SELECTEDVALUE('日期表'[月份])

VAR _date=MAX('日期表'[日期])

RETURN

CALCULATE(

[收入],

FILTER(

ALL('日期表'),

'日期表'[月份]=_month

&&'日期表'[日期]<=_date

)

)

这个度量值和上面的本期至今,除了把 [期数] 替换为 [月份] ,其他完全一致;等于当前月份,但小于等于当前日期的数据之和不就是本月至今吗?

把常用时间维度的业务计逻辑进行封装,就形成了时间智能函数,大家平时只知道用,因为很方便,只要能计算出结果,就不去深入理解时间智能函数到底是如何工作的,这导致了实际业务中,日历稍微一变化,就不知道怎么计算了。

如果彻底理解了这些计算逻辑,并学会利用本文的DAX思路,再碰到各种奇葩日历的时间指标计算,都可以迎刃而解。

其实之前写过的按周分析的思路,同样的计算逻辑:

学会了这个思路,你也可以轻松进行周分析!


-精彩推荐-

使用日期制作Power BI切片器,竟然这么好用!

认识Power BI这个炫酷的图表:旭日图

分析报告还不会用动态分析?利用Power BI参数轻松实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pvz安卓服务器维修礼包码,植物大战僵尸2礼包兑换码大全2020最新版

植物大战僵尸2礼包码2020最新版是一款能够让玩家体验烧脑塔防大战的放置游戏&#xff0c;拥有经典的游戏规则设计&#xff0c;带来的玩法也会让每个玩家体验最为精彩的体验&#xff0c;每个僵尸都有着自己的特性&#xff0c;游戏之中的每一种植物都有自己的战斗方式&#xff0c…

【牛客 - 330F】Applese 的QQ群(拓扑排序,二分)

题干&#xff1a; Applese 有一个QQ群。在这个群中&#xff0c;大家互相请教问题。如 b 向 a 请教过问题&#xff0c;就把 a 叫做是 b 的"老板"。这样一个群中就会有很多老板。 同时规定&#xff1a;如果 a 是 b 的老板&#xff0c;b 是 c 的老板&#xff0c;那么…

安卓用于组件传递参数的对象是_入门篇:7.组件2:Android Service-service的数据传递与通信...

(由于对java的回调机制和线程理解的不够透彻&#xff0c;所以这块内容我理解了好久&#xff0c;尤其是绑定服务传递数据&#xff0c;一句一句写一句一句看&#xff0c;对我来说挺难理解的。以后还要多看几遍&#xff0d;&#xff0d;&#xff01;)既然单纯的启动或跳转activity…

【牛客 - 330G】Applese 的毒气炸弹(最小生成树,构造,判连通图)

题干&#xff1a; 众所周知&#xff0c;Applese 是个很强的选手&#xff0c;它的化学一定很好。 今天他又AK了一套题觉得很无聊&#xff0c;于是想做个毒气炸弹玩。 毒气炸弹需要 k 种不同类型元素构成&#xff0c;Applese一共有 n 瓶含有这些元素的试剂。 已知元素混合遵循…

服务器风扇一直高速转系统起不来,【案例】别克君越风扇启动后一直高速常转 维修案例...

故障诊断启动车辆&#xff0c;冷车时风扇正常&#xff0c;当温度达到正常温度后&#xff0c;节温器打开风扇一直常转&#xff0c;客户描述的问题存在。目测检查发动机外观状态&#xff1a;无漏油、无移位、部件连接无松动、电气插头安装牢固、无异味、无过热现象&#xff0c;都…

添加一列_Joom平台CSV文件如何添加产品?CSV文件添加产品流程一览

CSV文件添加产品在添加产品及变型以前&#xff0c;请先了解产品的CSV文件介绍以及产品变型要求。CSV添加产品CSV文件中的一行对应一个产品变型。卖家想为产品添加变型的话&#xff0c;需要在表格里新添一行或多行信息。——列表第一行是产品基本信息及产品本身的信息。卖家需要…

【牛客 -330E 】Applese 涂颜色(费马小定理,超级快速幂)

题干&#xff1a; 精通程序设计的 Applese 叕写了一个游戏。 在这个游戏中&#xff0c;有一个 n 行 m 列的方阵。现在它要为这个方阵涂上黑白两种颜色。规定左右相邻两格的颜色不能相同。请你帮它统计一下有多少种涂色的方法。由于答案很大&#xff0c;你需要将答案对 10971…

四元数乘法_JPL四元数和Hamilton四元数的区别

四元数的定义&#xff1a; 1.顺序JPL: 实部在后 , Hamilton: 实部在前 , 2.坐标系JPL: 左手坐标系 Hamilton: 右手坐标系 3.坐标系的转换方向JPL: global-to-local 世界坐标系 --> 局部坐标系 , Hamilton: local-to-global 局部坐标系 --> 世界坐标系 , 4.四元数与旋…

【牛客 - 330I】Applese 的回文串(结论题,类似编辑距离,dp)

题干&#xff1a; 自从 Applese 学会了字符串之后&#xff0c;精通各种字符串算法&#xff0c;比如……判断一个字符串是不是回文串。 这样的题目未免让它觉得太无聊&#xff0c;于是它想到了一个新的问题。 如何判断一个字符串在任意位置(包括最前面和最后面)插入一个字符后…

【POJ - 2752】Seek the Name, Seek the Fame (KMP,公共前缀后缀长度及个数)

题干&#xff1a; The little cat is so famous, that many couples tramp over hill and dale to Byteland, and asked the little cat to give names to their newly-born babies. They seek the name, and at the same time seek the fame. In order to escape from such b…

编码方式_【每日一题】| 常见的编码方式之栅栏密码

CTF_密码学栅栏密码点击上方蓝字 发现更多精彩01简介栅栏密码(Rail-fence Cipher)就是把要加密的明文分成N个字一组&#xff0c;然后把每组的第1个字符组合&#xff0c;每组第2个字符组合…每组的第N(最后一个分组可能不足N个)个字符组合&#xff0c;最后把他们全部连接起来就是…

edp和edt哪个好_香水edp和edt是什么意思

香水adp和edt代表的是浓香水和淡香水&#xff0c;它们标识香水的持久度和浓度。每款香水都会给出这些相对应的参数。这些也代表的是水、酒精以及精油的比例。香水edp和edt是什么意思edp、edt以及parfum代表的都是香水的参数&#xff0c;edp和edt香水的浓度要稍微低一点&#xf…

【HDU - 3746 】Cyclic Nacklace (KMP,最小循环节问题)

题干&#xff1a; CC always becomes very depressed at the end of this month, he has checked his credit card yesterday, without any surprise, there are only 99.9 yuan left. he is too distressed and thinking about how to tide over the last days. Being inspir…

【POJ - 1961】Period(KMP,循环节问题)

题干&#xff1a; For each prefix of a given string S with N characters (each character has an ASCII code between 97 and 126, inclusive), we want to know whether the prefix is a periodic string. That is, for each i (2 < i < N) we want to know the lar…

linux tomcat守护_linux下非root用户运行tomcat

# 前言&#xff1a;为什么要使用非root用户运行tomcatroot用户启动tomcat有一个严重的问题&#xff0c;那就是tomcat具有root权限。这意味着你的任何一个页面脚本(html/js)都具有root权限&#xff0c;所以可以轻易地用页面脚本 修改整个硬盘里的文件&#xff01;所以最好不要使…

【牛客 - 331E】炫酷划线(权值线段树,树状数组哈希,随机数)

题干&#xff1a; 链接&#xff1a;https://ac.nowcoder.com/acm/contest/331/E 来源&#xff1a;牛客网 平面上有一个圆&#xff0c;圆环上按顺时针顺序分布着从1到n&#xff0c;一共n个点。 现在无聊的小希开始按某种顺序对其在圆内两两连线&#xff0c;小希尽量避免让两…

linux 判断网卡是否异常_如何判断linux网卡故障?

linux网卡的信息里错误和碰撞数值高是否说明网卡有问题还是网络有问题&#xff1f;如何判断网卡有没有问题&#xff1f;ifconfigeth0Linkencap:EthernetHWaddr52:51:AB:14:60:B8inetaddr:192.168.1.254Bcas...linux网卡的信息里错误和碰撞数值高是否说明网卡有问题还是网络有问…

autosar网络管理_AP AUTOSAR平台设计(11)——网络管理

点击蓝字右上角 关注置顶不迷路Hello&#xff01;大家好&#xff01;欢迎来到《搞一下汽车电子》本篇是AP AUTOSAR平台设计(11)——网络管理如果觉得不错&#xff0c;“转发” “ 在看”支持一下吧~1.网络管理算法概述AUTOSAR NM基于分散的网络管理策略&#xff0c;这意味…

【牛客 - 331D】炫酷路途(二进制枚举 或 建图方式+最短路 或 dfs)

题干&#xff1a; 小希现在要从寝室赶到机房&#xff0c;路途可以按距离分为N段&#xff0c;第i个和i1个是直接相连的&#xff0c;只需要一秒钟就可以相互到达。 炫酷的是&#xff0c;从第i个到第i2pi2p个也是直接相连的&#xff08;其中p为任意非负整数&#xff09;&#x…

mysql 子查询 as_mysql子查询

更多关于LeetCode习题总结请翻阅我的博客&#xff1a;LeetCode - mysql子查询【184. 部门工资最高的员工】子查询一、按查询结果分类&#xff1a;1.作为数据源使用&#xff1b;2.作为选择条件使用&#xff1b;二、按常见的子查询分类&#xff1a;1.由比较运算符引发的子查询&am…