焦棚子的文章目录

一背景

2022年即将到来之际,笔者准备在Power BI中做一个实战专题,作为实战专题最基础的就是demo数据,于是我们赠送大家一个300家门店,260亿+销售额,360万行+的零售企业Power BI实战示例数据作为开胃菜。后续我们围绕这个数据展开Power BI实战的交流,请关注后续文章。先看看数据规模。

附件下载地址:https://jiaopengzi.com/1435.html

demo展示链接(用户名:pbirs,密码:pbirs):https://jiaopengzi.com/go/148/

二、Power BI demo data介绍

Ⅰ、数据表

如下每个表其实都是一个非常重要的点,在后续的专题中会展开来讲。

00_Measure

管理度量,我习惯用pq生成,没有那一列需要隐藏,看起来更清爽。想知道怎么做的吗。

01_Calendar

日期表在Power BI中是非重要的存在之一,同样如何构建一张符合自身业务的日期表是非常重要的。

想知道透视表中的FY字段有什么用吗?请查阅 https://jiaopengzi.com/996.html

02_Unit

单位表;如何设置好一个符合国人习惯的“万亿”为单位的切片器。

注意观察全局的单位显示,特别是工具提示中的单位显示。

单位:万亿,符合万就显示单位万,符合亿就是显示单位亿,万以下不显示单位。

单位:KMB,符合国际上通用的计数单位,K表示千,M表示百万,B表示10十亿。

单位:常规,按照最初写度量的时候的格式显示。

单位:万,所有单位都用万表示,万以下的不显示单位。

03_Hour

小时分段表,在本案例中暂时没有用到,在业务对时间有比天更细粒度中有使用,参考:https://jiaopengzi.com/244.html

04_MQHY

月度、季度、半年度、年度四个维度同时展示出来,参考:https://jiaopengzi.com/996.html

05_RefreshTime

刷新时间,这在报表展示中非常重要且必要。那个圆圈的刷新符号知道怎么写吗?

D00_大区表、D01_省份表、D02_城市表

大区,在很多业务场景中都有,同时也要结合城市和省份一起应用。我们把34个省级单位的数据都整理好了,可以直接拿来应用。同时给大家科普一下,我们拿到的坐标虽然是可以在地图上应用,但是不是实际的坐标,要防坏人哦。

大区

省份

城市

T00_产品表

产品表很好理解了,当然我们这的是demo数据,只截取了一部分字段。一般成本价是不会给到一线的,所以成本价的管理需要单独管理,在做BI的各位朋友要注意这些细节,别一个不小心你企业的核心机密就泄漏了。

T01_门店表

门店表,主要注意城市和门店的的匹配,在后续我们去研究日期的应用。

T02_客户表

客户表,我们这主要把客户分类和客户的生日拿出来了,后续做客户的相应分析客户用到,当然客户信息还有很多,以后在这方面一定要注意符合已经实施的《个人信息保护法》。这很重要。

T03_入库信息表

本来不想加入库信息,后来还是加进来了,库存在零售行业的也是非常重要的,同时在做Power BI的时候,我们要兼顾到功能和性能,给大家准备了139万行+数据,可以好好的玩一下。

T04_订单主表、T05_订单子表

订单主表40万行+主要围绕订单信息,订单子表142万行+主要围绕产品信息。

T06_销售目标表

销售目标表,或者说是销售预算表,按照基本逻辑是要细化到每个产品、每个店的粒度的,模拟写起来比较繁琐,索性在这里就简化到省一级,实际应用中是要结合业务的特性来做预算,是分析中很重要的一个分水岭。

Ⅱ、数据关系

有了一张张的数据表后,我们需要理顺最基本的的业务逻辑和数据逻辑,数据的关系连线就能很好的体现。同时一些特殊的关系连线也关系到后续的业务转化的DAX重要的支撑。

比如本文案例的销售模型里面,维度表、事实表、辅助表加起来就有15张。一张图来识别关系确实比较麻烦,所以我们把各个逻辑板块分开来间关系就很有必要。如下是我们分别按照几个业务逻辑来建立关系。

所有表

产品

组织

组织和时间的关系往往会有在筛选的重叠,这里需要特别主要到底谁是实线关系,谁是虚线关系。也要结合业务特性来定。

客户

日期

其他

MQHY已经在前文中介绍到了。

Ⅲ、编号的使用

不知道各位朋友是否注意到,为大家准备的这个数据,从表格名称到字段名称都是加了编号来命名的。在这里单独拿出来讲一下,从日常的工作中总结出来的,实际业务中的DAX度量多则上百个甚至更多。如果没有一个很好的命方式的话查找起来非常麻烦,同时在写新度量及应用的时候会非常痛苦。个人总结后更倾向于字母加编号来管理;这个好处谁用谁知道。当然文件夹这些根据自身的需求对管理DAX度量也是很有帮助的。

Ⅳ、数据如何构建的

虽然看到名字很唬人,几百个亿的销售额。其实这个数据是笔者根据自身工作经历抽象业务然后生成的模拟数据。以上数据如有雷同纯属巧合。数据用VBA写的,依赖Access完成,VBA的bas文件我也放在附件中赠送个大家。大家拿到可以修改相应参数,在非常短的时间就能生成一个demo数据,演示的时候很方便。

Attribute VB_Name = "demo_jiaopengzi_data"
Option Compare Database
Option Explicit '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'1、作者:焦棚子
'2、邮箱:jiaopengzi@qq.com
'3、博客:www.jiaopengzi.com
'4、CPU:Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz 2.21 GHz
'5、内存:RAM 24.0 GB
'6、电脑配置 + N1=300的配置:大约需要800秒,每秒按照业务逻辑生成约4500行数据;构成360+万行demo数据,基本满足实战学习所用。
'===================================================================================== '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'数据配置,代码行数1850行。
Public Const N1 As Long = 5 '门店数量;建议N1∈[5,390]。
'01、NewData 配置好上述三个参数后,调用所有函数生成demodata数据,建议第一次尝试按照 N1=5,大约20秒。
'02、TableNameN 所有表的命名管理。
'03、SqlCN 创建所有的sql。
'04、SqlDN 删除所有表的sql。
'05、TableADO ADO创建表。
'06、DataTableD0 生成大区表。
'07、DataTableD1 生成省份表。
'08、DataTableD2 生成城市表。
'09、DataTableT0 生成产品表。
'10、DataTableT1 生成客户表,与N1相关。
'11、DataTableT2 生成客户表。
'12、DataTableT345 生成入库表、订单主表、订单子表。
'13、DataTableT6 生成销售目标表。
'14、FirstName 生成随机姓名的名。
'17、LastName 生成随机姓名的姓
'16、AddressProvince 所有省区数据,包含名称,坐标等。
'17、AddressCity 所有地市数据,包含名称,坐标等。
'===================================================================================== Public Function NewData() Dim t As Double
t = Timer
Dim i As Long For i = 0 To 9
Call TableADO(TableNameN(i), SqlDN(i), SqlCN(i))
Next Call DataTableD0
Call DataTableD1
Call DataTableD2
Call DataTableT0
Call DataTableT1
Call DataTableT2
Call DataTableT345
Call DataTableT6 Application.RefreshDatabaseWindow
MsgBox "完成,用时:" & Round(Timer - t, 2) & "秒!" End Function

源码地址:https://jiaopengzi.com/1435.html

三、彩蛋

Ⅰ、赠送官方文档pdf文件

最近微软的官方文档都取消了pdf下载功能,笔者在10月份的时候已经下载了:DAX官方文档(621页)和Power Query官方文档(997页),在附件中一并送给大家,也可以在微信公众号中回复:demo148获取。

Ⅱ、免版权图片

关于免版权的图片,大家可以在这个网站(https://generated.photos/)上去找一下。本案例的头像也会随附件送个大家。也可以引用我放在网站上的地址,把数字更换成1到6即可。记住他们的名字哦。

https://jiaopengzi.com/pbirsdemo/idphoto/1.png

by焦棚子

焦棚子的文章目录

148_赠送300家门店260亿销售额的零售企业Power BI实战示例数据的更多相关文章

  1. 自动贩卖机VS无人门店:谁是真正的零售新风口?

    ​ ​原本在线上不断发力,让实体店几乎凋敝的电商,却忽然对线下兴趣大增.阿里疯狂入股.收购线下商超:京东要在全国范围内开设百万家便利店,仅在农村就将开设50万家--这一股浪潮,或将直接改变整个百货零售 ...

  2. 【RPA之家转载】苏桦 华为RPA 企业财务实践:RPA与AI结合,实现百万级票据、合同处理自动化

    [RPA之家转载]苏桦 华为RPA 企业财务实践:RPA与AI结合,实现百万级票据.合同处理自动化 看到大会的主题,说每一位开发者都了不起,说白了我也非常的感触,因为我自己本身也是一个开发者,我从01 ...

  3. (转)Salesforce的440亿美金并购宣告企业软件市场进入3.0互联网化时代

    导语:Salesforce代表着“移动+云”时代企业软件领域新的架构和商业模式的颠覆者.企业软件转向“移动+云”架构,将极大改变传统企业IT市场的格局…… 近期一则新闻极大的刺激了企业软件市场的神经, ...

  4. 市值3万亿的facebook再出丑闻,你的数据,到底应该归谁?

    最近一则<Facebook隐私泄露事件继续发酵,黑客明码标价出售聊天信息>的新闻被爆出,一个用户的信息被标价10美分.让人不禁感慨,3万亿市值的facebook,用户数据竟然如此便宜. 在 ...

  5. BI案例:BI在连锁零售业应用(ZT)【转】

    第一部分:连锁零售企业上BI的必要性. 目前国内的连锁零售行业的发展趋势,呈现出产业规模化,经营业态多样化,管理精细化的特点.所谓管理精细化就是"精耕细作搞管理,领先一步订系 统" ...

  6. BI案例:BI在连锁零售业应用(ZT)

    第一部分:连锁零售企业上BI的必要性. 目前国内的连锁零售行业的发展趋势,呈现出产业规模化,经营业态多样化,管理精细化的特点.所谓管理精细化就是"精耕细作搞管理,领先一步订系统". ...

  7. BI在连锁零售业应用

    BI案例:BI在连锁零售业应用(ZT) Posted on 2015-08-25 09:31 xuzhengzhu 阅读(42) 评论(0) 编辑 收藏 第一部分:连锁零售企业上BI的必要性. 目前国 ...

  8. O2O外卖玩众包 开放平台难解标准之痛

    开放平台难解标准之痛" title="O2O外卖玩众包 开放平台难解标准之痛">  有一种怪现象一直是国内互联网企业摆脱不了的附骨之疽--不管规模大小,总是削尖了脑 ...

  9. SQL Server 2016五大优势挖掘企业用户数据价值

    SQL Server 2016五大优势挖掘企业用户数据价值 转载自:http://soft.zdnet.com.cn/software_zone/2016/0318/3074442.shtml 3月1 ...

随机推荐

  1. Python模块导入方式

    import导入方式 from...import导入方式  from...import... 导入模块相当于在此文件中写了所导入函数名(对比c/c++中的.h文件来理解),所以在之后使用导入的函数直接 ...

  2. int 越界处理

    在程序运行中,如果运算结果太大超出了所定义的类型,那么可能会影响整个程序的运行结果,甚至是程序出错. 因此,在编写程序时,加入越界处理就显得一起重要了. 用整型 int 来举个例子吧,int型占四个字 ...

  3. Linux网络配置:Nat和桥接模式详解

    Linux网络配置:Nat和桥接模式详解 一.我们首先说一下VMware的几个虚拟设备: Centos虚拟网络编辑器中的虚拟交换机: VMnet0:用于虚拟桥接网络下的虚拟交换机: VMnet1:用于 ...

  4. 记录axios高效率并发的方法

    //  首先我的请求是统一管理 方便创建拦截器 export function login(parameter) {   return axios({     url: api.Login,      ...

  5. 小程序web-view加载H5信息不全

    满足小程序的web-view标签跳转网页形式 配置小程序后台的web-view(业务域名) 可打开关联的公众号的文章 通常实现逻辑 页面加载的时候赋值于一个data对象的值,然后赋值到web-view ...

  6. java Web开发实现手机拍照上传到服务器

    第一步: 搭环境,基本jdk 1.6+apache tomcat6.0+myeclipse2014 1.我们要清楚自己的jdk版本.因为我们Apache Tomcat配置的成功的前提是版本相对应. 安 ...

  7. 移动端城市定位,城市区域代码adcode

    使用高德定位API : AMap.Map('iCenter') AMap.CitySearch() 先在高德开放平台注册申请定位权限的key. 网站:高德开放平台 在需要定位的页面引入有定位key的s ...

  8. DRF 视图组件

    目录 DRF 视图组件 视图组件大纲 两个视图基本类 五个扩展类 九个子类视图 视图集 常用视图集父类 魔法类 一览表 DRF中视图的"七十二变" 第一层:基于APIview的五个 ...

  9. IDEA修改代码后不用重新启动项目即可刷新

    1.File--Settings--Build 2.Build,Execution,Deplyment--Compiler 3.选中打勾 "Build project automatical ...

  10. nodejs教程---基于expressJs框架,实现文件上传(upload)?

    文件上传功能在nodejs初期是一件很难实现的功能,之后出现了formidable勉强能解决这个问题,但是express框架出现之后基于这个框架开发的中间件有更好的方法来处理文件上传,这个中间件就是m ...