# 全方位大數據分析Power BI Desktop
課程時間: 9/15-16
## 共筆快速入門
https://hackmd.io/s/quick-start-tw
<font color=#f00>**如果有需要貼入圖片可以直接螢幕截圖放到本共同筆記裡,如以下影片示範**</font>
如果換字體顏色, 把以下程式碼拷貝來改即可
* <font color=#f00>紅字</font>
* <font color=#00f>藍字</font>
* <font color=#390>綠字</font>
## 簽到處
1. 瑋鍾 vechung.lin@gmail.com
2. 杭杭 kyudidi20391@gmail.com
3. 庭榛 shps85487@gmail.com
4. 林佳姿 hwza0142@gmail.com
5. 証藝 king08america@hotmail.com
6. 若茵 fralin0801@gmail.com
7. 文信 yearnlonely@gmail.com
8. 貴宇 hwza0490@gmail.com
9. 益祥 david670416@gmail.com
## <font color=#00f>問題提問處</font>
## <font color=#00f>相關連結</font>
課程網站連結 http://dsa.dsc.com.tw/DM/WB000003/course/S3055.htm
課程檔案下載處 https://drive.google.com/drive/folders/1IcC_eZfdCVI6AIOb_sfdK8r1F3sFGifJ
軟體下載
開課日上午09:00-09:20至鼎新電腦台北公司,新北市新店區中興路一段 222號3樓T304教室
參加這次精采的課程
開課日期:2022/09/15(四)、2022/09/16(五)
課程:全方位大數據分析Power BI Desktop(需自帶筆電)
課程時間:09:30~17:30 教室:T304

## <font color=#00f>主講人簡介</font>
王作桓 講師
## <font color=#00f>課程大綱</font>
### 一、大數據與 BI 的概念
1. 什麼是Power BI Desktop?
2. 什麼是Excel Power BI?
3. 下載安裝 Power BI Desktop
### 二、Power BI 的資料來源與匯入
1. 匯入各種數據到Power BI
2. 資料整理與資料類型正規化
3. 資料模型的觀念
4. 資料表的關連與階層設定
5. 報表檢視、資料檢視與關聯性檢視的應用
6. DAX函數建立「量值」公式
7. DAX函數建立行事曆資料表
8. 量值在財務分析上的應用
### 三、建立視覺效果
1. 圓形圖視覺效果
2. 群組直條圖視覺效果
3. 資料表視覺效果
4. 地圖視覺效果
5. 樹狀圖視覺效果
6. 瀑布圖視覺效果
7. 交义分析篩選器視覺效果
8. 從市集下載視覺效果
9. 視覺效果的細部設定
### 四、發行報告到Power BI Service
1. 發佈視覺效果到雲端
2. 建立雲端群組
3. 釘選視覺效果成為儀表板
## <font color=#00f>課程共筆</font>
### 一、大數據與 BI 的概念
- excel跑power bi 是很久之前開始的事情,不用寫程式
- 但是綁版本太緊密,造成瓶頸
- 目前獨立分離的Power BI對於不寫程式的使用者較友善
- 大數據4V特性
- 大量
- 快速
- 多變
- 真實
- ETL
- 可以免費下載power bi軟體
- FineReport在國內也是相當知名
- 下載安裝:http://powerbi.microsoft.com/zh-tw/desktop
- 喜節獅的電腦,適合跑大數據的資料 (老師的電腦)
- power bi desktop
- power bi pro 是需要買license,可以放到雲端去使用
- power bi premium 公司部屬用的
- power bi mobile 只能連到pro,不能夠直接連
** 處理如何共用的問題 **
--> 可以把資料弄成BPI檔案,然後寄給主管就可以用power bi desktop直接看
- 大數據的電腦的條件
Ram大小 16gb起跳
換硬碟 存取速度要快,硬碟空間要夠大 晶片式的M.2的硬碟,比傳統硬碟快10倍
不應該浪費時間處理數據
- 一開始不要直接按中間的開始,會變成安裝Power BI Pro
- 篩選是最重要的工具項目之一,會提升效率
### 二、Power BI 的資料來源與匯入
- Part 2 資料建模
- 2-1 ~2-8
- 其中2-8 Power Pivot是Power BI最重要的工具/ 其中量值 為最最重要
- 可以透過PBI去連結Access,用同樣的畫面去抓取資料
#### <font color=#390>2-2 匯入資料到Power Pivot</font>
- Excel載入資料
- Q. 載入 vs. 轉換資料
-
- 2-1匯入Excel工作表
- 2-2匯入CSV文字檔
- 2-2匯入TXT文字檔
- 使用資料 2-1匯入Excel工作表.xls
- 原始資料,從ERP出來,應該要把"範圍"的不同步更新的資料,透過轉屬性,把他變成表格,使他具有同步更新的能力,才會自動更新舊的報表。
- 不應該要直接就開始加工資料
- 海量資料庫 --> 只有訂單,是重複出現,是核心資料,資料多難以解讀,輕薄短小
- 其他的都是產品、通路、客戶資料 (是有限度的資料),用來串聯接海量資料庫,提供資訊
- 用來做出關聯資料庫/統計表/關聯的網路
- 資料表2 2-2匯入CSV文字檔.csv
- 資料夾 2-5六都房屋實價CSV
- 資料表 2-3 匯入Access資料庫
- 如果沒有Access也可以安裝,需要一個Access引擎
- 打關鍵字 Access引擎 -->
點 Microsoft Access Database Engine 2010 可轉散發套件 -->
https://www.microsoft.com/zh-tw/download/details.aspx?id=13255 -->
下載 X64位元 版本 (較能處理海量資料)
- 網路資料Json https://gis.taiwan.net.tw/XMLReleaseALL_public/activity_C_f.json
- 會被帶到Power Query的格式,資料夾同樣也會帶過來這個環境。進來後按左上角的關閉並套用。就可以帶回來原本格式

檔案管理的小技巧,請養成前面加一個當日日期
- 實體檔案Json
- 用取得資料/裡面的其他/ 選Json


- 資料夾 (最好用的格式)



選擇 合併並讚入

合併並轉換資料,會帶到後台去做清理ETL
會將六都的資料都放進來,而且會加入來源

把雲林的資料,放到資料夾裡面

重新整理

就會進來了

==> 最好的PBI的管理格式,就是用資料夾的格式去做同步整理,就可以去達成匯入資料的匯入
要用另存新檔,才能夠保存原始檔案
#### <font color=#390>2-3 資料模型觀念</font>
- 資料模型的概念
-
#### <font color=#390>2-4 建立資料表關聯</font>
米其林 花七天的時間先學PBI 然後2天請老師去看他們的資料庫和關聯表
- Fact Table 事實資料表 (海量資料表)
- Dimension Table 維度資料表 (輕薄短小,唯一不重複)
- 在Excel的環境,用vlookup來做併欄位 --> 應該要轉換成為資料表關聯的方式來做,會嚴重浪費時間和效率,是因為資料表少,會讓資料量大幅度增加。資料處理會耗用空間,拖慢速度
應該要在excel去做關聯,不要用vlookup這個方式,土法煉鋼
- 關聯有多類
- 多對一/ 一對多 為兩個關聯表的關係 為相同的觀念
- 多對多 為三個關聯表的關係
- *號代表多方,所以會出現在資料銷售明細那邊為主
- Q 維度資料表之間,是否要去做關聯 ?
#### <font color=#390>2-6 建立關聯與量值</font>
使用檔案 2-6 建立關聯與量值
先另存新檔成為今天的檔案
- 建關聯
從模型中刪除 行事曆 和 DAX

開始建立關聯

箭頭代表資料的流向

透過產品的類別來篩選
"交叉分析篩選器的方向"
**Q. 是否會影響到篩選的結果?**
自動偵測


#### <font color=#390>2-5 建立行事曆資料表</font>
- 建立萬年曆
- 日期是連續不中斷
- 透過函數產生萬年曆,使用時間智慧函數
- 面對的日期要是唯一不重複、並且連續不中斷
-
- eg. 訂單日期
- 一定要做一次,能夠用來做YoY的比較。Excel需要複雜加工
- 200個函式`,有100個是新的發明,好用
- 只要建一次就好,建立日期資料庫
- Calander函式
-學習函數
- 有些沒有邏輯的不用學,例如sum 或是財務類型的函數 (80多個)
- 要去學的是那些用陣列、複雜邏輯的函數
> 行事曆 =
ADDCOLUMNS (
CALENDAR (
MIN ('銷售明細'[銷售日期]),
MAX('銷售明細'[銷售日期])
),
"年度", YEAR ( [Date] )& "年",
"季度", "Q"& FORMAT ( [Date] , "Q" ),
"月", MONTH ( [Date] ) & "月",
"週", WEEKNUM ( [Date] )&"週",
"年季", YEAR ( [Date] ) &"-"&"Q" & FORMAT ( [Date] , "Q" ),
"年月", YEAR ( [Date] )&"-"& FORMAT( MONTH ( [Date] ),"00") ,
"年週", YEAR ( [Date] )&"-"&WEEKNUM ( [Date] )&"週",
"星期", FORMAT ( [Date] , "aaaa" ),
"中文年月", YEAR ( [Date] )& "年" & MONTH ( [Date] ) & "月")

新增資料表,貼到欄位中


較完整版本
但是要把萬年曆去和訂單的銷售日期關聯,才能夠發揮用途

可以將其中部分關聯的移除掉(設成不作用),例如可以分析其中退貨或銷貨日期,然後再去勾選,看你要分析甚麼樣的資料。
報表有錯,第一個事情反而是要去查關聯。看有沒有被排除或是,其他沒有用來作用的,要把他設定成為非關聯。
交叉篩選器,有分成為雙向或是單向,甚至是篩選再去篩選
目前這兩種方向,差異應該沒那麼大 (老師說的)
- 星型架構 vs. 雪花架構
- 硬體的架構和速度提升,導致目前不用在這部分著墨太多
- 星型架構可能在比較單純的初始公司
- 雪花架構也是可以被接受,架橋的方式來對聯
- **現實世界的常態**
-
- 比較好檢查是否有錯誤,是用 管理關聯性 來確認是否有錯
- 
#### <font color=#390>2-8 Power Pivot的核心功能 - 量值(Measure) </font>
DAX函數 (Data Analysis Expressions) 或稱為語法
- 所有圖表都是基於DAX完成
- 毛利率除法有特殊的格式,要再看一下課本
準備工作
- 檢查並修正資料行的屬性
- 有DAX的
- 建立DAX函式庫
- 避免干擾和混亂原有的表格欄位
- 獨立一個管理量值的前置作業
- 常用/ 輸入資料/ (用來建立一個空的函式庫)




預設建立的欄位表一
後面才能夠刪掉
接下來要建立十種量值

其中一種方法
DAX函式前面最好要加上一個編號 比較好管理

- 十個函式自己key
- 建立量值的方法與實作 -2
- 在報表中展現量值
- 重點在於解讀放入報表的數字
- 解讀是難度,能夠解釋的清楚,來龍去脈如何展現
- 重點在於數字格式要從哪裡設定
- 重點在於能否調整量值的名稱,改成可懂得的項目


累加數字,會用最後的一年來算,是篩選之後的結果
銷售金額,是類似一年一年度重新計算並且去計算加總
年度迄今,是把全部的加在一起,
樞紐分析表中的異常,需要能夠知道異常的原因和原理原則,去做解釋
Q. 那要如何正確地呈現加總?
Q. 這樣如果要做成高階的支援報表,要如何解釋給他們這樣的加總是有問題的?
可以轉成網頁,放在雲端放成網頁,互動的活動網頁
[矩陣]
04矩陣
[DAX年齡層資料行]

> 年齡層 = SWITCH(TRUE(),
[年齡] <= 29,"20-29歲",
[年齡] <= 39,"30-39歲",
[年齡] <= 49,"40-49歲",
[年齡] <= 59,"50-59歲",
[年齡] <= 69,"60-69歲",
[年齡] <= 79,"70-79歲",
"80歲以上"
)

[建立階層]


品牌新增到階層

目前已經差異不大了
### Part3 資料正規化
#### <font color=#390> 3-1 Power Query的用途 </font>
日期是很常會出狀況的地方
日期維度是PBI相當強的地方
從前台進入PowerQuery後台,都會跳出錯誤圖案,是正常 (老師)

按資料來源設定

點變更來源,更改路徑,正確的載入資料來源


- 透過刪除資料行,把不需要的移除
- 橫向的透過篩選欄位篩選

只是隱藏資料,會產生查詢步驟

清除垃圾資料 - 移除資料行 & 移除資料列
透過Power Query 可以提供正規化完成後的資料表
- 資料清理兩種做法
- 轉換 (不保留錯誤)

使用轉換/ 標準 可以 加減乘除


使用 捨入 來設定小數點後幾位
- 轉換日期
交易日期轉換
民國年份轉成西元日期
加19110000

再使用分割資料行

再做合併資料行


資料類型:文字 --> 轉成日期

- 地址切割 (使用新增資料行)
工具/ 擷取
擷取前三個字元

太快了
總之可以用 標準 去做除的動作,先選 總價元,再選坪數欄位

[第二天課程]
可以去用日期 去作出 月底/月中/月初的日期
可以用來幫助其他人使用

- M語言的使用
最上面的模組參考,不能刪掉
[建立空白查詢]

進入進階編輯器
但是需要基礎的模組參考






重新做完載入資料,才會正常
---
#### <font color=#390> 3-4 客製化報表正規化 </font>
範例一 寬表格
使用寬表格是錯誤,例如把台北市、新北市都分開 八欄變成2欄就好
--> 報表的結構,而不是資料庫的結構
PowerQuery可以很快速地做資料轉換,不管有多少欄都可以轉成兩欄
範例二 怪異格式
把多個訂單都放在同一個資料欄位
範例三 門市區分(寬表格),然後又分不同的資料(庫存、銷量)
這是報表,不能用來作分析,需要轉成資料庫

使用檔案
3-2客製化報表正規化
打開 然後進去Query

更新路徑
文字欄不需要正規畫,是數字欄需要正規劃

選取區域
然後按轉換/ 取消資料行樞紐 unprovot 就轉成為長表格


如果要把長表格轉換成為寬表格,反而把兩欄轉成為八欄
是選文字欄跟數字欄各一欄
反向去做
按轉換/ 樞紐資料行


使用 取消其他資料行樞紐 可以使用選取文字欄(表頭),不選很多的數字欄(如兩百家通路名稱)

#### 寬表格轉長表格 - 怪異格式

- 用轉換切割
透過 / 去切割 並且看要怎麼切 儒家逗號
- 另外的是四欄然後轉成一欄
- 用取消資料行樞紐
- 用 分割資料行 可以把( 給切割開
清除 ) --> 用 "取代值" 去把 ) 給取消掉
- 改變資料類型
- 把資料從文字轉成數字
- 使用取消資料表內容
#### 多重結構化的寬表格

以前可以做,新版的不能做,
必須要把最右邊的最後兩個步驟刪掉


這樣才可以做
最後面的幾列要刪除
要回到常用底下,去用移除資料列 這個功能才能夠刪掉



包含總計列都不要保留
步驟二、把大甲店都放去處理
PBI只能用向下填滿
先做轉置


用向下
使用第一個當標頭

去做其他取消資料行樞紐


---
使用檔案 3-3管理查詢
要先把四個檔案的位置路徑都重新確認完
更改名稱

- 複製查詢 (對外的查詢,可以貼在外面)
-不常用
Ctrl -C 先複製2-5 ,看不到,然後重新開一個新的查詢,才會看到


- 重複查詢
- 內部做一個重複
- 重複查詢
- 在裡面再去加工處理
- 不要去刪除中間的步驟,會出錯誤
- 但是可以按右鍵,刪除到結尾
- 注意刪除之後是不能還原,小心記得保留原檔


- 參考查詢
- 源頭的步驟會被打包,是分身
- 源頭的資料(來源)是不能夠更改的


- 可以在原本的檔案,去做擷取先前的,

做出一個New Query

建議是會用到參考查詢就可以
#### 合併查詢與附加查詢 P37課本
把附加資料
練習台中和台北

合併跑一個新的查詢
並且把產品明細和銷售明細和再一起
先點銷貨明細

使用右上角的 合併查詢 (會影響源頭不使用) 或是 將查詢合併為新查詢


把產品資料 合併進來
選取 兩邊的產品編號
PBI用 inner join的資料庫方式
但是 聯結總類 不用去選了,因為現在會自動識別

最後拉到表的最右邊,才在那邊選擇

在這邊去選擇那些要勾選,就類似Vlookup的功能


- 附加查詢
- 把台中和台北的合併一起
- 先選台北,然後附加台中



但是夠熟的不會用這個功能,會使用都放在同一個資料夾,然後一起自動就會合併在一起
用資料夾比較好用
- 資料表的分組依據
- 類似Excel的小記功能
- 現在都會用樞紐分析表去達成 @Excel
使用檔案 3-3管理查詢 2-5
先做一個副本
依據 市 去分組依據
選擇一個 分組依據


產生一個快速統計表

改條件,按右下角的齒輪就可以改




再加入彙總


Power Query全部講完了,可以存檔了 Q_Q 2022/9/16 11:44 好...特別的體驗
### 三、建立視覺效果
Part 4 設計視覺效果 Power View

4-1~ 4-6
使用 4-1 建立視覺效果檔案
使用 20220915 2-6 建立關聯與量值
改名稱為組建視覺效果/ 格式化視覺效果/ 分析

建立多個塗層,使用鑽研,能夠展現各自,和把全部合在一起


取消 串連標籤 才會正確顯示
![Uploading file..._w6ucws70v]()
![Uploading file..._95s1b8sqn]()
---
書籤


選擇不要同步

### 四、發行報告到Power BI Service
如何提供給別人
1. 把PBI當成附件寄給別人
2. 轉成網址,上傳到雲端,內嵌在內網裡面
Pro 要買 13,15的版本
才會內建power BI工具