前陣子看到師大推廣部開了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.或從資料-資料表工具,修改資料類型與格式
備註:文字類型沒有格式可以選
備註:數值類型才有格式可以選