教學課程:分析 Excel 和 OData 摘要的銷售數據

在多個數據源中通常會有數據。 例如,您可以有兩個資料庫,一個用於產品資訊,另一個用於銷售資訊。 透過 Power BI Desktop,您可以結合來自不同來源的數據,以建立有趣、吸引人的數據分析和視覺效果。

在本教學課程中,您會結合來自兩個數據源的數據:

  • 包含產品資訊的 Excel 活頁簿
  • 包含訂單數據的 OData 摘要

您將匯入每個語意模型,並執行轉換和匯總作業。 然後,您可以使用這兩個來源的數據來產生具有互動式視覺效果的銷售分析報表。 稍後,將這些技術套用至 Power BI Desktop 中的 SQL Server 查詢、CSV 檔案和其他數據源。

注意

在 Power BI Desktop 中,通常有幾個方式可以完成工作。 例如,您可以在數據行或儲存格上單擊滑鼠右鍵或使用 [更多選項 ] 選單,以查看更多功能區選取專案。 下列步驟會說明數個替代方法。

匯入 Excel 產品數據

首先,將產品數據從 Products.xlsx Excel 活頁 簿匯入 Power BI Desktop。

  1. 下載Products.xlsx Excel 活頁簿 ,並將其儲存為 Products.xlsx

  2. 選取 Power BI Desktop 功能區 [首頁] 索引標籤中 [取得數據] 旁箭號,然後從 [一般數據源] 功能選取 [Excel]。

    Screenshot that shows the Get data menu.

    注意

    您也可以選取 [取得數據項] 本身,或從 [Power BI 開始使用] 對話框選取 [取得數據],然後在 [取得數據] 對話框中選取 [Excel] 或 [檔案>Excel],然後選取 [連線]。

  3. 在 [ 開啟 ] 對話框中,流覽至並選取 Products.xlsx 檔案,然後選取 [ 開啟]。

  4. 在 [ 導覽器] 中 ,選取 [產品 ] 數據表,然後選取 [ 轉換數據]。

    Screenshot that shows the Navigator screen with the Products table highlighted.

    數據表預覽會在 Power Query 編輯器 中開啟,您可以在其中套用轉換來清除數據。

    Screenshot that shows the Power Query Editor.

注意

您也可以從 Power BI Desktop 的 [首頁] 功能區選取 [轉換數據],或以滑鼠右鍵按兩下或選擇 [報表] 檢視中任何查詢旁的 [更多選項],然後選取 [轉換數據],以開啟 Power Query 編輯器。

清除數據行

合併的報表會使用 Excel 活頁簿的 ProductIDProductNameQuantityPerUnitUnitsInStock 數據行。 您可以移除其他資料行。

  1. 在 Power Query 編輯器 中,選取 ProductIDProductNameQuantityPerUnitUnitsInStock 數據行。 您可以使用 Ctrl 來選取多個數據行,或 Shift 來選取彼此旁邊的數據行。

  2. 以滑鼠右鍵按下任何選取的標頭。 從下拉功能表中選取 [移除其他數據 行]。 您也可以從 [常用] 功能區索引標籤的 [管理數據行] 群組中選取 [移除>其他數據行]。

    Screenshot that highlights the Remove Other Columns option.

匯入 OData 摘要的訂單數據

接下來,從範例 Northwind 銷售系統 OData 摘要匯入訂單數據。

  1. 在 Power Query 編輯器 中,選取 [新增來源],然後從 [最常見] 功能表中選取 [OData 摘要]。

    Screenshot that highlights the OData Feed option.

  2. 在 [ OData 摘要 ] 對話框中,貼上 Northwind OData 摘要 URL, https://services.odata.org/V3/Northwind/Northwind.svc/。 選取 [確定]。

    Screenshot that highlights the URL field in the OData feed dialog box.

  3. [導覽器] 中,選取 Orders 數據表,然後選取 [確定] 將數據載入 Power Query 編輯器。

    Screenshot that highlights the Orders table in the OData navigator.

    注意

    [導覽器] 中,您可以選取任何數據表名稱,而不選取複選框,以查看預覽。

展開訂單數據

當使用多個數據表聯機到數據源時,您可以使用數據表參考來建置查詢,例如關係資料庫或 Northwind OData 摘要。 Orders 數據表包含數個相關數據表的參考。 您可以使用展開作業,將相關Order_Details數據表中的 ProductIDUnitPriceQuantity 資料行新增至主旨 (Orders) 數據表。

  1. 捲動至 Orders 資料表的右側,直到您看到Order_Details數據行為止。 它包含另一個數據表的參考,而不是數據。

    Screenshot that highlights the Order_Details column.

  2. Order_Details數據行標頭中選取 [展開] 圖示 ()。

  3. 在下拉選單中:

    1. 選取 [選取 所有資料行] 以清除所有數據行。

    2. 選取 [ProductID]、[ UnitPrice] 和 [數量],然後選取 [ 確定]。

      Screenshot that highlights the ProductID, UnitPrice, and Quantity columns.

展開 Order_Details 數據表之後,三個新的巢狀數據表數據行會取代 Order_Details 數據行。 數據表中每個訂單新增的數據列都有新的數據列。

Screenshot that highlights the expanded columns.

建立自定義計算結果列

Power Query 編輯器 可讓您建立計算和自定義欄位,以擴充您的數據。 您可以建立自定義數據行,將單價乘以項目數量,以計算每個訂單明細專案的總價格。

  1. 在 [Power Query 編輯器 的 [新增數據行] 功能區索引標籤中,選取 [自定義數據行]。

    Screenshot that highlights the Custom Column button.

  2. 在 [自定義數據行] 對話框中,於 [新增數據行名稱] 字段中輸入LineTotal

  3. 在 之後的 [自定義數據行公式] 字段中,輸入 [Order_Details.UnitPrice] * [Order_Details.Quantity]。= 您也可以從 [可用的數據行 ] 卷動方塊中選取功能變數名稱,然後選取 [ << 插入],而不是輸入。

  4. 選取 [確定]。

    Screenshot that highlights the New column name and Custom column formula fields.

    新的 LineTotal 字段會顯示為 Orders 資料表中的最後一個數據行。

設定新欄位的數據類型

當 Power Query 編輯器 連接到數據時,它會對每個欄位的數據類型進行最佳猜測,以供顯示之用。 標頭圖示表示每個欄位的指派數據類型。 您也可以在 [首頁] 功能區索引標籤的 [轉換] 群組的 [資料類型] 底下查看。

新的 LineTotal 數據行具有 Any 數據類型,但它具有貨幣值。 若要指派數據類型,請以滑鼠右鍵按兩下LineTotal資料行標頭,從下拉功能表中選取 [變更類型],然後選取 [固定十進制數]。

Screenshot that highlights the Fixed decimal number option.

注意

您也可以選取 LineTotal 數據行,然後在 [常用] 功能區索引標籤的 [轉換] 區域中選取 [數據類型] 旁箭號,然後選取 [固定小數位數]。

清除訂單數據行

若要讓您的模型更容易在報表中使用,您可以刪除、重新命名和重新排序某些數據行。

您的報表將會使用下列資料列:

  • OrderDate
  • ShipCity
  • ShipCountry
  • Order_Details.ProductID
  • Order_Details.UnitPrice
  • Order_Details.Quantity
  • LineTotal

選取這些數據行並使用 [移除其他 數據行],就像使用Excel數據一樣。 或者,您可以選取未列出的數據行,以滑鼠右鍵按兩下其中一個數據行,然後選取[ 移除數據行]。

您可以重新命名前面加上 「Order_Details」 的資料行,使其更容易閱讀:

  1. 按兩下或點選並按住每個資料行標頭,或以滑鼠右鍵按鍵行標頭,然後從下拉功能表中選取 [重新命名 ]。

  2. 刪除Order_Details。每個名稱的前置詞。

最後,若要讓LineTotal資料行更容易存取,請將牠拖放到左側,就在ShipCountry資料行的右邊。

Screenshot that shows the cleaned up columns in the table.

檢閱查詢步驟

系統會記錄圖形和轉換數據的 Power Query 編輯器 動作。 每個動作都會出現在 [套用步驟] 底下的 [查詢 設定] 窗格中。 您可以逐步執行 [套用的步驟 ] 來檢閱步驟,並視需要編輯、刪除或重新排列這些步驟。 不過,變更上述步驟是有風險的,因為這樣可能會中斷後續步驟。

Power Query 編輯器 左側的 [查詢] 列表中選取每個查詢,然後檢閱 [查詢] 設定 中的 [套用步驟]。 套用先前的數據轉換之後, 兩個查詢的APPLY STEPS 看起來應該像這樣:

產品查詢

Screenshot that shows the applied steps in the Products query.

訂單查詢

Screenshot that shows the applied steps in the Orders query.

提示

套用步驟的基礎是以Power Query Language撰寫的公式,也稱為 M 語言 若要查看和編輯公式,請選取功能區 [首頁] 索引標籤的 [查詢] 群組中的 [進階編輯器]。

匯入已轉換的查詢

當您滿意已轉換的數據,並準備好將其匯入 Power BI Desktop 報表檢視時,請選取 [首頁] 功能區索引卷標的 [關閉] 和 [套用] 群組中的 [關閉與套>]。

Screenshot that shows the Close & Apply option.

載入數據之後,查詢會出現在Power BI Desktop報表檢視的 [欄位] 清單中。

Screenshot that shows the Fields list.

管理語意模型之間的關聯性

Power BI Desktop 不需要您結合查詢來報告查詢。 不過,您可以使用語意模型之間的關聯性,根據一般字段擴充和擴充報表。 Power BI Desktop 可能會自動偵測關聯性,或者您可以在 [Power BI Desktop 管理關聯性] 對話框中建立關聯性。 如需詳細資訊,請參閱 在Power BI Desktop中建立和管理關聯性。

共用ProductID欄位會在本教學課程與OrdersProducts語意模型之間建立關聯性。

  1. 在 Power BI Desktop 報表檢視中,選取 [模型化] 功能區索引標籤的 [關聯性] 區域中的 [管理關聯]。

    Screenshot that shows the Manage relationships button in the Modeling ribbon.

  2. 在 [管理關聯性] 對話框中,您可以看到 Power BI Desktop 已經偵測到並列出 ProductsOrders 數據表之間的作用中關聯性。 若要檢視關聯性,請選取 [ 編輯]。

    Screenshot that shows the Manage relationships dialog box.

    [編輯關聯性] 隨即開啟,其中顯示關聯性的詳細數據。

    Screenshot that shows the Edit relationship dialog box.

  3. Power BI Desktop 已正確偵測關聯性,因此您可以選取 [取消],然後選取 [關閉]。

在 Power BI Desktop 的左側,選取 [模型 ] 以檢視和管理查詢關聯性。 按兩個查詢的線條箭號,以開啟 [編輯關聯性 ] 對話框,並檢視或變更關聯性。

Screenshot that shows the relationship view.

若要從模型檢視返回報表檢視,請選取 [報表] 圖示。

Screenshot that shows the Report icon.

使用您的數據建立視覺效果

您可以在 Power BI Desktop 檢視中建立不同的視覺效果,以取得數據見解。 報表可以有多個頁面,而且每個頁面可以有多個視覺效果。 您和其他人員可以與您的視覺效果互動,以協助分析和了解數據。 如需詳細資訊,請參閱在 Power BI 服務 的編輯檢視中與報表互動。

您可以使用這兩個數據集及其之間的關聯性,協助可視化和分析銷售數據。

首先,建立堆棧柱形圖,使用這兩個查詢中的字段來顯示每個已訂購產品的數量。

  1. 右側 [欄位] 窗格中的 [訂單] 中選取 [數量] 字段,或將它拖曳到畫布上的空白空間。 系統會建立堆棧柱形圖,以顯示已訂購的所有產品總數。

  2. 若要顯示每個已訂購產品的數量,請從 [欄位] 窗格中的 [產品] 中選取 [ProductName],或將其拖曳到圖表上。

  3. 若要依最不排序的產品排序,請選取視覺效果右上方的 [更多選項] 省略號 (...),然後選取 [依數量排序>]。

  4. 使用圖表角落的控點來放大它,以便顯示更多產品名稱。

    Screenshot that shows the Quantity by ProductName bar chart.

接下來,建立圖表,顯示一段時間的訂單金額 (LineTotal) (OrderDate)。

  1. 在畫布上未選取任何專案時,請從 [欄位] 窗格中的 [訂單] 中選取 [LineTotal],或將它拖曳至畫布上的空白空間。 堆疊柱形圖會顯示所有訂單的總金額。

  2. 選取堆棧圖表,然後從 [訂單] 中選取 [OrderDate],或將它拖曳到圖表上。 圖表現在會顯示每個訂單日期的折線總計。

  3. 拖曳角落以調整視覺效果的大小,並查看更多數據。

    Screenshot that shows the LineTotals by OrderDate line chart.

    提示

    如果您只看到圖表上的 [年],而且只有三個數據點,請在 [視覺效果] 窗格的 [軸] 字段中選取 [OrderDate] 旁的箭號,然後選取 [OrderDate] 而不是 [日期階層]。 或者,您可能需要從 [檔案] 功能選取 [選項和設定>選項],然後在 [數據載入] 下,清除 [新檔案的自動日期/時間] 選項。

最後,建立地圖視覺效果,其中顯示來自每個國家/地區的順序數量。

  1. 在畫布上未選取任何專案時,請從 [字段] 窗格中的 [訂單] 中選取 [ShipCountry],或將它拖曳至畫布上的空白空間。 Power BI Desktop 偵測到數據是國家或地區名稱。 然後,它會自動建立地圖視覺效果,其中具有訂單的每個國家/地區的數據點。

  2. 若要讓數據點大小反映每個國家/地區的訂單量,請將LineTotal欄位拖曳到地圖上。 您也可以將它拖曳至 [視覺效果] 窗格中 [大小] 底下的 [新增數據字段]。 地圖上圓形的大小現在會反映每個國家/地區訂單的金額。

    Screenshot that shows the LineTotals by ShipCountry map visualization.

與報表視覺效果互動以進一步分析

在 Power BI Desktop 中,您可以與交叉醒目提示和篩選的視覺效果互動,以找出進一步的趨勢。 如需詳細資訊,請參閱 Power BI 報表中的篩選和醒目提示

由於查詢之間的關聯性,與一個視覺效果的互動會影響頁面上所有其他視覺效果。

在地圖視覺效果上,選取以 加拿大為中心的圓形。 其他兩個視覺效果會篩選,以醒目提示加拿大的明細總計和訂單數量。

Screenshot that shows sales data filtered for Canada.

選取依 ProductName 的 Quantity by ProductName 圖表產品,以查看地圖和日期圖表篩選,以反映該產品的數據。 選取 LineTotal by OrderDate 圖表日期,以查看地圖和產品圖表篩選,以顯示該日期的數據。

提示

若要清除選取範圍,請再次選取它,或選取其中一個其他視覺效果。

完成銷售分析報表

您已完成的報表會將來自 Products.xlsx Excel 檔案和 Northwind OData 摘要的數據結合在視覺效果中,以協助您分析不同國家/地區的順序資訊、時間範圍和產品。 當您的報表準備就緒時,您可以將它上傳至 Power BI 服務,與其他 Power BI 用戶共用。