共用方式為


使用 Optimize 功能區進行 DirectQuery 優化案例

在本文中,我們將探討數個 DirectQuery 報表撰寫案例,示範如何在 Power BI Desktop 中使用 Optimize 功能區簡化您的體驗。 透過 [優化] 功能區,您可以使用 [暫停視覺效果] 和 [重新整理視覺效果] 功能來控制視覺效果何時重新整理、使用優化預設快速套用預先定義的設定,並輕鬆地啟動效能分析器,以更深入地深入查詢本身,包括 SQL 查詢 DirectQuery 所產生的查詢。 我們也會示範如何在模型檢視的 [屬性] 窗格中 編輯關聯性,而不 執行查詢來預覽或驗證數據。

在經歷這些案例之前,請務必先查看 Power BI Desktop 中的優化功能區,以針對這些令人興奮的功能提供絕佳的簡介。

變更 DirectQuery 報表 而不 執行查詢

讓我們先看看如何藉由暫停視覺效果來改善報表撰寫效能,以便在每次進行變更時,它們不會將查詢傳送至數據源。 在 [ 優化] 功能區中,我們選取 [ 暫停視覺效果]。 暫停時,視覺效果只有在不需要傳送查詢時才會更新。 如果視覺效果確實需要傳送查詢,視覺效果會改為進入擱置狀態。 暫止時,視覺效果仍會顯示在導入變更之前的外觀,只是為了內容,而且工具提示也會停用,因此它們也不會傳送任何查詢。 我們現在可以將多個數據行或量值新增或移除至欄位,重新排序欄位,甚至使用 [篩選 ] 窗格來篩選視覺效果,而且不會傳送任何查詢!

完成所有這些變更后,我們會選取視覺效果上的 [重新整理] 來只傳送查詢一次,選取橫幅或功能區上的 [重新整理],讓頁面上的所有視覺效果只傳送一次查詢,或選取 [優化] 功能區中 [暫停視覺效果查詢],讓所有視覺效果立即傳送查詢以更新,並繼續傳送查詢,並進行任何其他變更。

讓我們進一步了解暫停視覺效果工作流程:

提示: 有時候頁面上的影像很難看到詳細數據。 請務必使用瀏覽器的縮放功能!

Pause visuals flow diagram

在下列動畫中,我們會顯示新增兩個量值:每趟車程的票價平均票價,新增至頁面上的兩個視覺效果工具提示,在欄位中重新排列它們,然後從橫幅繼續視覺效果。

Make changes to an existing directquery report without running queries until you are ready animation

如果沒有暫停視覺效果,每次在 [字段] 中加入或移動量值時,就會將新的視覺效果查詢傳送至 DirectQuery 數據源。 這是每個視覺效果的三個查詢,因此在此案例 中會傳送六 個查詢。 藉由使用暫停視覺效果,每次新增或移動量值時,不會傳送任何查詢。 當報表繼續時,只會傳送兩個查詢。 針對這個簡單的報表變更,不執行四個額外的查詢可節省時間,而且不會浪費寶貴的數據源資源。

建立新的視覺效果 而不 執行查詢

在 [ 優化] 功能區中,我們選取 [ 暫停視覺效果]。 接著,我們會從 [視覺效果] 窗格新增 [矩陣] 視覺效果,然後將 [車程]、[星期幾] 和 [一天中的時間] 新增至新的 [矩陣] 視覺效果。 暫停時,矩陣視覺效果會進入 擱置 狀態 - 不會傳送任何查詢。 現在,我們會重新排序字段,但同樣地,不會傳送任何查詢。 讓我們開啟 [篩選] 窗格,帶入 Year,然後篩選至 2013。 此時,在進行任何變更之前,看到視覺效果會很有説明。 我們可以在擱置的視覺效果橫幅中選取 [重新 整理],或開啟 [ 選取範圍 ] 窗格,以重新整理該處的視覺效果。 我們只傳送了一個查詢,而且查詢已預先篩選,加快傳回時間,並減少對數據源的影響。 我們可以對視覺效果進行格式化變更,即使是在報表暫停狀態中,這些變更也會顯示,因為不需要DAX查詢。 不過,新增背景色彩格式設定變更 需要 查詢,讓視覺效果進入 暫止 狀態。 準備好時,我們可以重新整理或繼續視覺效果查詢,以查看最終的矩陣視覺效果。

在建立新視覺效果時使用暫停視覺效果

Create new visuals

若不使用暫停視覺效果,每次在 [字段] 中加入或移動量值或數據行時,就會將新的視覺效果查詢傳送至 DirectQuery 數據源。 在開始格式化之前,這是 個查詢,其中五個是在篩選視覺效果到單一年份之前。 現在使用暫停視覺效果,每次新增或移動量值或數據行時,不會傳送任何查詢。 當視覺效果重新整理或報表繼續時,只會 傳送兩 個查詢,而且查詢已篩選。 針對這個新的視覺效果新增,我們不僅避免了額外的查詢節省時間,而且不會浪費寶貴的數據源資源,我們也執行了較小的目標查詢,並以最少的中斷方式格式化視覺效果。

建立量值 而不 重新整理視覺效果

就像先前的案例一樣,在 [優化] 功能區中,我們選取 [暫停視覺效果] 讓報表進入暫停狀態。 一般而言,在 DirectQuery 報表中,每當建立新的量值時,報表頁面上的所有視覺效果都會重新整理。 但是,當報表處於暫停狀態時,我們可以建立新的量值,而不需要傳送查詢。 視覺效果會改為處於暫止狀態。 我們可以將量值新增至暫止的視覺效果。 然後,我們可以重新整理個別視覺效果,以使用新的量值查看結果,或只是在完成時繼續視覺查詢。

在建立新量值時使用暫停視覺效果

Create measures in a DirectQuery model without the visuals refreshing until you're ready animation

若不使用暫停視覺效果,每次建立量值時,所有視覺效果都會將查詢傳送至 DirectQuery 數據源。 這是頁面上的五個視覺效果,每個模型變更都會傳送五個查詢。 建立兩個新的量值,並將這些量值新增至單一視覺效果時,這是許多查詢! 使用暫停視覺效果時,每次建立量值或新增至視覺效果時,不會傳送任何查詢。 重新整理單一視覺效果時,只會傳送六個查詢,然後報表繼續。 針對這些模型變更,我們看到查詢和等待這些查詢傳回數據的時間大幅減少。 我們也大幅減少數據源上的工作負載。

編輯 DirectQuery 數據表之間的關聯性

若要在 Power BI Desktop 的 [模型] 檢視中編輯兩個 DirectQuery 數據表之間的關聯性,我們現在可以直接選取這些數據表之間的關聯性行,以在 [屬性 ] 窗格中編輯它! 我們可以變更數據表、數據行、基數、方向、讓它變成作用中或非使用中,甚至如果確信每個數據表不存在於另一個數據表中的值,則甚至開啟引用完整性。 完成後,我們選取 [ 套用變更]。 我們也可以按住 Ctrl 以選取多個關聯性,以在屬性窗格中進行大量變更,或使用 [刪除] 索引鍵加以刪除

編輯 [屬性] 窗格中的關聯性

Relationship editing in properties pane animation

若無法在 [屬性] 窗格中編輯關聯性,每次變更關聯性時,開啟對話框以顯示數據預覽時,就會傳送查詢。 當每個數據表或數據行變更時,都會傳送查詢來驗證關聯性的基數和方向。 現在有了優化,在 [屬性] 窗格中編輯關聯性時,我們不會傳送任何查詢,而且只有在就緒時才會驗證關聯性,而且我們已選取 [套用變更] 按鈕。

套用查詢縮減設定

如果我們在 [優化] 功能區中選取 [優化預設] 下拉式清單,然後選取報表的 [查詢縮減],則會出現一個對話框,描述已套用的設定。

Optimized for query reduction screen image

交叉醒目提示和交叉篩選是選取數據點時視覺效果彼此互動的方式。 默認值為 Power BI Desktop 會交叉醒目提示。 我們可以移至 [檔案>選項] 和 [設定> Options>報表設定],然後選取 [將預設視覺效果互動從交叉醒目提示變更為交叉篩選],以將預設值變更為交叉篩選。

Cross filtering report settings

優化預設只會關閉預設交叉醒目提示和交叉篩選,因此使用 [編輯] 互動在視覺層級完成的任何自定義都不會影響。 如果我們選取任何視覺效果 (1) 以顯示 [格式] 功能區,然後選取 [編輯互動](2),則報表中的其他視覺效果就會顯示選項 (3)。 然後,我們可以決定在視覺效果中選取數據點時,它們會如何變更。 在此情況下,從交叉篩選或交叉醒目提示到完全不互動。 讓我們看看工作流程:

Edit interactions screen image

如果我們已自定義任何編輯互動,則預設停用交叉醒目提示和交叉篩選的優化預設不會變更此自定義。 視覺效果之間的任何自定義 [編輯] 互動仍可像以前一樣運作。

接著,我們會將 [套用] 按鈕新增至交叉分析篩選器。 報表中的每個交叉分析篩選器現在都有 [套用] 按鈕,用戶可以在每個交叉分析篩選器中選取或取消選取多個選項,而且在選取 [套用] 按鈕之前,報表中沒有任何其他視覺效果傳送查詢。 交叉分析篩選器仍然彼此獨立,因此如果我們有兩個交叉分析篩選器與 [套用] 按鈕,則必須選取每個 [套用] 按鈕來套用交叉分析篩選器選取專案。

Apply buttons on slicers

[套用] 按鈕會新增至 [篩選] 窗格。 [篩選] 窗格按鈕已將控件新增至窗格中的所有篩選選取專案,但只有一個 [套用] 按鈕。 若要深入瞭解,請參閱 在Power BI報表中格式化篩選 - 套用篩選按鈕

變更查詢縮減設定

在 [優化] 功能區中,我們選取 [優化預設],然後選取 [自定義] 以變更任何設定。 在我們的報表中,交叉分析篩選器適用於單一選取,而且 [套用] 按鈕在多個選取中更為有用,因此我們可以保留其他設定,並傳回交叉分析篩選器立即套用自定義。

還原為立即套用交叉分析篩選器

Optimization presets customize animation

還原為數據源變更之後的完整互動性

在 [優化] 功能區中,我們選取 [優化預設],然後選取報表的 [互動]。 這些是 Power BI Desktop 中的預設設定,因此,如果我們已選擇 [減少 查詢] 或 [自定義 ] 來變更優化預設值,這就是我們回到預設值的方式。 對話會確認我們的設定。

設定互動優化預設。

Optimization presets interactivity animation

在此情況下,我們會特別呼叫 DirectQuery 報告案例,但可用於其他報告案例。

針對特定視覺效果,我們可以使用效能分析器來判斷它是否使用 DirectQuery,以查看是否有 Direct 查詢資料列 。 您可以在這裡看到 DirectQuery,用來傳回視覺效果的數據:

DirectQuery reporting scenario-in performance analyzer screen image

社群

您已了解這些案例,如何使用 [屬性] 窗格中的 [優化] 功能區和關聯性編輯,簡化 Power BI Desktop 中的撰寫體驗。 請務必嘗試使用您自己的 DirectQuery 報告。

想要深入瞭解,或可能有您自己的案例要分享嗎? Power BI 具有充滿活力的社群,其中 MVP、BI 專業人員和同儕共用討論群組、影片、部落格等的專業知識。 請務必查看 Power BI 社群

您也可以參與! 透過 Microsoft Learn,本文之類的 Power BI 檔是開放原始碼。 若要深入瞭解如何參與,請務必參閱 Microsoft Learn 檔參與者指南