当前位置: 首页 > news >正文

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

总结

本系列是数据可视化基础与应用的第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:插入切片器

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

在这里插入图片描述

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

报表美化

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

相关文章:

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

总结 本系列是数据可视化基础与应用的第02篇,主要介绍基于powerbi实现一个连锁糕点店数据集的仪表盘制作。 数据集描述 有一个数据集,包含四张工作簿,每个工作簿是一张表,其中可以销售表可以划分为事实表,产品表&am…...

前后端分离Vue+nodejs酒店公寓客房预订管理系统udr7l-java-php-django-springboot

本系统的设计与实现共包含13个表:分别是关于我们信息表,配置文件信息表,公寓信息评论表信息表,公寓入住信息表,公寓退房信息表,公寓信息信息表,公寓预订信息表,系统公告信息表,收藏表…...

VUE打包的dist文件放到后端一起发布

背景 前后端分离开发的项目,在部署时为了方便部署,使用集成部署的方式(即前后端在一起部署的方式) 问题 直接将前端打包好的dist文件夹下的内容,放到后端项目的resource/static目录下,但是在启动访问时发…...

React入门之React_渲染基础用法和class实例写法

渲染元素 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>04元素渲染</title><script src&…...

Git自动忽略dll文件的问题

检查了半天发现是sourcetreee的全局忽略文件导致&#xff0c; 从里面删除dll即可。 我是干脆直接删了全局忽略&#xff0c;太恶心了&#xff0c;如下&#xff1a; #ignore thumbnails created by windows Thumbs.db #Ignore files build by Visual Studio *.exe .vsconfig .s…...

sql中如何实现递归

在SQL中&#xff0c;递归通常是通过使用公用表表达式&#xff08;Common Table Expressions&#xff0c;CTE&#xff09;来实现的。CTE允许你定义一个临时的结果集&#xff0c;该结果集可以在一个SELECT、INSERT、UPDATE或DELETE语句的主体中被引用。 递归CTE有两个关键部分&a…...

GPT 的基础 - T(Transformer)

我们知道GPT的含义是&#xff1a; Generative - 生成下一个词 Pre-trained - 文本预训练 Transformer - 基于Transformer架构 我们看到Transformer模型是GPT的基础&#xff0c;这篇博客梳理了一下Transformer的知识点。 BERT: 用于语言理解。&#xff08;Transformer的Encoder…...

微信小程序 --- 常用样式和组件

常用样式和组件 1. 组件和样式介绍 在开 Web 网站的时候&#xff1a; 页面的结构由 HTML 进行编写&#xff0c;例如&#xff1a;经常会用到 div、p、 span、img、a 等标签 页面的样式由 CSS 进行编写&#xff0c;例如&#xff1a;经常会采用 .class 、#id 、element 等选择…...

深圳智能制造半导体芯片行业源代码防泄密完整解决方案

一、芯片半导体行业防泄密&#xff0c;不能用监控及管控方式来实现&#xff0c;采用管控方式&#xff0c;首先不能主动防御&#xff0c;只能进行事后查询&#xff0c;并且管控方式&#xff0c;不利于嵌入式开发&#xff0c;对于嵌入式开发&#xff0c;不管是采用沙箱隔离或u口禁…...

Unity UI适配规则和对热门游戏适配策略的拆解

前言 本文会介绍一些关于UI适配的基础概念&#xff0c;并且统计了市面上常见的设备的分辨率的情况。同时通过拆解目前市面上较为成功的两款休闲游戏Royal Match和Monopoly GO(两款均为近期游戏付费榜前几的游戏)&#xff0c;大致推断出他们的适配策略&#xff0c;以供学习和参…...

嵌入式学习day25 Linux

进程基本概念: 1.进程: 程序&#xff1a;存放在外存中的一段数据组成的文件 进程&#xff1a;是一个程序动态执行的过程,包括进程的创建、进程的调度、进程的消亡 2.进程相关命令: 1.top 动态查看当前系统中的所有进程信息&#xff08;根据CPU占用率排序&a…...

Oracle数据泵跨大版本迁移数据库

Oracle数据泵跨大版本迁移数据库 source库导出元数据传输dump和数据文件到target库target库导入数据库迁移后的工作 &#x1f988;场景&#xff1a;将测试环境中一台Oracle 11g数据库迁移到另一台新搭建的19c数据库中。 &#x1f914;分析&#xff1a;由于是跨数据库大版本&…...

如何在Win系统从零开始搭建Z-blog网站,并将本地博客发布到公网可访问

文章目录 1. 前言2. Z-blog网站搭建2.1 XAMPP环境设置2.2 Z-blog安装2.3 Z-blog网页测试2.4 Cpolar安装和注册 3. 本地网页发布3.1. Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 想要成为一个合格的技术宅或程序员&#xff0c;自己搭建网站制作网页是绕…...

sawForceDimensionSDK安装,sigma7+ros

force dimension的sdk中没有关于ros&#xff0c;借助开源的sawForceDimensionSDK实现对于数据的封装和可视化&#xff0c;方便后续使用 链接&#xff1a; GitHub - jhu-saw/sawForceDimensionSDK 具体步骤&#xff1a; 安装qt和ros&#xff0c;官网下载Force Dimension SDK …...

全量知识系统问题及SmartChat给出的答复 之3

Q8. 进一步&#xff0c;请展示如何使用这些技术来衡量、评估或适应不可避免的不匹配的知识汤问题的更进一步的全面代码。 为了处理不可避免的不匹配的知识汤问题&#xff0c;我们可以引入一些技术方法来衡量、评估或适应这种情况。 下是一个更进一步的全面代码示例&#xff0…...

【常用的 SVN 命令及简要示例】

常用的 SVN 命令及简要示例&#xff0c;供您参考&#xff1a; 检出代码: svn checkout https://svn.example.com/project/trunk提交修改: svn commit -m "Commit message"更新代码: svn update创建分支: svn copy https://svn.example.com/project/trunk \https://sv…...

ISP代理是什么?怎么用?

在跨境出海业务中&#xff0c;代理IP对于您的在线任务至关重要&#xff0c;尤其是对于那些运行多个帐户的人来说。为您的帐户选择正确类型的代理对于确保帐户安全非常重要&#xff0c;劣质的IP容易使账号遭受封号风险。IPFoxy的多种代理IP类型应用范围各有侧重&#xff0c;其中…...

微服务之qiankun主项目+子项目搭建

主项目使用history&#xff0c;子项目使用hash模式 1. 下载安装"qiankun": "^2.10.13"2. 手动调用qiankun,使用vue脚手架搭建的项目1. 主项目配置&#xff08;我使用的是手动调用乾坤&#xff0c;在指定页面显示内容&#xff09;1. 要使用的页面中引入乾坤…...

双非二本找实习前的准备day2

学习目标&#xff1a; 每天2-3到简单sql&#xff08;刷完即止&#xff09;&#xff0c;每天复习代码随想录上的题目3道算法&#xff08;时间充足可以继续&#xff09;&#xff0c;背诵的八股的问题也在这里记录了 今日碎碎念&#xff1a; SQL有些题用到的知识感觉不会出现在…...

快速搭建宠物医院服务小程序的步骤,无需编程经验

如果你是一家宠物医院或者宠物服务机构&#xff0c;想要拥有一款方便用户预约、查询信息的小程序&#xff0c;那么乔拓云网提供的轻应用小程序是你的不二选择。下面将为你详细介绍如何轻松打造宠物医院服务小程序。 1. 进入乔拓云网后台&#xff0c;点击【轻应用小程序】中的【…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

android RelativeLayout布局

<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...