数据可视化基础与应用-02-基于powerbi实现连锁糕点店数据集的仪表盘制作

news2024/9/20 20:45:48

总结

本系列是数据可视化基础与应用的第02篇,主要介绍基于powerbi实现一个连锁糕点店数据集的仪表盘制作。

数据集描述

有一个数据集,包含四张工作簿,每个工作簿是一张表,其中可以销售表可以划分为事实表,产品表,日期表和门店表为维度表。
工作簿名称、字段含义和数据集的对应关系如下图:
在这里插入图片描述

数据集下载

设计思路

本案例整体设计思路如下:

1.拿到数据集先对案例背景进行介绍
2.再完成数据获取和整理阶段
3.然后对多张表进行数据建模,同时为新建列和度量值。新建列和度量值用power query也可以完成,但我们一般基于power pivot在数据建模阶段完成。
4.进行可视化。
在这里插入图片描述

案例背景

某连锁糕点是一个全国连锁糕点店,在全国共有22家店铺。主要制作并销售3类产品:

面包、饼干和饮料。
面包包括吐司面包、牛角面包和全麦面包三种,
饼干包括曲奇饼干和苏打饼干两种;
其代销的饮料包括可乐和果汁两种。

案例数据

各店的POS信息系统中提取并整理了门店数据、日期数据、产品数据和销售数据(2019年和2020年)。

案例目标

某连锁糕点连锁店希望利用Power BI的可视化分析功能,通过各店相关数据的横向纵向对比分析,找到存在的问题,发现新的销售增长点。

(参考文献中提到:本案例为纯模拟案例,非真实案例)

数据获取与整理

数据获取

打开Power BI
在这里插入图片描述

选择文件
在这里插入图片描述

选择打开
在这里插入图片描述

选择加载,如果选择转换数据,会跳转到power query中。

数据整理

选择主页–转换数据–转换数据,:
在这里插入图片描述

进入到Power BI的Power Query页面。

目标1:日期类型转为文本类型

Power Query中整理数据日期表中“年”和“月”的字段类型需将其调整为文本型,与原表类型一致。日期类型调整为日期类型
选择日期表,查看如下:
在这里插入图片描述

需要说明的是,原始数据的年和月与这里的不同,excel中的数据如下:
在这里插入图片描述

Power BI会根据字段类型,自动补全,比如把2019年补充为2019年1月1日,把1月补充为2023年1月1日。这时需要我们把年和月的字段修改为文本。
在这里插入图片描述

选择替换当前类型
在这里插入图片描述

即可把年的日期类型替换为文本类型
在这里插入图片描述

再修改月的字段为文本类型,如下
在这里插入图片描述

目标2:添加月排序依据

“月”字段默认是按文本排序的,顺序不正确的本案例需将“月”字段复制一份,然后将数据中的“月”字拆分掉,只保留整数部分作为月份排序的依据.

在这里插入图片描述

选择月–选择添加列–选择重复列
在这里插入图片描述

生成如下
在这里插入图片描述

选择月列–选择转换–选择拆分列–选择字符数。
在这里插入图片描述

输入字符1,选择尽可能靠右,选择确定
在这里插入图片描述

拆分如下
在这里插入图片描述

删除月-复制.2 列 把 月-复制.1的名字修改为月排序依据,目前日期表的字段如下
在这里插入图片描述

目标3: 删除空行和错误

选择日期表–主页–删除行–再依次选择删除空行和删除错误
在这里插入图片描述

删除后如下:
在这里插入图片描述

应用以上的数据整理
在这里插入图片描述

数据建模

目标1: 完成事实和维度表的关联

本案例数据建模是建立维度表(产品表、日期表、门店表)和事实表(销售表)之间的关联;产品表通过“产品ID”与销售表自动关联;门店表通过“店铺ID” 与销售表自动关联;日期表通过“日期” 与销售表中的“订单日期”对应;
在这里插入图片描述
在这里插入图片描述

选择日期表–选择主页–选择管理关系–选择新建–选择日期表选择日期字段–选择销售表选择订单日期字段–选择确定。
在这里插入图片描述

返回如下
在这里插入图片描述

点击关闭,关联完成
在这里插入图片描述

目标2:新建列

为销售表新建列(字段),单价和金额;
DAX(Data Analysis Expression,数据分析表达式)

单价=RELATED(‘产品表’[单价])
金额=‘销售表’[数量]*‘销售表’[单价]

新建单价列
在这里插入图片描述

新建金额列

在这里插入图片描述

目标3: 新建度量值

度量值:Power BI数据建模的灵魂;
数据分析的指标;
度量值不改变源数据,也不改变数据模型;
4个度量值:

销售金额=SUM(‘销售表’[金额])
销售数量=SUM(‘销售表’[数量])
营业店铺数量= DISTINCTCOUNT(‘销售表’[店铺ID])
单店平均销售额=[销售金额]/[营业店铺数量]
在这里插入图片描述

新建度量值和新建列的方式基本一样,新建销售金额度量值
在这里插入图片描述

按照

销售金额=SUM(‘销售表’[金额])
销售数量=SUM(‘销售表’[数量])
营业店铺数量= DISTINCTCOUNT(‘销售表’[店铺ID])
单店平均销售额=[销售金额]/[营业店铺数量]

创建所有度量值,如下。

在这里插入图片描述

数据可视化

目标1:插入图像,文本框,形状等

选择报表视图–选择插入–然后选择文本框,形状和图像。修改形状的演示,如下。
在这里插入图片描述

目标2:卡片图 突出显示可视化分析的关键数据;

本案例:销售金额、销售数量、营业店铺数量、单店平均销售额;

添加销售金额卡片图
在这里插入图片描述

把销售金额拖入数据,然后点击卡片图,修改其标注中的文字和卡中的边框,位置如下:
在这里插入图片描述

销售金额卡片图最终输出如下:
在这里插入图片描述

接下来创建销售数量、营业店铺数量、单店平均销售额卡片图,并把卡片图合在一起,如下:

在这里插入图片描述

目标3:插入环形图

环形图就是中间挖空的饼图,它是依靠环形的长度来表达比例的大小;
本案例:在环形图中显示不同产品的销售金额占比情况;
在这里插入图片描述

目标4:插入条形图

条形图可利用条状的长度反映数据的差异,适用于多个项目的分类排名比较;
本案例:条形图中显示不同产品分类下销售额,并按销售额大小进行排序;
在这里插在这里插入图片描述
入图片描述

目标5:插入折线图和簇状柱形图

折线图可以显示随时间变化的连续数据,非常适用于显示在相同时间间隔下的数据变化趋势;柱形图可以利用柱形的高度反映数据差异;
本案例:折线和簇状柱形图中显示不同月份的销售金额和销售数量在这里插入图片描述

这时月份的排序不好,我们按照月排序字段进行排序
在这里插入图片描述

然后再刷新下折线图和簇状柱形图就可以完成排序
在这里插入图片描述

目标6:插入气泡图

气泡图是一种特殊的散点图,主要通过横纵坐标值和气泡大小来展现数据的分布情况;
气泡图表现数据的维度多、图形美观、欣赏性强;
本案例:在气泡图中显示不同月份的销售金额和销售数量的动态变化情况。
在这里插入图片描述

目标7:插入切片器

切片器是画布中的视觉筛选器,是报表中的一种可视化图形元素;
切片器本身不为了展示数据,而是作为展示数据时的各种维度选择本案例:
设置“年度”和“店铺名称”切片器;

在这里插入图片描述

这里的店铺名称修改为了磁片显示

报表美化

排版布局;
设置格式;
主题风格;

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

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

相关文章

SpringBoot+Vue+MySQL:装修管理新架构探索

✍✍计算机毕业编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java、…

力扣精选算法100道——颜色分类(双指针和三指针俩种方法解决此题)

目录 🚩了解题意 🚩算法分析 第一种方法:双指针 🚩代码实现一 第二种方法:三指针 🚩代码实现二 🚩了解题意 本题将整数0,1,2代表红白篮,nums中的整数并…

数据之光:探索数据库技术的演进之路

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua,在这里我会分享我的知识和经验。&#x…

【C++】继承与多态的常见问题解析

文章目录 继承1.什么是菱形继承?菱形继承的问题是什么?2. 什么是菱形虚拟继承?如何解决数据冗余和二义性的3. 继承和组合的区别?什么时候用继承?什么时候用组合?1.继承(Inheritance)…

数据迁移DTS | 云上MySQL 数据库迁移至达梦数据库

引入 云上 MySQL 数据库 —> 向达梦国产化数据库迁移 下载&安装 达梦客户端工具 DM->可参考之前国产化专栏达梦文章 创建模式 在客户端分别依次执行以下命令脚本(这里没有通过客户端管理工具去创建达梦数据库的模式,当然也可以通过图形化界…

Find My运动相机|苹果Find My技术与相机结合,智能防丢,全球定位

运动相机设计用于在各种运动和极限环境中使用,如徒步、登山、攀岩、骑行、滑翔、滑雪、游泳和潜水等,它们通常具有防抖防震、深度防水和高清画质的特点,能够适应颠簸剧烈的环境,甚至可以承受一定程度的摔落,一些运动相…

自动化测试实例—Web登录功能性测试(无验证码)

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、什么是自动化测试 把人为驱动的测试行为转化为机器执行的一…

数据防泄漏的具体方法有哪些?数据防泄漏教程分享

曾经有一个非常严重的数据泄漏事件,是一家制造业相关的公司,经过调查,发现是员工在未经授权的情况下将客户数据通过电子邮件发送给了外部人员。 这一事件导致了客户隐私的泄露,给该机构带来了巨大的法律风险和声誉损失。 其实每…

DolphinScheduler——蔚来汽车数据治理开发平台的应用改造

目录 一、业务痛点 二、应用现状 三、技术改造 3.1 稳定性 3.1.1 滚动重启黑名单机制精准路由 3.2 易用性 依赖节点优化 补数任务优化 多 SQL 执行 原文大佬的这篇基于调度系统的数据治理案例有借鉴意义,这里摘抄下来用作学习和知识沉淀。 一、业务痛点 蔚…

tomcat 搭建博客 及破解数据库密码

一 tomcat 搭建博客 (一)博客安装包 1, 把博客war包 放到 webapps 文件夹下 2,会自动解压 3,做个软连接 方便后续操作 可以注意到 因为war包 是又tomcat 自己解压的 所以属主数组还是 tomcat &#xff08…

Redis性能攻略:Redis-benchmark工具与实用性能优化技巧

Redis作为一种高性能的内存数据库,广泛应用于各种业务场景。然而,随着业务规模的扩大和数据量的增长,Redis的性能问题逐渐凸显出来。为了提高Redis的性能,本文将深入探讨Redis性能优化方案,包括参数配置、数据结构、多…

Java的运行机制与Java开发环境的搭建

1.编译和执行 首先通过文本编辑器编写源程序(后缀为.java),再利用编译器编译成字节码文件(后缀为.class),最后利用虚拟机也叫解释器解释执行。 2.JVM、JRE和JDK的区别 简单来说, ①JVM 提供了运行 Java 程…

【HbuilderX】 uniapp实现 android申请权限 和 退出app返回桌面

目录 android申请权限: 监听用户是否开启权限或关闭权限: 退出app返回桌面: android申请权限: 首先在 manifest.json 内添加你所需要用到权限 添加权限插件 permission.js 一次就好1/权限插件 - Gitee.comhttps://gitee.co…

学习和工作的投入产出比(节选)

人工智能统领全文 推荐包含关于投入、产出、过剩、市场关注、案例、结果和避雷等主题的信息: 投入与产出: 投入和产出都有直接和间接两类常见形式。常见的四种组合是:直接投入、直接产出、间接投入、间接产出。 过剩: 过剩是一个重…

农产品质量追溯系统—简介

概要 农产品质量安全事关广大人民群众的食用安全和身体健康。解决农产品质量安全问题,需要从源头开始抓好、抓实农产品安全监管工作。通过建立从产地到市场的全程质量控制系统和追溯制度,对农产品产地环境、生产过程、产品检测、包装盒标识等关键环节进行监督管理,提高广大…

快速开发一个鸿蒙的页面

文章目录 前言常用组件快速开启简单的鸿蒙页面总结 一、前言 鸿蒙要想快速上手,那么就需要对基础的组件使用比较熟悉,这里就罗列开发中常见的基础组件的使用。 只要是写android的,对于这些组件的使用还是能很快上手的,只要多多…

AI智能分析网关V4智慧环保/智慧垃圾站视频智能分析与监控方案

一、背景介绍 随着城市化进程的加速,垃圾处理问题日益受到人们的关注,传统的垃圾站管理方式已经无法满足现代社会的需求。针对当前垃圾站的监管需求,TSINGSEE青犀可基于旗下视频智能检测AI智能分析网关V4与安防监控视频综合管理系统EasyCVR平…

【STM32】江科大STM32学习笔记汇总(50)

00. 目录 文章目录 00. 目录01. STM32学习笔记汇总02. 相关资料下载03. 附录 01. STM32学习笔记汇总 【STM32】STM32学习笔记-课程简介(01) 【STM32】STM32学习笔记-STM32简介(02) 【STM32】STM32学习笔记-软件安装(03) 【STM32】STM32学习笔记-新建工程(04) 【STM32】STM…

十年经验讲解功能测试的一些基本操作以及报告编写

一、 输入框测试 1. 字符型输入框: (1)字符型输入框:英文全半角、数字、空或者空格、特殊字符“~!#¥%……&*?[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用…

[递归与递推] 栈与卡特兰数

题目背景 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。 栈有两种最重要的操作,即 pop(从栈顶弹出一个元素)和 push(将一个元素进栈)。 栈的重要性不言自…