Power BI / 師大進修推廣課程上課筆記

文章索引

前陣子看到師大推廣部開了POWER BI的課程,講師是蠻有名的李燕秋老師

在N年前還在國北的時候,曾經去參加過威力導演的校內研習

她是一位可以在課程中用實例操作來說明軟體概念的老師

為了對 POWER BI 能夠有比較完整的認識,因此報名了這個課程

而且,通常這類型課程除了會講到基本操作之外

也會講解最特別的功能─這是我需要的

這是兩天共12小時的課程,我將我覺得必須記錄下來的部分整理出來避免忘記

 

◎基本概念

POWER BI與資料來源是連結/查詢關係,無法在POWER BI變更原始資料;但是原始資料修改之後,在POWER BI重新整理就能夠更新資料

POWER BI採用絕對路徑連結資料來源,如果有檔案名稱或路徑的改變情況,要在「資料來源設定」重新設定

POWER BI兼具資料取得、整理、分析與呈現功能

多個資料表/資料來源必須彼此之間要有關聯,才能做有意義的處理

 

◎操作界面

1.左邊的頁面:報告、資料、模型

1)報告:呈現視覺化效果的頁面

2)資料:呈現所載入的資料表,可以進行資料處理的操作;但是完整的處理必須從上方功能─轉換資料,進入POWER QUERY裡處理

3)模型:呈現與製作資料表的關聯性

2.上方的功能頁面,會依據所點選的頁面不同而自動帶出相對應的工具

3.最右邊的欄位:呈現所載入的資料表資料內容

4.右二的視覺效果:在報告呈現的效果,可以進一步設定「值」與「格式」

5.最下方是分頁

 

◎取得資料

首頁─取得資料


 

1.單一檔案匯入

 

2.多檔匯入

1)以資料夾方式匯入,資料表欄位/架構必須一致,後加入的檔案會以附加方式匯入在同一個查詢資料表

2)分批匯入,產生各自獨立的查詢資料表,再以某一個資料表為主,附加其他資料表的內容

備註:附加查詢:相同結構的資料表,新增資料筆數;合併查詢,增加資料欄位,但合併的資料表必須要有關聯

 

3.從Web,例如:google forms的結果→google sheets

1)取得google sheets的共用連結:任何知道連結的使用者、可編輯;修改網址/edit?usp=sharing →/export?format=xlsx

2)或發布至網路,整份文件/.xlsx /pub?output=xlsx

 

4.單一excel工作簿多工作表,匯入之後,以某一個資料表為主附加查詢增加其他資料表的內容

 

5.其他還有很多,像是我之前自己嘗試用的Sqlite

 


在取得資料之後必須進行資料處理(也有人稱為資料清理)

其中有個很重要的關聯式資料表(庫)概念

涉及之後跨資料表的操作與運用

 

◎資料處理-關聯式資料表(庫)

資料表通常會將可以作為基本資料的內容獨立成另一個資料表,與會持續更新內容/資料筆數的資料表以關聯方式連結

這樣可以精簡資料表的欄位,也方便資料表的管理

1.關聯式資料表(庫)

1)兩個或兩個以上的資料表,擁有相同內容的資料欄位(名稱可以不同),例如:索引編號,作為資料表的關聯,有點類似excel的工作表之間可以透過VLOOKUP建立查詢的效果

2)關聯欄位的值,通常是英數格式

3)基本資料表的索引值(key值)不能重複

4)關聯屬性:通常為:基本資料表 1 → * 交易資料表 1對多

備註:如果資料表都是文字型態資料,BI會無法判斷資料表標頭(欄位名稱),解決方法→POWER QUERY→使用第一個資料列作為標頭

 

這個概念可以用來處理表單的資料

2.google表單,量表資料處理,例如:線性刻度、單選方格

新增一個內容為量表數字(1)與量表內容(非常不滿意)對應的資料表,並且與原始資料表產生關連

後記:

後來發現這樣的方式,如果問卷有兩個以上的問題共用一個量表文字,結果都只會出現其中一個問題的數據

解決辦法:分別建立新的量表文字再做關聯,也就是有幾個問題就要有幾個量表文字資料表

或者直接在原始資料先進行處理再進入POWER BI


 

3.google表單,複選題資料處理(核取方塊)

1)複製原始資料表,刪除不需要的內容做為選項結果資料表

2)分割資料行(類似excel的資料剖析)

3)選取分割後產生的資料行,取消資料行樞紐

4)兩個資料表建立關聯(索引對索引)

備註:BI兩個資料表可以建立1個以上的關聯,但只有第1個會有作用,其他是做為備用

備註:假如資料表沒有欄位可以作為索引值→先新增索引資料行

 


◎資料處理-POWER QUERY

1.DAX,公式引用的是資料表與欄位名稱( '資料表ˋ[欄位名稱]' ),會計算同一資料表同一欄位的所有資料

 

資料處理除了在原有資料之外,可以新增量值或資料行來進行其他資料處理

2.量值與資料行

1)量值:

a.內隱量值:在視覺效果→值,所進行的預設計算方式,例如:平均數、計數……

b.明確量值:以公式存在,不使用時不佔記憶體,不存在於資料表

2)資料行:必須存在於資料表,也是對於資料表資料所進行的處理

3)在資料表的「欄位」按右鍵可以新增量值與資料行,量值與資料行是不一樣的圖示

或,在「資料」頁面的上方功能─「資料表工具」也可以新增量值與資料行


 

3.常用的函數─迭代函數(=excel聚合函數)

1)SUMX( 資料表  , 運算式 )

總營業額_sumx = sumx('0-交易資料','0-交易資料'[數量]*'0-交易資料'[單價])

2)AVERAGEX( 資料表  , 運算式 )

平均_averagex = AVERAGEX('0-交易資料','0-交易資料'[單價]*'0-交易資料'[數量])

3)CALCULATE( 計算器 , 篩選器 )

a.計算器→量值

b.篩選器:
-條件,只能單一欄位進行比較運算,例如:欄位 = > < 某某值

小計大於等於1000的銷售額 = CALCULATE('0-交易資料'[總營業額_sumx],'0-交易資料'[小計] > = 1000)

-使用ALL函數,排除指定的資料表或資料欄位

最大值 = CALCULATE('0-交易資料'[總營業額_sumx],ALL('0-交易資料'),ALL('0-商品資料'),ALL('0-店家資料'))

-使用FILTER函數,可多欄位篩選進行比較運算,例如:欄位A = > < 欄位B

單價大於回收金的營業額 = CALCULATE('0-交易資料'[總營業額_sumx],FILTER('0-交易資料','0-交易資料'[單價] > = '0-交易資料'[回收金]))


 

4.其他函數

1)COUNTROWS(‘資料表’),計算資料表總筆數

總交易次數 = COUNTROWS('0-交易資料')
 

2)RELATED 取得其他關聯資料表的資料欄位

總營業額_sumx_related = sumx('0-交易資料','0-交易資料'[數量] * RELATED('0-商品資料'[單價]))
 

3)if ( 條件 , 成立時執型 , 不成立時執行 )

大筆 = if('0-交易資料'[小計]>=1000,"Y","")
 

4)switch
a.switch(TRUE(),'資料表'[欄位名稱]條件1,結果1,
                         '資料表'[欄位名稱]條件2,結果2,
                         '資料表'[欄位名稱]~~~~~,~~~~~,
                          皆不成立時執行
                )

地區 = SWITCH(TRUE(),'0-交易資料'[店家名稱] ="高雄五店","南區",
                     '0-交易資料'[店家名稱]="台南四店","南區",
                     '0-交易資料'[店家名稱]="台中三店","中區",
                     '0-交易資料'[店家名稱]="台北二店","北區",
                     '0-交易資料'[店家名稱]="台北一店","北區",
                     ""
                )

b.switch('資料表'[欄位名稱],
                          條件1,結果1,
                          條件2,結果2,
                          ~~~~~,~~~~~,
                         皆不成立時執行
                )

地區_map = SWITCH('0-交易資料'[店家名稱],
                                       "高雄五店","高雄市",
                                       "台南四店","台南市",
                                       "台中三店","台中市",
                                       "台北二店","新北市",
                                       "台北一店","台北市",
                                       ""
               
)

備註:方法b,只能進行等於的處理

 

◎資料呈現-視覺效果

1.矩陣,類似excel的樞紐分析,可以跨資料表 (但是資料必須有關聯)

 

2.量測計

1)最大值,可用「量值」取得資料欄位的總和→變動式的設定

2)目標值,可用「量值」設定一個數值,之後只要修改量值即可

備註:如何排除量測計中篩選上下文的影響

1)什麼是篩選上下文(大陸翻譯)

有連帶關係的篩選結果,在視覺效果1選A,其他視覺效果連帶只呈現A的結果

2)什麼是表/行上下文

BI裡的運算是在資料欄位進行,所以資料欄位(第一行)的公式會迭代運行至所有行

3)如何排除篩選上下文

建立的量值,利用Calculate + All 函數忽略其他資料表/資料欄位

例如:最大值 = CALCULATE('0-交易資料'[總營業額_sumx],ALL('0-交易資料'),ALL('0-商品資料'),ALL('0-店家資料'))
 

備註:另一種方式→格式→編輯互動,可以單向取消某一視覺效果對其他視覺效果的互動

 

3.製作按鈕呈現動態篩選資料效果

1)視覺效果/建立交叉分析篩選器(類似excel篩選)

2)檢視/書籤:新增書籤,書籤會記錄目前頁面的狀態,包含篩選結果

3)點選交叉分析篩選器,建立相對應的書籤

4)插入/空白按鈕→按鈕文字:指定相對的篩選結果;動作:書籤,指定對應的書籤

5)Ctrl+點選按鈕可以預覽

備註:交叉分析器不能刪除,所以放在其他視覺效果之下(隱藏)

 


 

4.map,結合Bing map

1)位置,目前測試結果沒辦法呈現完整地址的視覺效果

2)經緯度與位置只能二擇一

3)大小:視覺化圖例的大小

4)泡泡:可以調整圖例的比例

5)地圖控制項:預設是關閉,會自動呈現滿版的所有資料;可以在這邊開啟調整縮放按鈕


 

5.調整視覺效果的數值格式-量值工具

 

6.或從資料-資料表工具,修改資料類型與格式

備註:文字類型沒有格式可以選

 

備註:數值類型才有格式可以選