power bi 日期计算_PowerBI 动态计算周内日权重指数

506a08a7fda8cd5beb9ef3d10e7c09c3.png

在很多行业,尤其是零售业,其销售规律在一周内呈现一定的特点。

例如:平时有一种购买特点;周末有一种购买特点。

故而一周内的星期一到星期日呈现一定的权重分布。

周内日权重分布

f7d8eeb9e1ec148b8d11b4d360e384b6.png

1 到 12 表示月序号;1 到 7 表示周内日。

这个在 PowerBI 中构建就非常容易。

可以看出,星期五和星期六的指标值显著降低,其他日期类似,也许这就反应了一种规律。

动态推演

如果结合 PowerBI 的筛选,还可以实现动态计算的效果,例如:

6e824b7aad69106da3c78680c4f359ed.png

在 PowerBI 中进行这类分析的显著好处之一就是:动态性。在用户选择切片器的不同值后,整个计算重算,并根据用户的选择完成重算,这个选择在实际应用中,可以是门店,品牌,商品等各个维度,以在更加定制化的方面发现其规律。

注意

以往人们也会使用类似的机制,但是由于工具的限制,无法动态计算,例如,某个地区某个店的某类产品的销售规律与全局销售规律是有差异的,这里存在地域,店铺,产品导致的差异性,因此,我们需要动态计算机制。

排除干扰

不难想到,由于某些日期是节假日,它们会对常规日期造成干扰,为此,我们需要排除这些干扰。我们可以将特殊日期建立一个表格并做出说明,例如:

c3dd7e14ff1bceb50af040719d610560.png

这个表格可以在 Excel 中维护,需要时加载进入 PowerBI 数据模型即可。

!>该表的日期列并不是完备的。而且,很可能出现重复的日期。例如:2019.9.22日既属于中秋节,也属于店庆日,我们应该如实记录。

实际可用日

从自然日中排除这些特别的日期,就可以得到实际可用日:

a363ca46afd10be1b7148ad281ffa9c2.png

不难看出,对于2018年各月的周一来说,实际可用日比自然可用日有所减少,因为有的自然可用日落在了节假日等特殊日列表中,予以了排除。

c2a2d01fb8e970a0735f73058df04446.png

周内日权重指数的计算

因此,周内日权重指数应该在实际可用日中计算,为了计算的公平性,应该采用指标的平均值,而非累计。得到:

e7b904e35977a45c45aaa115a5e0b138.png

从趋势上来看,其规律是不变的,但从数值上来看,后者(按均值)计算显得更加合理。

该计算的 DAX 表达式为:

DWI.Value =
VAR vDatesInFC = VALUES( Model_Calender[Date] )
VAR vDatesValid = EXCEPT( vDatesInFC , VALUES( Ref_Specialday[Date] ) )
RETURN AVERAGEX( vDatesValid , [KPI.Auto] )

这是非常简单的,由于使用了 AVERAGEX ,这里的计算可以充分地兼顾那些没有销售的日期,它们并不会作为均值运算的分母。

统一化处理

现在的问题是,应该按照一个基准来描述这个周内日权重因子。我们按照以下方法处理:

  • 选出权重最小的周内日,并将其权重置为1;

  • 其他周内日则相应的按比例计算。

给出该 DAX 实现为:

DWI.Benchmark.Value = // DWI 周内日权重基准 按 指标
VAR vDaysInWeek = ALL( Model_Calender[DayInWeek] )
VAR vDWITable =
CALCULATETABLE(
ADDCOLUMNS( vDaysInWeek , "DWI.Value" , [DWI.Value] ) ,
REMOVEFILTERS( Model_Calender ) ,
VALUES( Model_Calender[Year] )
)
RETURN MINX( vDWITable , [DWI.Value] )

周内日权重指数字典

1bdebb55325850627ecb6ca89b81bbce.png

通过选择不同的类别,人员,城市,可以得到与之相匹配的周内日权重指数分布。

总结

最终,我们可以得到:

968795bb43b09f931a07ad7b0daa402c.png

这样,我们就可以选择:

  • 年度数据

  • 不同筛选维度

得到周内日的权重分布。

58db5ee8da6c24a9e41dd4ae39264ad2.png

本文案例模板已共享至年度订阅会员专区,请尽情享用。

现已开启 PowerBI 学习中心:

c529be1f5c68fe909364581573e9ea90.png

进入学习中心和BI佐罗学习PBI
暗号:pbix

746247b6fa4bd217dcf4a7e49856f744.png

对于 PowerBI 新手,我们已经为初学者提供了完整的进阶通道,如下所示。

234812d17e8437fd186e98b460831bc6.png

6342d222f5f4ca95a80007dca4c833ed.png

罗叔带你正确地系统化学习 PowerBI 路线图

免费体验 PowerBI:

f3919a1217f89760f8d815ef027c2a30.png

正式开始从零正确地系统化学习 PowerBI

302ef3046247bfe61ee106c68e45395c.png

拖拽不能满足需求?系统化学习 DAX 来解决

8ad6b2db5e857b544e79971a11b4bc2e.png

需要复制粘贴成熟的 DAX 做法

319fb6fdd7f06f85d7256f5b82c4e516.png

按照国际可视化标准作图

bfabdbf41d52bf853a79728e60d18dbb.png

从技巧到思想,为您揭示 BI 的本质

73f2d79ed16c363b74b08df3550cb655.png

成为罗叔铁粉,关注 PowerBI 最前沿应用

b227c44c7dc1a1e533151365366e2f72.png

关注罗叔,带你成为 PowerBI 专家

f48e84c3672eda5777a856365cbfce46.png

68649243cfc58860c045b17e862399c2.gif

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

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

相关文章

updatechecker.java_解决ehcache的UpdateChecker问题

问题描述项目中用了ssh框架,每次启动tomcat的时候都特别慢,会在这样一句话下面停留很久[2016-01-08 23:55:51,517 INFO UpdateChecker.java:doCheck:98] ---- New update(s) found: 2.6.5 [http://www.terracotta.org/confluence/display/release/Releas…

vb 6.0 获取重定向的url_接口测试:A07_HttpRunner重定向_04_解决方案

A07_HttpRunner重定向_04_解决方案既然 HttpRunner 是对 requests 模块的封装,那我们就试图从 requests 中寻找答案,在其官网中发现了对重定向的描述和处理:地址:http://cn.python-requests.org/zh_CN/latest/user/quickstart.htm…

java wordcount程序_[java]wordcount程序

词数统计系统。作业解析:这次作业的内容是从本地读取一个程序代码,计算出这个程序中的行数,单词数,也可进行拓展。实现语言:java编程思路:程序是由各种单词和符号组成的,单词包括关键字&#xf…

python怎么创建虚拟环境_anaconda怎么创建python虚拟环境

anaconda创建python虚拟环境的方法是:执行命令【conda create -n your_env_name pythonxx】即可。如果我们要激活虚拟环境,执行命令【activate your_env_name】即可。具体方法如下:创建python虚拟环境conda create -n your_env_name pythonxx…

java servlet深入理解_java 步步惊心 (web ) 深入理解servlet

用户在浏览器中输入一个网址回车,浏览器会向服务器发送一个HTTP请求。服务器端程序接受这个请求,并对请求进行处理,然后发送回应,浏览收到回应,再把回应的内容显示出业。这种请求-响应模式就是典型web应用程序访问过程…

robot ride edit 页面不显示_【框架】robot-framework预研

隔壁组在使用robot framework进行自动化测试,这玩意之前我没接触过,决定来预研一下这个auto test框架。背景一个好的框架,背后少不了一个牛逼的团队或组织(金主爸爸),也是判断是否值得投入时间学习的一个参考因素(虽然强如塞班系统…

java 多态 降低耦合_java多态

Java多态就是为了降低耦合,方便我们开发的一种特性。比如我写了一个动物的接口。然后我通过接口实现了猫和狗这个类。在我需要使用的时候我可以这样实例化对象动物 w new 猫。这就是向上转型。这里就有一点疑问了,我们开发人员为啥不直接写个猫和狗的类…

jap和java有关系吗_hibernate与jpa有什么区别和联系?

~JPA Java Persistence API,是Java EE 5的标准ORM接口,也是ejb3规范的一部分。Hibernate,当今很流行的ORM框架,是JPA的一个实现,但是其功能是JPA的超集。JPA和Hibernate之间的关系,可以简单的理解为JPA是标…

python找房源_Python租房信息分析!找到最适合自己的房源信息!

原标题:Python租房信息分析!找到最适合自己的房源信息!租房信息分析import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsfile_data pd.read_csv("./data/链家北京租房数据.csv")file_dat…

php 任意字符串_php 生成任意长度字符串的类(只含有数字 只含有字母 混合数字和字母)...

[php]代码库/** 生成随机字符串的类,默认只包含数字、大小写字母*/class randomString {/** 生成的字符串包含的字符设置*/const NUMERIC_ONLY 1; //只含有数字const LETTER_ONLY 2; //只含有字母const MIXED 3; //混合数字和字母/** 用户传入变量,分…

python添加时间戳_在python中添加时间戳

这两个解决方案(AFAIK)都可以在python的任何2.x版本上运行(因此保证了相当多的向后兼容性)仅依赖于regex库的实现:import redata 2011-03-07 0:27:412011-03-06 0:13:412011-03-05 0:17:402011-03-04 0:55:402011-05-16 0:55:402011-05-16 0:55:402011-07-16 0:55:…

php 删除某个文件夹,Php删除指定文件与文件夹的方法

例子:复制代码 代码示例://删除指定目录(文件夹)中的所有文件函数function delfile($dir) {if (is_dir($dir)) {$dhopendir($dir);//打开目录//列出目录中的所有文件并去掉 . 和 ..while (false ! ( $file readdir ($dh))) {if($file!"." && $fi…

python 按月份分组_django ORM queryset按月、周、TruncMonth分组

如何在Django ORM中对datetime字段进行group by查询?在型号:class test1(models.Model):id models.AutoField(primary_keyTrue, uniqueTrue, verbose_nameid)name models.CharField(verbose_namename, max_length200)cdate models.DateField(verbose_…

explode php 报错,ecshop在php5.4下报错怎么办

ecshop在php5.4下报错的解决办法:1、打开“cls_template”文件,并修改“$tag_selarray_shift(explode( ,$tag));”;2、修改“static”;3、修改cls_captcha文件。本教程操作环境:windows7系统、PHP5.4版、Dell G3电脑。…

python response.json()报错_解决Django响应JsonResponse返回json格式数据报错问题

解决Django响应JsonResponse返回json格式数据报错问题,给大家,报错,代码,图书,希望能解决Django响应JsonResponse返回json格式数据报错问题易采站长站,站长之家为您整理了解决Django响应JsonResponse返回json格式数据报错问题的相关内容。代码return JsonResponse({…

php 实例 规范,PHP开发规范实例详解

本文主要和大家分享PHP开发规范实例详解&#xff0c;希望能帮助到大家。源文件代码使用<?php开头 &#xff0c;忽略闭合标签?>文件格式必须是无BOM UTF-8格式一个文件只声明一种类型&#xff0c;如class和interface不能混写在一个源文件中缩进使用4个空格来缩进&#x…

sql 相加_SQL经典题型

SQL内容及常见面试题如下&#xff1a;以下为具体的面试题内容和答案一、简单查询题目查询姓“猴”的学生名单查询姓名中最后一个字是“猴”的学生名单查询姓名中带“猴”的学生名单查询姓“孟”老师的个数二、汇总分析题目查询课程号为“0002”的总成绩查询选了课程的学生人数查…

centos编译apache php mysql,在CentOS6.7中编译安装 apache php mysql

安装 开发工具 yum groupinstall "Development Tools" ------------------------------ tar -jxvf apr-1.5.2.tar.bz2 cd apr-1.5.2 ./configure --prefix/usr/local/apr make && make install ----------------- tar -jxvf apr-util-1.5.4.tar.bz2 cd apr-u…

python为什么虚部是j不是i_Python基础02 基本数据类型

简单的数据类型以及赋值变量不需要声明Python的变量不需要声明&#xff0c;你可以直接输入&#xff1a;>>>a 10那么你的内存里就有了一个变量a&#xff0c; 它的值是10&#xff0c;它的类型是integer (整数)。 在此之前你不需要做什么特别的声明&#xff0c;而数据类…

php array 如何访问,php – 如何访问$array [@key]值

我正在使用expedia API并且它运行良好,但我不知道如何访问这种特殊类型的数组键.回复如下$response stdClass Object([size] > 1[activePropertyCount] > 144[city] > 1[hotelId] > 12345[HotelSummary] > stdClass Object([order] > 0[ubsScore] > 10748…