在多個數據源中通常會有數據。 例如,您可以有兩個資料庫,一個用於產品資訊,另一個用於銷售資訊。 透過 Power BI Desktop,您可以結合來自不同來源的數據,以建立有趣、吸引人的數據分析和視覺效果。
在本教學課程中,您會結合來自兩個數據源的數據:
- 包含產品資訊的 Excel 活頁簿
- 包含訂單數據的 OData 摘要
您將匯入每個語意模型,並執行轉換和匯總作業。 然後,您可以使用這兩個來源的數據來產生具有互動式視覺效果的銷售分析報表。 稍後,將這些技術套用至 Power BI Desktop 中的 SQL Server 查詢、CSV 檔案和其他數據源。
注意
在 Power BI Desktop 中,通常有幾個方式可以完成工作。 例如,您可以在欄或儲存格上單擊滑鼠右鍵或使用 更多選項 選單,以查看更多功能區選項。 下列步驟會說明數個替代方法。
匯入 Excel 產品數據
首先,將產品數據從 Products.xlsx Excel 活頁簿匯入 Power BI Desktop。
下載 Products.xlsx Excel 活頁簿,並將其儲存為 Products.xlsx。
在 Power BI Desktop 功能區的 [首頁 ] 索引標籤中,選取 [取得數據 ] 旁的箭號,然後從 [一般數據源 ] 功能表中選取 [Excel ]。
注意
您也可以選取 [取得數據] 專案本身,或從 [Power BI 開始使用] 對話框中選取 [取得 數據],然後選取 [Excel] 或 [檔案>Excel],然後在 [取得數據] 對話框中選取 [Connect]。
在 [開啟] 對話框中,流覽至並選取 Products.xlsx 檔案,然後選取 [[開啟]。
在 Navigator中,選取 Products 表格,然後選取 轉換資料。
數據表預覽會在 Power Query 編輯器中開啟,您可以在其中套用轉換來清除數據。
注意
zh-TW: 您也可以從 Power BI Desktop 的 Home 功能區選取 [轉換資料],或在 報表 檢視中,於任何查詢旁點擊右鍵或選擇 [更多選項],然後選取 [轉換資料]。
清理欄位
您的合併報表會使用 Excel 活頁簿的 ProductID、ProductName、QuantityPerUnit和 UnitsInStock 數據行。 您可以移除其他資料行。
在 Power Query 編輯器中,選取 ProductID、ProductName、QuantityPerUnit和 UnitsInStock 數據行。 您可以使用 Ctrl 來選取多個數據行,或 Shift 來選取彼此旁邊的數據行。
以滑鼠右鍵按下任何選取的標頭。 從下拉功能表中選取 [移除其他欄]。 您也可以從 [首頁] 功能區索引標籤中的 [管理列] 群組中選取 [移除列]>[移除其他列]。
匯入 OData 饋送的訂單資料
接下來,從範例 Northwind 銷售系統 OData 摘要匯入訂單數據。
在 Power Query 編輯器中,選取 新增來源,然後從 常用功能 功能表中,選取 OData 饋送。
在 [OData 資料來源] 對話方塊中,貼上 Northwind OData 資料來源的 URL,
https://services.odata.org/V3/Northwind/Northwind.svc/
。 選取 [確定] 。在 Navigator中,選取 Orders 數據表,然後選取 [確定],將數據載入 Power Query 編輯器。
注意
在 Navigator中,您可以選取任何數據表名稱,而不選取複選框,以查看預覽。
展開訂單資料
當連接到包含多個數據表的數據來源時,您可以使用數據表參考來建立查詢,例如關係資料庫或 Northwind OData 資料流。 Orders 資料表包含數個相關數據表的參考。 您可以使用展開作業,將 ProductID、UnitPrice,以及 Quantity 數據行從相關 Order_Details 數據表新增至主旨 (Orders) 數據表。
向右捲動 Orders 表格,直到您看到 Order_Details 欄位為止。 它包含對另一個表的參考,而不是具體的數據。
選取 Order_Details 列標頭中的 展開 圖示(
)。
在下拉選單中:
選取 (選取所有列) 清除所有列。
選取 ProductID、UnitPrice和 Quantity,然後選取 [確定] 。
展開 Order_Details 數據表之後,三個新的巢狀數據表數據行會取代 Order_Details 數據行。 在表格中,為每筆訂單新增的數據添加了新的行。
建立自定義計算結果列
Power Query 編輯器可讓您建立計算和自定義欄位,以擴充您的數據。 您可以建立自訂欄位,將單價乘以項目數量,以計算每個訂單項目的總價格。
在 Power Query 編輯器的 [新增數據行] 功能區索引標籤中,選取 [自定義數據行]。
在 [自定義數據行] 對話框中,於 [新增數據行名稱] 欄位中輸入 LineTotal。
在 =之後的 [自定義數據行 公式] 字段中,輸入 [Order_Details.UnitPrice] * [Order_Details.Quantity]。 您也可以從 [可用欄位] 卷動方塊中選取欄位名稱,然後選取 << [插入],而不是輸入。
選擇 [確定] 。
新的 LineTotal 欄位會顯示為 Orders 數據表中的最後一個數據行。
設定新欄位的數據類型
當 Power Query 編輯器連線到數據時,它會針對每個欄位的數據類型進行最佳猜測,以供顯示之用。 標頭圖示表示每個欄位的指派數據類型。 您也可以在 [首頁] 功能區索引標籤 的 [轉換] 群組的 [數據類型] 下查看。
新的 LineTotal 欄位具有 Any 數據類型,但其內容為貨幣值。 若要指派數據類型,請以滑鼠右鍵按兩下 LineTotal 資料行標頭,從下拉功能表中選取 [變更類型],然後選取 [固定小數。
注意
您也可以選取 [LineTotal] 數據行,然後在 [轉換] 功能區索引卷標的 [轉換] 區域中選取 [ 數據類型] 旁的箭號,然後 選取 [固定小數]。
清理訂單欄位
若要讓您的模型更容易在報表中使用,您可以刪除、重新命名和重新排序某些數據行。
您的報表會使用下列欄:
- 訂單日期
- ShipCity
- 運送國家
- Order_Details.ProductID
- Order_Details.UnitPrice
- 訂單詳情.數量
- 行總計
選取這些欄,然後使用 [移除其他欄],就像你對 Excel 資料所做的一樣。 或者,您可以選擇未列出的欄位,在其中一個欄位上按滑鼠右鍵,然後選取移除欄位。
您可以重新命名前綴為「Order_Details.」的欄位,讓它們更容易閱讀。
按兩下或點選並按住每個欄位標題,或以滑鼠右鍵點擊欄位標題,然後從下拉選單中選擇 [重新命名] 。
刪除每個名稱的前綴以及 Order_Details。
最後,若要讓 LineTotal 欄更容易存取,將它拖放到 ShipCountry 欄的右側。
檢閱查詢步驟
您在 Power Query 編輯器中的塑形和轉換數據動作會被記錄。 動作會顯示在[查詢設定] 窗格的右邊,在[套用步驟]下。 您可以回溯 套用的步驟,以檢閱您的步驟,並視需要編輯、刪除或重新排列這些步驟。 不過,變更上述步驟是有風險的,因為這樣可能會中斷後續步驟。
在 Power Query 編輯器左側的 [查詢] 清單中,選取每個查詢,然後檢視 [查詢設定]中的 [套用的步驟]。 套用先前的數據轉換之後,兩個查詢的 套用步驟 看起來應該像這樣:
產品查詢
訂單查詢
提示
套用步驟的基礎是以 Power Query Language撰寫的公式,也稱為 M 語言。 若要查看和編輯公式,請在功能區[首頁]索引標籤的[查詢]群組中,選取[進階編輯器]。
匯入已轉換的查詢
當您滿意已轉換的數據,並準備好將它匯入 Power BI Desktop 報表 檢視時,請選取 [關閉 & [套用>關閉] & [套用 首頁] 功能區索引卷標 [關閉] 群組中的 [套用]。
載入數據之後,查詢會出現在Power BI Desktop 報表 檢視中的 [Fields] 列表中。
管理語意模型之間的關聯性
Power BI Desktop 不需要您結合查詢即可對其產生報告。 不過,您可以使用語意模型之間的關聯性,根據共同欄位來擴充和豐富您的報表。 Power BI Desktop 可能會自動偵測關聯性,或者您可以在 [Power BI Desktop 管理關聯性] 對話框中建立關聯性。 如需詳細資訊,請參閱 在 Power BI Desktop中建立和管理關聯性。
共用 ProductID
欄位會建立本教學課程 Orders
與 Products
語意模型之間的關聯性。
在 Power BI Desktop [報表] 檢視中,選取 [模型化 功能區索引卷標的 [關聯性] 區域中的 [管理關聯性]。
在 [管理關聯性] 對話框中,您可以看到 Power BI Desktop 已偵測到並列出 Products 與 Orders 數據表之間的作用中關聯性。 若要檢視關聯性,請選擇 [編輯]。
開啟 [編輯關係],顯示關聯的詳細資訊。
Power BI Desktop 已正確偵測關聯性,因此您可以選取 [取消],然後 [關閉]。
在 Power BI Desktop 的左側,選取 [模型] 以檢視和管理查詢關聯性。 雙擊連接兩個查詢的線上的箭頭,以開啟 編輯關聯性 對話框,並檢視或變更關聯性。
若要從 模型 檢視返回 報表 檢視,請選取 報表 圖示。
使用您的數據建立視覺效果
您可以在 Power BI Desktop 檢視中建立不同的視覺效果,以取得數據見解。 報表可以有多個頁面,而且每個頁面可以有多個視覺效果。 您和其他人員可以與您的視覺效果互動,以協助分析和了解數據。 如需詳細資訊,請參閱 在 Power BI 服務中編輯檢視中的報表互動。
您可以使用這兩個數據集及其之間的關聯性,協助可視化和分析銷售數據。
首先,建立堆棧柱形圖,使用這兩個查詢中的字段來顯示每個已訂購產品的數量。
從右側 [欄位] 窗格中的 [訂單] 選取 [數量] 欄位,或將它拖曳到畫布上的空白空間。 系統會建立堆棧柱形圖,以顯示已訂購的所有產品總數。
若要顯示每個已訂購產品的數量,請從 [字段] 窗格中的 [Products]選取 [ProductName],或將其拖曳到圖表上。
要將產品按訂購數量從多到少排序,請選擇視覺效果右上角的省略號(...),然後選取 [更多選項],接著選取 [排序依據>數量]。
使用圖表角落的控點來放大它,以便顯示更多產品名稱。
接下來,建立圖表,顯示一段時間的訂單金額(LineTotal)(OrderDate)。
在畫布上未選取任何專案時,請從 [訂單] 下的 [字段] 窗格中選取 [LineTotal],或將它拖曳至畫布上的空白空間。 堆疊柱形圖會顯示所有訂單的總金額。
選取堆棧圖表,然後從 Orders選取 [OrderDate],或將其拖曳到圖表上。 圖表現在會顯示每個訂單日期的折線總計。
拖曳角落以調整視覺效果的大小,並查看更多數據。
提示
如果您只在圖表上看到 [年],而且只有三個數據點,請在 [視覺效果] 窗格的 [坐標軸] 字段中選取 [OrderDate] 旁的箭號,然後選取 [OrderDate],而不是 [Date Hierarchy]。 或者,您可能需要從 [檔案] 功能表中選取 [選項和設定 >] [選項],然後在 [數據載入] 下,取消勾選 [自動日期/時間 for 新檔案] 的選項。
最後,建立一個地圖,顯示來自每個國家或地區的訂單金額。
在畫布上未選取任何專案時,請從 [字段] 窗格中的 [訂單] 選取 [ShipCountry],或將它拖曳至畫布上的空白空間。 Power BI Desktop 偵測到數據是國家或地區名稱。 然後,它會自動建立一個地圖可視化,其中包含每個有訂單的國家/地區的數據點。
若要讓數據點大小反映每個國家/地區的訂單量,請將 [LineTotal] 字段拖曳到地圖上。 您也可以將它拖曳至 [視覺效果] 窗格中的 [大小] 下的 [新增數據欄位]。 地圖上圓形的大小現在會反映每個國家/地區訂單的金額。
與報表視覺效果互動以進一步分析
在 Power BI Desktop 中,您可以與彼此交互強調和篩選的視覺化互動,以發掘更多趨勢。 如需詳細資訊,請參閱 power BI 報表中的 篩選和醒目提示。
由於查詢之間的關聯性,與一個視覺效果的互動會影響頁面上所有其他視覺效果。
在地圖上的視覺化圖表中,選擇以 加拿大為中心的圓形。 其他兩個視覺效果會篩選資料,突顯加拿大的總計數字和訂單數量。
選取依 ProductName 圖表產品的 數量,以查看地圖和日期圖表篩選,以反映該產品的數據。 選取 LineTotal by OrderDate 圖表日期,以查看地圖和產品圖表篩選,以顯示該日期的數據。
提示
若要清除選取範圍,請再次選取它,或選取其中一個其他視覺效果。
完成銷售分析報表
您完成的報表將 Products.xlsx Excel 檔案和 Northwind OData 資料 Feed 的數據結合在視覺圖表中,以協助您分析不同國家/地區的訂單資訊、時間範圍和產品。 當您的報表準備就緒時,您可以 將其上傳至 Power BI 服務,與其他 Power BI 用戶共用。
相關內容
- Microsoft Learn 的 Power BI 訓練
- 觀看 Power BI 影片
- 流覽 Power BI 論壇
- 閱讀 Power BI 部落格