教學課程:從維度模型到 Power BI Desktop 中的驚人報表

適用於:Power BI Desktop Power BI 服務

在本教學課程中,您會從維度模型開始,並在 45 分鐘內從頭到尾建置美觀的報表。

您在 AdventureWorks 工作,經理想要查看最新銷售數據的報告。 他們已要求執行摘要:

  • 哪一天在 2019 年 2 月的銷售額最多?
  • 哪一個國家/地區是公司看到最成功的國家/地區?
  • 公司應繼續投資哪些產品類別和轉銷商業務類型?

使用 AdventureWorks Sales 範例 Excel 活頁簿,我們隨時都可以建置此報表。 以下是最終報表的外觀。

Screenshot of Finished AdventureWorks report.

想要查看已完成的產品嗎? 您也可以下載已完成的 Power BI .pbix 檔案

注意

如果您想要在 SQL 資料庫中使用數據, AdventureWorks 範例資料庫 一文提供 GitHub 存放庫中可下載的 AdventureWorks SQL 範例資料庫連結。 如果您確實使用 SQL 資料庫,則必須修改本教學課程中的各種步驟。

讓我們開始吧!

在本教學課程中,您將了解如何:

  • 使用一些轉換準備您的數據
  • 建置具有標題、三個視覺效果和交叉分析篩選器的報表
  • 將報表發佈至 Power BI 服務,以便與同事共用

必要條件

取得數據:下載範例

  1. 下載 AdventureWorks Sales 範例 Excel 活頁簿

  2. 開啟 Power BI Desktop。

  3. 在 [首頁] 功能區的 [數據] 區段中,選取 [Excel]。

  4. 流覽至儲存範例活頁簿的位置,然後選取 [ 開啟]。

準備您的資料

在 [導覽器] 窗格中,您可以選擇 轉換載入 數據。 [導覽器] 提供數據的預覽,因此您可以確認您有正確的數據範圍。 數值數據類型會斜體化。 在本教學課程中,我們會先轉換數據,再載入。

選取所有數據表,然後選擇 [ 轉換數據]。 請務必不要選取工作表(標示 為_data)。

Screenshot of Load tables in Navigator.

檢查數據行的數據類型是否符合下表中的數據類型。 若要讓Power BI 為您偵測資料類型,請選取查詢,然後選取一或多個資料行。 在 [ 轉換] 索引標籤上,選取 [ 偵測數據類型]。 若要對偵測到的數據類型進行任何變更,請在 [ 常用 ] 索引標籤上選取 [數據類型],然後從清單中選取適當的數據類型。

Screenshot of Check the data types of the columns.

查詢 資料行 資料類型
客戶 CustomerKey 整數
Date DateKey 整數
Date Date
MonthKey 整數
Products ProductKey 整數
標準成本 十進位數字
定價 十進位數字
轉售商 ResellerKey 整數
Sales SalesOrderLineKey 整數
ResellerKey 整數
CustomerKey 整數
ProductKey 整數
OrderDateKey 整數
DueDateKey 整數
ShipDateKey 整數
SalesTerritoryKey 整數
訂單數量 整數
單價 十進位數字
應收金額 十進位數字
單價折扣百分比 百分比
Product Standard Cost 十進位數字
總產品成本 十進位數字
銷售量 十進位數字
SalesTerritory SalesTerritoryKey 整數
銷售訂單 SalesOrderLineKey 整數

回到 [ 首頁] 索引標籤,選取 [ 關閉與套用]。

Screenshot of Power Query Close and Apply button.

模型化資料

您載入的數據幾乎已準備好進行報告。 讓我們檢查數據模型並進行一些變更。

選取 左側的 [模型檢視 ]。

Screenshot of Select Model view in Power BI Desktop.

您的數據模型看起來應該像下圖,每個數據表都位於方塊中。

Screenshot of The data model to start with.

建立關聯

此模型是您可能會從數據倉儲看到的典型 星型架構 :它類似於星形。 星號的中心是 Fact 數據表。 周圍數據表稱為維度數據表,其與 Fact 數據表有關聯性。 Fact 數據表包含銷售交易的數值資訊,例如銷售金額和產品標準成本。 維度提供內容,讓您可以分析:

  • 產品已售出...
  • 客戶...
  • 依哪個轉銷商...
  • 銷售領域。

如果您仔細查看,您會發現所有 Dimension 數據表都與 Fact with a Relationship 相關,但 Date 數據表除外。 現在讓我們將一些關聯性新增至 Date。 將 DateKey 從 Date 數據表拖曳至 Sales 數據表上的 OrderDateKey。 您已建立從日期到銷售的所謂「一對多」關聯性,如行兩端的星號 * (許多)所表示。

關聯性是「一對多」,因為我們有一或多個指定日期的銷售訂單。 如果每個日期只有一個銷售訂單,則關聯性會是「一對一」。 線條中間的小箭號表示「交叉篩選方向」。它表示您可以使用 Date 數據表中的值來篩選 Sales 數據表,因此關聯性可讓您分析銷售訂單的放置時間。

Screenshot of Relationship between the Sales and Date table.

Sales 數據表包含與銷售訂單相關的日期詳細資訊,例如到期日和出貨日期。 讓我們拖曳下列兩個關聯性,再將兩個關聯性新增至 Date 數據表:

  • DateKey 至 DueDateKey
  • DateKey 至 ShipDateKey

Screenshot of Three relationships between Sales and Date tables.

您注意到 OrderDateKey 上的第一個關聯性為作用中,由連續行顯示。 其他兩個非使用中,由虛線顯示。 Power BI 預設會使用作用中關聯性來關聯 Sales 和 Date。 因此,SalesAmount 的總和是由訂單日期計算,而不是到期日或出貨日期。 您可以影響此行為。 請參閱 額外點數:在本教學課程稍後的DAX 中撰寫量值。

隱藏索引鍵數據行

典型的星型架構包含數個索引鍵,可保存 Facts 和 Dimensions 之間的關聯性。 通常我們不想在報表中使用任何索引鍵數據行。 讓我們從檢視中隱藏索引鍵數據行,因此 [欄位清單] 會顯示較少的欄位,而且數據模型更容易使用。

移至所有資料表,並隱藏名稱結尾為 索引鍵的任何資料列:

選取資料行旁的 [眼睛 ] 圖示,然後選擇 [在報表檢視中隱藏]。

Screenshot of Visible column with Eye icon.

您也可以選取 [屬性] 窗格中資料 行旁的 [眼球 ] 圖示。

隱藏的欄位有這個圖示,眼睛有一條線穿過它。

Screenshot of Field with the hidden Eye icon.

隱藏這些欄位。

Table 資料行
客戶 CustomerKey
Date DateKey
MonthKey
Products ProductKey
轉售商 ResellerKey
Sales CustomerKey
DueDateKey
OrderDateKey
ProductKey
ResellerKey
SalesOrderLineKey
SalesTerritoryKey
ShipDateKey
銷售訂單 SalesOrderLineKey
SalesTerritory SalesTerritoryKey

您的數據模型現在看起來應該像這個數據模型,Sales 與所有其他數據表之間的關聯性,以及隱藏的所有索引鍵字段:

Screenshot of Data model with hidden key columns.

建立階層

既然由於隱藏的數據行,我們的數據模型更容易取用,我們可以新增幾個 階層 ,讓模型更容易使用。 階層可讓您更輕鬆地瀏覽群組。 例如,城市位於位於國家或地區的州或省。

建立下列階層。

  1. 以滑鼠右鍵按兩下階層中最高層級或最細微的欄位,然後選擇 [ 建立階層]。

  2. 在 [屬性] 窗格中,設定階層的名稱並設定層級。

  3. 然後 套用層級變更

    Screenshot of Hierarchy Properties pane.

您也可以在新增層級之後,在 [屬性] 窗格中重新命名階層中的層級。 您必須在 Date 數據表中重新命名 Fiscal 階層的 Year 和 Quarter 層級。

以下是您需要建立的階層。

Table 階層名稱 層級
客戶 地理位置 Country-Region
State-Province
縣/市
郵遞區號
客戶
Date 會計 年度(會計年度)
季 (會計季)
Month
Date
Products 產品 類別
子類別
模型
Products
轉售商 地理位置 Country-Region
State-Province
縣/市
郵遞區號
轉售商
銷售訂單 銷售訂單 銷售單
銷售訂單明細
SalesTerritory 銷售領域 群組
Country-Region
區域

您的數據模型現在看起來應該像下列數據模型。 其具有相同的數據表,但每個維度數據表都包含階層:

Screenshot of Data model with dimension tables with hierarchies.

重新命名數據表

若要完成模型化,讓我們在 [屬性] 窗格中重新命名下列數據表:

舊數據表名稱 新增數據表名稱
SalesTerritory 銷售領域
銷售訂單 銷售單

此步驟是必要的,因為 Excel 資料表名稱不能包含空格。

現在,您的最終數據模型已準備就緒。

Screenshot of Completed data model with renamed tables.

額外點數:在DAX中撰寫量值

以 DAX 公式語言撰寫 量值 對於數據模型化而言非常強大。 Power BI 檔中有很多關於 DAX 的資訊。 現在,讓我們撰寫基本量值,根據銷售訂單的到期日計算總銷售金額,而不是默認訂單日期。 此量值會使用 USERELATIONSHIP 函式 ,針對量值的內容啟用 Sales 與 Date on DueDate 之間的關聯性。 然後,它會使用 CALCULATE 來加總該內容中的銷售金額。

  1. 選取左側的 [數據檢視]。

    Screenshot of Select Data view on the left.

  2. 在 [欄位] 清單中選取 [銷售] 資料表。

    Screenshot of Select the Sales table in the Fields list.

  3. 在 [ 首頁] 功能區上,選取 [ 新增量值]。

  4. 選取或輸入此量值,根據銷售訂單的到期日計算總銷售額,而不是默認訂單日期:

    Sales Amount by Due Date = CALCULATE(SUM(Sales[Sales Amount]), USERELATIONSHIP(Sales[DueDateKey],'Date'[DateKey]))
    
  5. 選取要認可的複選標記。

    Screenshot of Select the check mark to commit the DAX measure.

建置報表

現在您已建立數據模型,現在可以建立報表。 移至 [報表檢視]。 在右側的 [字段] 窗格中,您會看到您所建立數據模型中的字段。

讓我們一次建置一個視覺效果的最終報表。

Screenshot of Finished report, with numbers marking each visual.

Visual 1:新增標題

  1. 在 [ 插入 ] 功能區上,選取 [文本框]。 輸入 執行摘要 – 銷售報表

  2. 選取您輸入的文字。 將字型大小設定為 20粗體

    Screenshot of Format the Executive Summary text.

  3. 在 [格式化] 文本框窗格的 [效果] 底下,將 [背景] 切換為 [關閉]。

  4. 調整方塊的大小以符合一行。

Visual 2:依日期的銷售金額

接下來,您會建立折線圖,以查看哪一個月和年份的銷售量最高。

  1. 從 [欄位] 窗格,將 [銷售金額] 欄位從 [銷售] 資料表拖曳至報表畫布上的空白區域。 根據預設,Power BI 會以一個數據行 Sales Amount 顯示柱形圖。

  2. [日期] 數據表的 [會計] 階層拖曳 [月份] 欄位,並將它放在柱形圖上。

    Screenshot of Create a column chart with a column for each year.

  3. 在 [視覺效果] 窗格的 [字段] 區段中,於 [X 軸] 方塊中,移除 [會計年度] 和 [會計季] 字段:

    Screenshot of In the Fields section of the Visualizations pane, remove the Year and Quarter fields.

  4. 在 [視覺效果] 窗格中,將視覺效果類型變更為 分區圖

    Screenshot of Change the column chart to an area chart.

  5. 如果您在上述額外信用額度中新增 DAX 量值,也將其新增至 Y 軸

  6. 開啟 [格式] 窗格,展開 [線條] 區段,然後在 [色彩] 中,將 [依到期日的銷售金額] 變更為更對比的色彩,例如紅色。

    Screenshot of Sales Amount by Due Date as area chart.

    如您所見,依到期日的銷售金額略落後於銷售金額。 這證明它會使用使用 DueDateKey 的 Sales 和 Date 數據表之間的關聯性。

Visual 3:依轉銷商國家/地區排序數量

現在我們將建立地圖,以查看轉銷商擁有最高訂單數量數量的國家或地區。

  1. 從 [欄位] 窗格,將 [國家/地區] 欄位從 [轉售商] 資料表拖曳到報表畫布上的空白區域。 Power BI 會建立地圖。

  2. Sales 數據表拖曳 [訂單數量] 字段,並將其放在地圖上。 請確定國家/地區位於 [位置] 和 [泡泡大小] 中的 [訂單數量]。

    Screenshot of Map of order quantity by country/region.

Visual 4:依產品類別和轉銷商業務類型的銷售金額

接下來,我們會建立柱形圖,以調查哪些產品是由哪些類型的轉銷商銷售。

  1. 拖曳您建立的兩個圖表,以並排在畫布的上半部。 儲存畫布左側的一些房間。

  2. 選取報表畫布下半部的空白區域。

  3. 在 [欄位] 窗格中,從 [銷售] 選取 [銷售金額]、[產品類別] [轉銷商] 的 [商務類型]。 Screenshot of Check that Category and Business Type are on Rows and Sales Amount is selected as Values.

    Power BI 會自動建立叢集柱形圖。 將視覺效果變更為 矩陣

    Screenshot of Change the clustered column chart to a matrix.

  4. 從 [數據行] 拖曳 [商務類型] 字段,並將其放在 [數據列] 的 [類別] 下方

  5. 在仍然選取矩陣的情況下,在 [篩選] 窗格的 [商務類型] 底下選取 [全部],然後清除 [不適用] 方塊。

    Screenshot of Filter out Not Applicable business type.

  6. 拖曳矩陣,使其足夠寬,以填滿兩個上方圖表下方的空間。

    Screenshot of Widen the matrix to fill the report.

  7. 在矩陣的 [格式化] 窗格中,搜尋 條件式。 在 [ 儲存格元素 ] 區段中,開啟 [數據橫條]。 選取 fx 選項,然後為正橫條設定較淺的色彩。 選取 [確定]。

  8. 藉由拖曳矩陣來增加 Sales Amount 數據行的寬度,使其填滿整個區域。

    Screenshot of Matrix with data bars for Sales Amount.

看起來自行車的整體銷售量較高,增值轉銷商銷售量最多,緊隨其後的是倉儲。 針對元件,倉儲銷售量超過增加值的轉銷商。

Visual 5:會計行事曆交叉分析篩選器

交叉分析篩選器是篩選報表頁面上視覺效果至特定選取範圍的寶貴工具。 在此情況下,我們可以建立交叉分析篩選器,以縮小每個月、季和年份的效能。

  1. 在 [欄位] 窗格中,從 [日期] 數據表中選取 [會計階層],並將它拖曳至畫布左側的空白區域。

  2. 在 [視覺效果] 窗格中,選擇 [ 交叉分析篩選器]。

    Screenshot of Add a report sales calendar slicer.

  3. 在 [視覺效果] 窗格的 [字段] 區段中,移除 [季] 和 [日期],因此只剩下 YearMonth

    Screenshot of Remove Quarter and Date from the Fiscal slicer.

現在,如果您的經理只要求查看特定月份的數據,您可以使用交叉分析篩選器,在每年的年份或特定月份之間切換。

額外點數:格式化報表

如果您想要在此報表上執行一些淺色格式設定以新增更多波蘭文,以下是幾個簡單的步驟。

Theme

  • 在 [ 檢視 ] 功能區上,選取 [主題],然後將主題變更為 [主管]。

    Screenshot of Choose the Executive theme.

將視覺效果向上旋轉

在 [視覺效果] 窗格中的 [格式 ] 索引標籤上進行下列變更。

Screenshot of the Format tab in the Visualizations pane.

提示

若要快速尋找您要變更的設定,是在 [格式] 窗格中的 [搜尋] 方塊中輸入 。

Visual 2,依日期的銷售金額

  1. 選取 [Visual 2]、[依日期的銷售金額]。

  2. 在 [標題] 區段中,如果您未新增 DAX 量值,請將 [文字] 變更為 [依訂單日期的銷售金額]。

    如果您新增 DAX 量值,請將文字變更為「依訂單日期/到期日的銷售金額」。

    請確定您取得 視覺效果本身的 [標題 ] 區段,因為座標軸和圖例也可以有標題。

    Screenshot of Title section of the Format pane.

  3. 將 [文字大小] 設定16 pt

  4. 在 [一般] 索引標籤上,將 [陰影] 切換為 [開啟]。

Visual 3,依轉銷商國家/地區排序數量

  1. 選取 [Visual 3]、[依轉銷商國家/地區排序數量]。
  2. 在 [地圖設定] 區段中,將 [樣式] 變更[灰階]。
  3. 在 [一般] 索引標籤的 [標題] 區段中,將 [文字] 變更為 [依轉銷商國家/地區排序數量]。
  4. 將 [文字大小] 設定16 pt
  5. 此外,在 [一般] 索引標籤上,將 [陰影] 切換為 [開啟]。

Visual 4,依產品類別和轉銷商業務類型的銷售金額

  1. 選取 [Visual 4]、[依產品類別] 和 [轉銷商業務類型] 的 [銷售金額]。
  2. 在 [一般] 索引標籤的 [標題] 區段中,將 [文字] 變更為 [依產品類別和轉售商業務類型銷售金額]。
  3. 將 [文字大小] 設定16 pt
  4. 此外,在 [一般] 索引標籤上,將 [陰影] 切換為 [開啟]。

Visual 5,會計行事曆交叉分析篩選器

  1. 選取 [Visual 5]、[會計行事曆交叉分析篩選器]。
  2. 在 [交叉分析篩選器設定] 區段的 [選取範圍] 底下,將 [顯示全部選取] 選項切換[開啟]。
  3. 在交叉分析篩選器標頭區段中,將 [文字大小] 設定16 pt

新增標題的背景圖形

  1. 在 [插入] 功能區上,選取 [圖形>矩形]。

  2. 將它放在頁面頂端,並將它伸展為頁面的寬度和標題的高度。

  3. 在 [樣式] 窗格中的 [框線] 區段中,將 [透明度] 變更100%。

  4. 在 [填滿] 區段中,將 [填滿色彩] 變更[主題色彩 5 #6B91C9 [藍色]。

  5. 在 [格式] 功能區上,選取 [回溯>傳送回傳]。

    Screenshot of the Format ribbon, Send to back menu option.

  6. 選取 Visual 1 中的文字、標題,並將 [字型色彩] 變更[白色]。

已完成的報表

選取 交叉分析篩選器中的 FY2019

Screenshot of Your final completed report.

摘要來說,這份報告會回答經理的首要問題:

  • 哪一天在 2019 年 2 月的銷售額最多? 2月25日,銷售額為253,915.47美元。

  • 哪一個國家/地區是公司看到最成功的國家/地區? 在 美國 中,訂單數量為132,748。

  • 公司應繼續投資哪些產品類別和轉銷商業務類型? 公司應繼續投資自行車類別和增值轉銷商和倉儲轉銷商業務。

儲存您的報表

  • 在 [檔案] 功能表上,選取 [儲存]

發佈至要共用的 Power BI 服務

若要與主管和同事共享報表,請將它發佈至 Power BI 服務。 當您與擁有Power BI 帳戶的同事共用時,他們可以與報表互動,但無法儲存變更。

  1. 在 Power BI Desktop 的 [首頁] 功能區上,選取 [發佈]。

  2. 您可能需要登入 Power BI 服務。 如果您還沒有帳戶, 請註冊免費試用

  3. 在 [選取] Power BI 服務 >中選取 [我的工作區] 之類的目的地。

  4. 在 Power BI 中選取 [開啟 'your-file-name']。 您已完成的報表會在瀏覽器中開啟。

  5. 選取 報表頂端的 [共享 ],以與其他人共享報表。

更多問題嗎? 嘗試 Power BI 社群