教學:如何在 Microsoft Fabric 中建立 Power BI 報表

在這個教學中,你將學習如何使用 Microsoft Fabric 來準備、載入並建模 Power BI 報告所需的資料。 你可以使用 Dataflows Gen2 將資料匯入並轉換到 lakehouse,透過資料管線協調資料刷新,並建立一個維度模型,該模型使用 Direct Lake 模式直接從 lakehouse 讀取資料,而不必匯入資料。 最後,你會自動產生一份報告,以視覺化最新的銷售數據。

在本教學課程中,您會:

  • 準備資料並將其載入至 Lakehouse
  • 協調數據管線以重新整理數據,並在失敗時傳送電子郵件
  • 在湖邊小屋中建立語意模型
  • 使用快速建立來自動建立報表

必要條件

建立一個 Lakehouse 以儲存資料

首先,建立 Lakehouse 來儲存您的數據。 使用 Dataflows Gen2 來準備和轉換資料,並利用管線協調排程刷新與電子郵件通知。

  1. 在您的工作區中,選取頁面頂端的 [ 新增專案 ]。

    截圖,在Microsoft Fabric工作區中選取新項目。

  2. 在 [ 新增 專案建立] 畫面上,搜尋或選取 [Lakehouse]。

    Microsoft Fabric 中 Lakehouse 建立畫面的螢幕擷取畫面。

  3. 輸入 SalesLakehouse 作為名稱(名稱可包含字母、數字和底線,但不可包含特殊字元或空格),然後選擇 「建立」。

    顯示 Lakehouse 名稱輸入字段的螢幕快照。

  4. 在 Lakehouse 編輯器中,從功能區選取 [新增數據流 Gen2 ]。 或者,選擇「從功能區 取得資料 」,然後選擇 「新資料流第二世代」。

    截圖顯示「取得資料」下拉選單,並標示「New Dataflow Gen2」。

  5. 將資料流命名 為 OnlineSalesDataflow (僅使用字母、數字和底線),然後選擇 「建立」。

使用 Dataflows Gen2 準備資料並將其載入至 Lakehouse。

  1. 在 Dataflows Gen2 的 Power Query Online 編輯器中,選擇 從 Power Query 模板匯入,並選擇您在 prerequisites 下載的 ContosoSales.pqt 範本檔。

    匯入Power Query 樣本的螢幕快照。

  2. 選取 [數據載入] 群組底下的 DimDate 查詢。 如果出現提示,請選取 [ 設定連線]、將驗證設定為 [匿名],然後選取 [ 聯機]。

  3. 選取 DimDate 之後,在數據預覽中尋找 DateKey 數據行。 選取資料行標頭中的數據類型圖示,然後從下拉式清單中選擇 [日期/時間 ]。

    Power Query 編輯器中變更資料類型的螢幕擷取畫面。

  4. 在 [ 變更數據行類型 ] 視窗中,選取 [ 取代目前]。

設定 Lakehouse 資料目的地

  1. 選擇 DimDate ,並檢視右下角的資料目的地設定。 將滑鼠停留在設定的 Lakehouse 上,以檢視其屬性。

    您所建立的 Lakehouse 是所有資料表的最終目的地。 默認更新方法為 Replace,會在每次重新整理期間覆寫先前的數據。

    [資料目的地] 區段和組態選項的螢幕快照。

  2. 選取 FactOnlineSales 數據表,並檢閱其數據目的地設定。

    因為 FactOnlineSales 來源經常變更,因此藉由附加新數據來優化重新整理。 選取 X 圖示來移除其目前的數據目的地。 不要移除其他表格的目的地。

    數據目的地修改區段和設定圖示的螢幕快照。

  3. 仍選擇 FactOnlineSales 時,選擇 + 新增資料目的地的圖示,然後選擇 Lakehouse

    如果出現提示,請將驗證設定為 [組織帳戶 ],然後選取 [ 下一步]。

    新增 Lakehouse 作為資料目的地的截圖。

  4. 在導覽器中,選擇你的工作區並展開以查看所有 Lakehouse 項目。 選擇 SalesLakehouse ,確保選取 新資料表 ,然後選擇 「下一步」。

    目的地目標導覽視窗的螢幕擷取畫面。

  5. 在 [數據目的地設定] 面板中,清除 [ 使用自動設定]、將 [更新方法] 設定為 [附加],然後選取 [ 儲存設定]。

    Append 方法會在每次重新整理期間,將新的數據列新增至數據表,並保留現有的數據。

    目的地設定功能表選取項目的螢幕擷取畫面。

  6. 從 [ 首頁] 索引標籤中,選取 [ 儲存並執行]。

    Power Query Online 內 [儲存並執行] 按鈕的螢幕快照。

  7. 若要結束Power Query Online 編輯器,請選取左側滑軌中 OnlineSalesDataflow 專案上的 X

    選擇 X 會關閉編輯器,但不會刪除資料流。

    Power Query Online 內關閉按鈕的螢幕快照。

編排資料管線以進行自動刷新

透過傳送具有重要詳細數據的自定義 Outlook 電子郵件,自動重新整理資料流並處理錯誤。

  1. 在您的工作區中,選取 [新增專案]。

    在工作區中選取 [新增專案] 的螢幕快照。

  2. 在 [ 新增 專案建立] 畫面上,搜尋或選取 [數據管線]。

    選取 [數據管線] 作為新項目的螢幕快照。

  3. 將管線命名為 SalesPipeline ,然後選取 [建立]。

    管線名稱輸入對話框的截圖。

  4. 在管線編輯器中,選擇 管線活動,然後選擇 資料流程

    您也可以從功能區選取 [資料流程]

    將數據流活動新增至管線的螢幕快照。

  5. 在管線編輯器中選取數據流活動。 在 [ 一般] 區段中,將 [名稱 ] 設定為 OnlineSalesActivity

    命名數據流活動的螢幕快照。

  6. 選取數據流活動后,移至 [ 設定 ],然後從 [數據流] 列表中選擇 [OnlineSalesDataflow ]。 如有需要,請選取 [ 重新 整理] 圖示以更新清單。

    在活動設定中選取數據流的螢幕快照。

  7. 選擇 Activities 標籤,然後新增 Office365 Outlook 活動。

    Important

    如果出現 授與同意 視窗,請選取 確定,使用您的組織帳戶登入,並允許其存取。

    新增 Office365 Outlook 活動的螢幕快照。

  8. 在管線編輯器中選取 Office365 Outlook 活動。 在 [ 一般] 區段中,將 [ 名稱 ] 設定為 [失敗時的郵件]。

    Office365 Outlook 活動命名的螢幕截圖。

  9. 選取 Office365 Outlook 活動后,移至 [ 設定]。 在 收件者 欄位中輸入您的電子郵件地址,並將 主旨 設定為 管線錯誤。 針對郵件 本文,選擇在 表示式產生器中檢視

    其他電子郵件選項,例如寄件者(以此身分傳送)副本密件副本敏感度標籤,可在進階屬性下找到。

    Office365 Outlook 活動設定的螢幕快照。

  10. [管線表達式產生器] 中,將下列表達式貼到頁面頂端的文字塊中:

    @concat(
        'Pipeline: '
        , pipeline().PipelineId
        , '<br>'
        , 'Workspace: '
        , pipeline().WorkspaceId
        , '<br>'
        , 'Time: '
        , utcnow()
    )
    

    此表達式會動態將管線標識碼、工作區標識碼和目前的UTC時間插入電子郵件本文中。

  11. 在管線編輯器中,選取 [OnlineSalesActivity]。 從 「X」 (On fail) 句柄拖曳,然後將它放入 [失敗時的郵件] 活動。 此動作確保若資料流活動失敗,郵件會被發送。

    設定失敗路徑時的螢幕快照。

  12. 從 [首頁] 索引標籤中,選取 [排程]。 請依照以下方式設定排程,然後選擇 套用

    名稱
    已排程的執行 開啟
    重複 每日
    時間 上午 12:00:00
  13. 從 [首頁] 索引標籤中,選取 [執行]。 如果出現提示,請選取 [ 儲存並執行 ] 以繼續。

    要監控管線狀態,請查看 輸出表, 該表顯示活動進度。 數據表會自動重新整理,或者您可以選取重新整理圖示以手動更新。

    管線活動進度的螢幕快照。

  14. 當狀態顯示 [成功] 時,返回工作區以繼續進行教學課程。

    返回工作區的螢幕快照。

在湖邊小屋中建立語意模型

您載入的資料就快準備好用於報表了。 接著,利用湖屋中的表格建立語意模型——一個將實體資料組織並轉換成邏輯物件的元資料層。 語意模型的設計目的是要反映您的商務結構,並讓數據更容易分析。

  1. 在工作區檢視中,選取 SalesLakehouse 專案。

    工作區中 Lakehouse 項目的螢幕快照。

  2. 在資源管理器中,從 常用 索引標籤選取 新增語意模型

  3. 在 [新增語意模型] 視窗中,將模型命名為 SalesModel。 然後,展開 dbo 架構和 數據表 群組。 選取下表,然後選取 [ 確認]:

    數據表名稱
    DimCustomer
    DimDate
    DimEmployee
    DimProduct
    DimStore
    FactOnlineSales

    工作區中顯示 Lakehouse 項目的螢幕擷取畫面。

建立星型結構關係

此模型使用星型架構,在數據倉儲中很常見。 星形中心是一個事實表,周圍環繞著與事實表相關的維度表。

  1. 藉由將 CustomerKey 數據行從 FactOnlineSales 數據表拖放至 DimCustomer 數據表上的 CustomerKey 數據行,以建立關聯性。

  2. 建立關係 視窗中,請確認以下設定,然後選擇 確認

    啟用此關係 從:表 1 (資料行) 至:表 2(欄) 基數 交叉篩選方向
    FactOnlineSales (CustomerKey) DimCustomer (CustomerKey) 多對一 (*:1) 單身
  3. 針對下列每個關聯性重複這些步驟:

    將此關聯設為啟用 來源:表 1(欄) 至:表 2(欄) 基數 交叉篩選方向
    FactOnlineSales(ProductKey) DimProduct(ProductKey) 多對一 (*:1) 單身
    FactOnlineSales (StoreKey) DimStore(StoreKey) 多對一 (*:1) 單身
    FactOnlineSales (DateKey) DimDate (DateKey) 多對一 (*:1) 單身
    DimStore(StoreKey) DimEmployee (StoreKey) 多對一 (*:1) 兩者

    下圖顯示語意模型的完整檢視,其中包含所有關聯性。

    模型檢視窗格中資料表關聯性的螢幕擷取畫面。

在 DAX 中建立量值

建立基本量值以計算總銷售額。

  1. 選擇 FactOnlineSales 表格。 在 「主頁 」分頁,選擇 新測度

  2. 在公式編輯器中,輸入下列 DAX 度量值,然後選取 核取記號 以確認:

    Total Sales Amount = SUM(FactOnlineSales[SalesAmount])
    

    「選取勾號以提交 DAX 量值」的螢幕擷取畫面。

自動建立報告

現在您已完成資料建模,可以使用「快速建立」功能,快速將資料視覺化並加以探索。

  1. 從左側邊欄選取工作區,返回您的工作區。 將滑鼠移至 SalesModel 項目,選擇省略號 (...),並選擇 自動建立報表

    [自動建立報表] 選項與工作區的螢幕擷取畫面。

    報表會自動產生,並根據 您的數據 窗格中的欄位選取動態更新。

    Microsoft Fabric 中完成的自動建立 Power BI 報告螢幕擷取畫面。

  2. 從功能區選取 [ 儲存 ],將複本儲存至目前的工作區。

    Tip

    若要輸入完整的視覺製作體驗,請選取功能區上的 [ 編輯 ]。

清理資源

如果你為這個教學建立了專用的工作區,你可以刪除它。 或者,你也可以移除教學中自己創建的個別物品。