數據可視化基礎與應用-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:插入切片器

切片器是畫布中的視覺篩選器,是報表中的一種可視化圖形元素;
切片器本身不為了展示數據,而是作為展示數據時的各種維度選擇本案例:
設置“年度”和“店鋪名稱”切片器;

在這里插入圖片描述

這里的店鋪名稱修改為了磁片顯示

報表美化

排版布局;
設置格式;
主題風格;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/712537.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/712537.shtml
英文地址,請注明出處:http://en.pswp.cn/news/712537.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Python小技巧】將list變量寫入本地txt文件并讀出為list變量的方法(附代碼)

文章目錄 前言一、萬能的txt和eval大法二、具體代碼和使用方法總結 前言 使用Python,我們偶爾需要將一些變量保存到本地,并被其它代碼讀取作為參數,那么怎么辦呢? 一、萬能的txt和eval大法 這里教大家一個簡單的方法&#xff0c…

912. 排序數組(快速排序)

快速排序: 分:找到分成兩部分進行排序的pos(使用partition)治:分別對這兩部分進行快速排序 重點:partition 找到pivot(兩個方法:1. 取第一個值;2. 取隨機值&#xff09…

Linux時間同步(PPS、PTP、chrony)分析筆記

1 PPS(pulse per second) 1.1 簡介 LinuxPPS provides a programming interface (API) to define in the system several PPS sources. PPS means "pulse per second" and a PPS source is just a device which provides a high precision signal each second so t…

每日一題 2673使二叉樹所有路徑值相等的最小代價

2673. 使二叉樹所有路徑值相等的最小代價 題目描述: 給你一個整數 n 表示一棵 滿二叉樹 里面節點的數目,節點編號從 1 到 n 。根節點編號為 1 ,樹中每個非葉子節點 i 都有兩個孩子,分別是左孩子 2 * i 和右孩子 2 * i 1 。 樹…

Java緩存簡介

內存訪問速度和硬盤訪問速度是計算機系統中兩個非常重要的性能指標。 內存訪問速度:內存是計算機中最快的存儲介質,它的訪問速度可以達到幾納秒級別。內存中的數據可以直接被CPU訪問,因此讀寫速度非常快。 硬盤訪問速度&…

學習和工作的投入產出比(節選)

人工智能統領全文 推薦包含關于投入、產出、過剩、市場關注、案例、結果和避雷等主題的信息: 投入與產出: 投入和產出都有直接和間接兩類常見形式。常見的四種組合是:直接投入、直接產出、間接投入、間接產出。 過剩: 過剩是一個重…

力扣SQL50 無效的推文 查詢

Problem: 1683. 無效的推文 思路 👨?🏫 參考 char_length(str):計算 str 的字符長度length(str):計算 str 的字節長度 Code select tweet_id from Tweets where char_length(content) > 15;

C++與 Fluke5500A設備通過GPIB-USB-B通信的經驗積累

C與 Fluke5500A設備通過GPIB-USB-B通信的經驗積累 以下內容來自:C與 Fluke5500A設備通過GPIB-USB-B通信的經驗積累 - JMarcus - 博客園 (cnblogs.com)START 1.需要安裝NI-488.2.281,安裝好了之后,GPIB-USB-B的驅動就自動安裝好了 注意版本…

動態規劃(算法競賽、藍橋杯)--單調隊列滑動窗口與連續子序列的最大和

1、B站視頻鏈接&#xff1a;E11【模板】單調隊列 滑動窗口最值_嗶哩嗶哩_bilibili 題目鏈接&#xff1a;滑動窗口 /【模板】單調隊列 - 洛谷 #include <bits/stdc.h> using namespace std; const int N1000010; int a[N],q[N];//q存的是元素的下標 int main(){int n,k;…

unity學習(41)——創建(create)角色腳本(panel)——UserHandler(收)+CreateClick(發)——創建發包!

1.客戶端的程序結構被我精簡過&#xff0c;現在去MessageManager.cs中增加一個UserHandler函數&#xff0c;根據收到的包做對應的GameInfo賦值。 2.在Model文件夾下新增一個協議文件UserProtocol&#xff0c;內容很簡單。 using System;public class UserProtocol {public co…

金融短信群發平臺具有那些特點

金融短信群發平臺的特點主要包括以下幾個方面&#xff1a; 1.高效性&#xff1a;金融短信群發平臺能夠快速地發送大量的短信&#xff0c;使得金融信息能夠迅速傳達給目標客戶&#xff0c;保證了信息的及時性和有效性。 2.安全性&#xff1a;金融短信群發平臺對于信息的安全性非…

藍橋杯練習系統(算法訓練)ALGO-995 24點

資源限制 內存限制&#xff1a;256.0MB C/C時間限制&#xff1a;1.0s Java時間限制&#xff1a;3.0s Python時間限制&#xff1a;5.0s 問題描述 24點游戲是一個非常有意思的游戲&#xff0c;很流行&#xff0c;玩法很簡單&#xff1a;給你4張牌&#xff0c;每張牌上有數…

【JS】sort方法的基本使用與雙重、多重排序:對象數組按照多個對象屬性進行排序

【JS】對象數組按照多個對象屬性進行排序&#xff08;sort方法&#xff09; 一、sort():用于對數組的元素進行排序,并返回數組&#xff0c;arr.sort()默認為升序排列二、sort()用法三、雙重、多重排序&#xff1a;對象數組按照多個對象屬性進行排序&#xff08;sort方法&#x…

設備樹學習(DOING)

我的理解本質上還是復用。尤其是嵌入式領域&#xff0c;設備多種多樣&#xff0c;但是很多設備接口都是標準的&#xff0c;或者大同小異。以前驅動開發可能每個設備商都去抄別家的搞進內核&#xff0c;這樣造成了大量的垃圾代碼。后面linux內核就把這些做成公共庫抽象出來&…

SpringBoot整合Kafka

SpringBoot整合Kafka的步驟如下&#xff1a; 添加依賴&#xff1a;在SpringBoot項目的pom.xml文件中添加Kafka的依賴。 <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId><version>版本號…

常見的遞歸Java實現

形如 public static void test(int n) {if (n > 2) {test(n - 1);}System.out.println("n" n); }重要規則 執行一個方法時&#xff0c;就創建一個新的受保護的獨立空間&#xff08;棧空間&#xff09;方法的局部變量是獨立的&#xff0c;不會相互影響如果方法中…

【教程】移動互聯網時代的APP上架流程和要點

目錄 摘要 引言 正文 一、應用商店注冊 二、準備APP材料 三、打包上傳App 摘要 本文將介紹移動應用程序上架的基本流程和要點&#xff0c;包括應用商店注冊、APP材料準備、打包上傳App、APP審核以及發布APP的詳細步驟。此外&#xff0c;還會提到利用appuploder工具簡化i…

Gradio學習(五)—————學習一下布局Column的使用

今天學一下布局 非常簡單row就是行column就是列 如下就是兩行兩列 scale就是縮放比例&#xff0c;如下按鈕類scale4&#xff0c;而文本框類scale1&#xff0c;按鈕類顯示寬度就是文本框類寬度的四倍 import gradio as gr with gr.Blocks() as demo:with gr.Row():with gr.Colu…

Spring Cloud 實戰系列之 Zuul 微服務網關搭建及配置

一、創建SpringBoot項目 用mavan搭建也可以。&#xff08;重要的是后面pom里應該引入那些依賴&#xff0c;application.yml怎么配置&#xff09; 由于開始構建項目時選擇了Eureka Server&#xff0c;所以pom.xml中不需要手動添加依賴了 首先在啟動類SpringcloudApplicatio…

SpringBoot項目連接Redis報錯:Connection refused: no further information

今天在使用SpringBoot連接Redis時發生了報錯 明明Jedis能夠連接成功為什么StringRedisTemplate就不行? 然后在網上找了一下說是關閉防火墻或者修改配置文件但是都不管用 最后發現是Redis在SpringBoot3之后yml的配置方式發生了改變 相較于之前多了一個前綴, 由于我剛開始沒有…