数据可视化之powerBI技巧(九)PowerBI按周进行业务分析的思路
按周进行数据分析,在零售业、电商等类型的公司中很常见,但是不少人觉得按周进行分析无从下手,一个主要的原因是找不到对应的函数,因为时间智能函数只对应年、季、月、天这几个粒度,没有关于周的时间智能函数。
没有相应的函数当然也能搞定,本文就介绍几种常见的周分析的思路,掌握后就可以灵活地进行各种时间分析。
进行周分析之前,我们首先应该构造含有周序列的日期表。
创建日期表
在日期表中,应该包含每个日期是周几,以及属于一年中的第几周的数据,这里直接用DAX生成一个日期表,
日期表 =
ADDCOLUMNS(
ADDCOLUMNS (
CALENDAR (DATE(2016,1,1), DATE(2017,12,31)),
"年度", YEAR ( [Date] ),
"季度", "Q" & FORMAT ( [Date], "Q" ),
"月份", FORMAT ( [Date], "MM" ),
"日",FORMAT ( [Date], "DD" ),
"年度季度", FORMAT ( [Date], "YYYY" ) & "Q" & FORMAT ( [Date], "Q" ),
"年度月份", FORMAT ( [Date], "YYYY/MM" ),
"周几", WEEKDAY ( [Date],2 ),
"周数",WEEKNUM([Date],2)
),
"年度周数",[年度]*100+[周数]
)
其中主要是两个有关周的函数,WEEKDAY和WEEKNUM。
WEEKDAY返回当前日期是星期几,其中第二个参数可以控制每周是从哪一天开始的,
- 参数为1时:周日为第一天,编号为1到7.
- 参数为2时:周一为第一天,编号为1到7.
- 参数为3时:周日为第一天,编号为0到6.
WEEKNUM返回当前日期属于当年的第几周,其中第二个参数可以控制每周的第一天是周日还是周一,
- 参数为1时:周日为第一天
- 参数为2时:周一为第一天
每个单位进行周分析的习惯或者考核周期不一样,就可以通过这两个函数的参数,来调整周开始的时间。
这里我们使用国内常用的周一作为第一天。
并且为了使每年的周数具有唯一性,添加了年度周数的字段。有了这个日期表,进行各种周分析就很方便了。
上周同期
上周同期,就是上周的今天,比如今天是星期三,上周同期就是计算上个星期三的数据,其实就是向过去移动7天,那么度量值可以这样写:
上周同期 销售额 =
CALCULATE(
[销售金额],
DATEADD('日期表'[日期],-7,DAY)
)
本周至今
时间智能函数中有本年至今YTD、本季至今QTD和本月至今MTD,但没有本周至今(可以称为WTD),那么我们自己来构造一个WTD,实际就是周数相同的,小于等于当天的这几日的数据;
本周至今WTD =
VAR curyearweek=SELECTEDVALUE('日期表'[年度周数])
RETURN
CALCULATE(
[销售金额],
FILTER(
ALL('日期表'),
'日期表'[年度周数]=curyearweek
&&'日期表'[日期]<=MAX('日期表'[日期])
)
)
周环比
计算周环比,实际上就是本周数据和上周数据的对比,只要计算出上周累计的数据,周环比也就可以简单的计算出来了。
上周累计 =
VAR curyear= SELECTEDVALUE('日期表'[年度])
VAR curweeknum=SELECTEDVALUE('日期表'[周数])
RETURN
CALCULATE(
[销售金额],
FILTER(
ALL('日期表'),
'日期表'[年度]=curyear
&&'日期表'[周数]=curweeknum-1
)
)
周环比 = DIVIDE([销售金额],[上周累计])-1
你可能注意到了,第一周的数据比较异常,主要是由于第一周没有上期数据,并且第一周的天数很可能不完整,所以数据会比较异常。关于这个问题并没有统一的解决方式,主要是根据自己公司的业务分析习惯,或者管理与考核的要求,进行具体的微调。
通过以上几种常见的周分析思路,你应该感觉到对周进行分析并不难,熟练运用VAR和CALCULATE+FILTER+ALL函数组合,灵活筛选时间段,不仅是对周,对各种不规则的时间序列都可以进行灵活分析,当然,最重要的是,先构建一个满足分析需要的日期表。
数据可视化之powerBI技巧(九)PowerBI按周进行业务分析的思路的更多相关文章
- 数据可视化基础专题(九):Matplotlib 基础(一)坐标相关
1.前言 图表要素如下图所示 # sphinx_gallery_thumbnail_number = 3 import matplotlib.pyplot as plt import numpy as ...
- 数据可视化之PowerQuery篇(十四)产品关联度分析
https://zhuanlan.zhihu.com/p/64510355 逛超市的时候,面对货架上琳琅满目的商品,你会觉得这些商品的摆放,或者不同品类的货架分布是随机排列的吗,当然不是. 应该都听说 ...
- 数据分析 | 数据可视化图表,BI工具构建逻辑
本文源码:GitHub·点这里 || GitEE·点这里 一.数据可视化 1.基础概念 数据可视化,是关于数据视觉表现形式的科学技术研究.其中,这种数据的视觉表现形式被定义为,一种以某种概要形式抽取出 ...
- 数据可视化之powerBI技巧(十九)DAX作图技巧:使用度量值动态分组和配色
有了前两篇关于分组的铺垫,这篇文章就来学习一个分组的经典应用,图表的动态分组,并对分组动态配色. 假设有十几个产品,每个产品的销售额,是随着时间而变化的,想知道某个时间的每一个产品的销售额与平均销售额 ...
- 数据可视化之powerBI技巧(二)Power BI性能分析器,原来还有这个功能
性能分析器是Power BI前几个月推出的功能,主要用于检测视觉对象和DAX的性能如何,该功能的使用比较简单,首先勾选这个功能, 然后点击开始记录并刷新视觉对象,就可以看出每个元素耗费的时间,如下图 ...
- 数据可视化之powerBI技巧(六)在PowerBI中简单的操作,实现复杂的预测分析
时间序列预测就是利用过去一段时间内的数据来预测未来一段时间内该数据的走势,比如根据过去5年的销售数据进行来年的收入增长预测,根据上个季度的股票走势推测未来一周的股价变化等等. 对于大部分人来说,这是个 ...
- 数据可视化之powerBI技巧(十五)采悟:Power BI动态技巧:动态显示数据层级
今天给大家分享一个动态显示数据层级的技巧,效果如下: 无论想按什么维度.什么顺序查看分析数据,只需要选择不同的切片器组合就行了. 方法如下:01 | 把数据聚合为分析需要的最细粒度 本文假设最细分析粒 ...
- 数据可视化之powerBI基础(八)PowerBI的表格,你真的会用吗
https://zhuanlan.zhihu.com/p/64413000 在PowerBI的可视化对象中,还有两个「表格」对象,表格的作用不仅可以在报表提供明细数据,还经常用来测试度量值的返回结果, ...
- 数据可视化之powerBI入门(四)Power BI与PowerQuery、PowerPivot有什么关系
https://zhuanlan.zhihu.com/p/64146209 Power BI与PowerQuery.PowerPivot有什么关系? 刚开始学习PowerBI的时候,总是能碰到Powe ...
随机推荐
- 附022.Kubernetes_v1.18.3高可用部署架构一
kubeadm介绍 kubeadm概述 参考附003.Kubeadm部署Kubernetes. kubeadm功能 参考附003.Kubeadm部署Kubernetes. 本方案描述 本方案采用kub ...
- zabbix服务的部署
1.zabbix的介绍 zabbix是一个基于WEB界面分布式系统监视以及网络监视功能的企业的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并且提供灵活的通知机制以让系统管 ...
- 使用SSH远程管理时本地文件被修改了
背景: 有两个网段:1段作为工作网段即员工办公用:2段作为专用网段配置了一系列需要的环境. 在Ubuntu 16.04用Python的SSH工具在对这两个网段远程管理,我写了一个检测环境的脚本,用SF ...
- VS Code WebApi系列——1、配置
Knowledge should be Shared in Free. 最近在研究VS code下的webapi,看了很多文档,还是微软官方的例子好,不过不太适应国人习惯,所以写点东西. 直接了当 开 ...
- ida 动态调试apk
1,启动 android_x86_server 2 adb forward tcp:23946 tcp:23946 调试应用命令:adb shell am start -D -n com.droidh ...
- CVE-2017-7269-iis远程溢出漏洞复现
##01漏洞描述 cve_2017_7269漏洞属于高危漏洞,是由Zhiniang Peng和Chen Wu(华南理工大学信息安全实验室,计算机科学与工程学院)发现的.IIS 6.0开启Webdav服 ...
- WeChair项目Alpha冲刺(10/10)
团队项目进行情况 1.昨日进展 Alpha冲刺第十天 昨日进展: 前端:安排页面美化,设计实名认证 后端:更新dao层代码 数据库:修改数据表属性,与后端部署数据库交互 2.今日安排 前端:继续 ...
- GIT本地库基本操作-命令行
GIT本地库操作基本原理 GIT作为分布式版本库软件,每个机器上都是一个版本库. git初始化后,有三个区,分别是 工作区,暂存区,本地库: 工作区是我们编辑代码的区别,包括新增,修改,删除代码操作, ...
- 想学好Python,你必须了解Python中的35个关键词
每种编程语言都会有一些特殊的单词,称为关键词.对待关键词的基本要求是,你在命名的时候要避免与之重复.本文将介绍一下Python中的关键词.关键词不是内置函数或者内置对象类型,虽然在命名的时候同样也最好 ...
- JavaWeb网上图书商城完整项目--day02-8.提交注册表单功能之dao、service实现
1.发送邮件 发送邮件的时候的参数我们都写在了配置文件中,配置文件放在src目录下,可以使用类加载器进行加载该数据 //向注册的用户发送邮件 //1读取配置文件 Properties properti ...