Power BI 的資料重新整理

Power BI 可讓您快速地將資料轉化成見解再轉化成動作,但您必須確定 Power BI 報表和儀表板中資料是最新的。 了解如何重新整理資料通常對於提供正確結果至關重要。

本文描述 Power BI 資料重新整理功能及其在概念層級的相依性。 它也提供最佳做法和祕訣來避免常見的重新整理問題。 該內容為協助您了解資料重新整理運作方式奠定了基礎。 如需設定資料重新整理的目標逐步指示,請參閱本文結尾在相關內容一節所列的教學課程和做法指南。

了解資料重新整理

搭配服務主體和應用程式祕密內嵌 Power BI 內容

每當您重新整理資料時,Power BI 必須查詢基礎資料來源、可能會將來源資料載入語意模型,然後更新您報表或儀表板中依賴已更新語意模型的任何視覺效果。 整個流程包含多個階段,視語意模型的儲存模式而定,如下列各節所述。

若要瞭解 Power BI 如何重新整理您的語意模型、報表和儀表板,您必須瞭解下列概念:

  • 儲存模式和語意模型類型:Power BI 支援的儲存模式和語意模型類型有不同的重新整理需求。 您可以選擇將資料重新匯入 Power BI 以查看發生的任何變更,或直接在來源查詢資料。
  • Power BI 重新整理類型:不論語意模型詳細資料為何,了解各種重新整理類型可協助您了解 Power BI 在重新整理作業期間將其時間花在何處。 而結合這些詳細資料與儲存模式詳細資料,有助於了解當您針對語意模型選取 [立即重新整理] 時,Power BI 實際執行的動作。

儲存模式和語意模型類型

Power BI 語意模型可在下列其中一種模式中運作,以從各種資料來源存取資料。 如需詳細資訊,請參閱 Power BI Desktop 中的儲存模式

  • 匯入模式
  • DirectQuery 模式
  • Direct Lake 模式
  • LiveConnect 模式
  • 推送模式

下圖說明不同的資料流程,視儲存模式而定。 最重要的一點是只有匯入模式語意模型需要重新整理來源資料。 之所以需要重新整理是因為只有這種類型的語意模型會從其資料來源匯入資料,且匯入的資料可能會定期或臨機操作更新。 DirectQuery、Direct Lake 或 LiveConnect 模式中的語意模型不會匯入數據;他們會使用每個用戶互動來查詢基礎數據源。 推送模式中的語意模型不會直接存取任何資料來源,但會預期您將資料推送到 Power BI。 語意模型重新整理需求會因儲存模式/語意模型類型而有所不同。

儲存模式和語意模型類型

匯入模式中的語意模型

Power BI 會從原始資料來源將資料匯入語意模型。 提交給語意模型的 Power BI 報表和儀表板查詢會從所匯入資料表和資料行傳回結果。 您可以將這類語意模型視為時間點複製。 因為 Power BI 會複製資料,所以您必須重新整理語意模型才能從基礎資料來源擷取變更。

重新整理語意模型時,會完全重新整理或部分重新整理。 部分重新整理會在具有累加式重新整理原則的資料表語意模型中進行。 在這些語意模型中,只會重新整理資料表分割的子集。 此外,進階使用者可以使用 XMLA 端點,在任何語意模型中重新整理特定分割區。

重新整理語意模型所需的記憶體數量取決於您是否執行完整或部分重新整理。 在重新整理期間,會保留語意模型的複本來處理語意模型的查詢。 這表示如果您要執行完整重新整理,您需要語意模型所需的兩倍記憶體數量。

建議您規劃容量使用量,以確保會考量語意模型重新整理所需的額外記憶體。 有足夠的記憶體可防止您的語意模型在重新整理作業期間需要比可用更多的記憶體時發生重新整理的問題。 若要瞭解 Premium 容量上每個語意模型可用的記憶體,請參閱 容量和 SKU 資料表。

如需 Premium 容量中大型語意模型的詳細資訊,請參閱 大型語意模型

DirectQuery 模式中的語意模型

Power BI 不會透過在 DirectQuery 模式中運作的連線匯入資料。 相反地,每當報表或儀表板查詢語意模型時,語意模型就會從基礎資料來源傳回結果。 Power BI 會轉換查詢並將其轉送到資料來源。

注意

即時連線報表會將查詢提交至裝載語意模型或模型的容量或 Analysis Services 執行個體。 使用 SQL Server Analysis Services (SSAS) 或 Azure Analysis Services (AAS) 等外部 Analysis Services 時,資源會在 Power BI 外部取用。

因為 Power BI 不會匯入資料,所以您不需要執行資料重新整理。 不過,Power BI 仍會執行磚重新整理並可能執行報表重新整理,如下一節的重新整理類型中所述。 磚是釘選到儀表板的報表視覺效果,而儀表板磚會大約每小時重新整理一次,以確保磚顯示最新結果。 您可以在語意模型設定中變更排程 (如下列螢幕擷取畫面所示),或使用 [立即重新整理] 選項強制儀表板手動更新。

重新整理排程

注意

  • 匯入模式中的語意模型和合併匯入模式和 DirectQuery 模式的複合語意模型不需要個別的磚重新整理,因為 Power BI 會在每次排程或隨選資料重新整理期間自動重新整理磚。 根據 XMLA 端點更新的語意模型只會清除快取的磚資料 (使快取失效)。 在每個使用者存取儀表板之前,不會重新整理磚快取。 針對匯入模型,您可以在 [語意模型] 索引標籤的 [排程重新整理] 區段中找到重新整理排程。針對複合語意模型,[排程重新整理] 區段位於 [最佳化效能] 區段中。
  • Power BI 不支援主權雲端中 Azure Analysis Services (AAS) 的跨邊界即時連線。

推送語意模型

推送語意模型不會包含資料來源的正式定義,因此您不需要在 Power BI 中執行資料重新整理。 您會透過外部服務或程序 (例如串流分析) 將資料推送到語意模型來重新整理。 這是使用 Power BI 進行即時分析的常見方法。 Power BI 仍會針對推送語意模型上使用的任何磚執行快取重新整理。 如需詳細的逐步解說,請參閱 教學課程:串流分析和 Power BI:串流資料的即時分析儀表板

Power BI 重新整理類型

Power BI 重新整理作業可能是由多個重新整理類型組成,包括資料重新整理、OneDrive 重新整理、查詢快取的重新整理、磚重新整理,以及報表視覺效果的重新整理。 雖然 Power BI 會自動決定指定語意模型所需的重新整理步驟,但您應該知道這些步驟對重新整理作業的複雜度和持續時間的影響。 如需快速參考,請參閱下表。

儲存體模式 資料重新整理 OneDrive 重新整理 查詢快取 磚重新整理 觸發查詢
Import 排程及隨選 是,適用於連接的語意模型 在 Premium 容量上啟用時 自動及隨選 No
DirectQuery 不適用 是,適用於連接的語意模型 不適用 自動及隨選 No
LiveConnect 不適用 是,適用於連接的語意模型 不適用 自動及隨選 Yes
推送 不適用 不適用 不可行 自動及隨選 No

另一種考慮不同重新整理類型的方式是它們的影響,以及您可以套用它們的位置。 資料來源資料表結構或結構描述的變更,例如新的、重新命名或移除的資料行,只能在 Power BI Desktop 中套用,而且在 Power BI 服務中,它們可能會導致重新整理失敗。 如需其影響的快速參考,請參閱下表。


報表視覺效果的重新整理 資料重新整理 重新整理結構描述
不同的重新整理類型有何用途? 用來填入視覺效果的查詢會重新整理。

對於使用 DirectQuery 資料表的視覺效果,視覺效果會查詢以從資料來源取得最新資料。

對於使用匯入資料表的視覺效果,視覺效果只會查詢上次資料重新整理時已匯入至語意模型的資料。
資料會從資料來源重新整理。

不適用於 DirectQuery 資料表,因為它們位於視覺效果層級,並且依賴報表視覺效果的重新整理。

針對匯入的資料表,資料會從來源重新整理。
將會顯示從上一次重新整理至今的任何資料來源資料表結構變更。

例如:顯示新增至 Power BI 資料流程或 SQL 資料庫檢視的新資料行。

適用於匯入的 DirectQuery 和 Direct Lake 數據表。

Power BI Desktop 中重新整理報表視覺效果、資料重新整理和結構描述重新整理同時發生,會使用

  • [首頁] [功能區] >[重新整理] 按鈕
  • [首頁] 功能區 >[轉換資料]>[關閉並套用] 按鈕
  • 在任何資料表上的操作功能表 (以滑鼠右鍵按一下或選取省略號),然後選擇 [重新整理資料]

這些重新整理類型不一定可以獨立套用,您可以在 Power BI Desktop 和 Power BI 服務中套用它們。 如需快速參考,請參閱下表。


報表視覺效果的重新整理 資料重新整理 重新整理結構描述
Power BI Desktop
  • 優化功能區>重新整理視覺效果
  • [檢視] 功能區 >[效能分析器] 按鈕,>[重新整理視覺效果]
  • 建立和變更視覺效果,導致執行 DAX 查詢
  • [頁面重新整理] 開啟時 (僅限 DirectQuery)
  • 開啟 PBIX 檔案
無法獨立於其他重新整理類型使用 無法獨立於其他重新整理類型使用
Power BI 服務
  • 當瀏覽器載入或重新載入報表時
  • 按一下 [重新整理視覺效果] 右上方功能表列按鈕
  • 在編輯模式中按一下 [重新整理] 按鈕
  • [頁面重新整理] 開啟時 (僅限 DirectQuery)
  • 排程重新整理
  • 立即重新重理
  • 從 Power Automate 重新整理 Power BI 語意模型
  • 從 SQL Server Management Studio 處理資料表 (進階)
只有在編輯 Power BI 服務 中的數據模型時,才適用於 Direct Lake 模式中的語意模型。
請注意 例如,如果您在瀏覽器中開啟報表,則排程的重新整理會執行匯入資料表的資料重新整理,在起始報表視覺效果重新整理之前,開啟瀏覽器中的報表視覺效果將不會更新。 重新命名或移除來源資料行或資料表時,Power BI 服務上的資料重新整理將會失敗。 它失敗是因為 Power BI 服務不包括結構描述重新整理。 若要更正此錯誤,必須在 Power BI Desktop 中發生結構描述重新整理,並將語意模型重新發佈至服務。 在數據源上重新命名或移除的數據行或數據表將會隨著架構重新整理而移除,而且它可能會中斷視覺效果和 DAX 運算式(量值、匯出數據行、數據列層級安全性等),以及移除相依於這些數據行或數據表的關聯性。

資料重新整理

對於 Power BI 使用者,重新整理資料通常表示會根據重新整理排程或隨選從原始資料來源將資料匯入語意模型。 您可以每天執行多個語意模型重新整理,如果基礎來源資料經常變更,這可能是必要的。 Power BI 會將共用容量上的語意模型限製為八個排程的每日語意模型重新整理。 八個時間值會儲存在後端資料庫中,並且根據在 [語意模型設定] 頁面上選取的 [當地時間] 區域。 排程器會檢查應該重新整理的模型,以及時間。 當地時間上午 12:01 每天重設八個重新整理的配額。

資料庫設定中的資料重新整理排程。

如果語意模型位於 Premium 容量上,則您可在語意模型設定中最多排程每天重新整理 48 次。 如需詳細資訊,請參閱本文稍後的設定排程重新整理。 當您使用 TMSL 或 PowerShell 以程式設計方式設定時,具有 XMLA 端點的 Premium 容量上語意模型會針對讀寫支援無限制重新整理作業啟用。

另請務必注意,每日重新整理次數的共用容量限制同時適用於排程重新整理及 API 重新整理,為兩者的合計。 您也可以在 [語意模型] 功能表中選取 [立即重新整理],以觸發隨選重新整理,如下列螢幕擷取畫面所示。 重新整理限制不包含隨選重新整理次數。 另請注意,Premium 容量上的語意模型不限制 API 重新整理次數。 如有興趣使用 Power BI REST API 建置自己的重新整理解決方案,請參閱 語意模型 - 重新整理語意模型

立即重新整理

注意

共用容量資料重新整理必須在 2 小時內完成。 如果您的語意模型需要較長時間執行重新整理作業,請考慮將語意模型移至 Premium 容量。 在 Premium 上,重新整理持續時間上限為 5 小時,但使用 XMLA 端點重新整理資料可能會略過 5 小時的限制。

OneDrive 重新整理

如果您根據 Power BI Desktop 檔案、Excel 活頁簿,或是 OneDrive 或 SharePoint Online 上的逗點分隔值 (.csv) 檔案建立語意模型和報表,Power BI 會執行另一種類型的重新整理,稱為 OneDrive 重新整理。 如需詳細資訊,請參閱針對 Power BI 從檔案取得資料

不同於語意模型重新整理期間,Power BI 會從資料來源將資料匯入語意模型,OneDrive 重新整理會將語意模型和報表與其來源檔案進行同步。 根據預設,Power BI 大約每小時會檢查連接到 OneDrive 或 SharePoint Online 上檔案的語意模型是否需要同步處理。

Power BI 會根據 OneDrive 中的項目識別碼執行重新整理,因此在考慮更新與取代時請謹慎。 當將 OneDrive 檔案設定為資料來源時,Power BI 會在執行重新整理時參考檔案的項目識別碼。 請考慮下列情況:您有一個主要檔案 A 和該檔案的生產環境複本 B,並為檔案 B 設定 OneDrive 重新整理。如果接著將檔案 A「複製」到檔案 B,則複製作業會刪除舊的檔案 B,並使用不同項目識別碼來建立新的檔案 B,但這會中斷 OneDrive 重新整理。 若要避免發生這種情況,您可改為上傳並取代檔案 B,這會保留其相同的項目識別碼。

您可將檔案移到另一個位置 (例如使用拖放),且重新整理會繼續執行,因為 Power BI 仍然知道檔案識別碼。 不過,如果您將該檔案複製到其他位置,則會建立檔案的新執行個體和新的 fileID。 因此,您的 Power BI 檔案參考不再有效,重新整理將會失敗。

注意

即使已在本機電腦上完成同步處理,以及在 Power BI 服務中使用了 [立即重新整理] 之後,Power BI 最多可能需要 60 分鐘來重新整理語意模型。

若要檢閱過去的同步處理週期,請檢查 [重新整理記錄] 中的 [OneDrive] 索引標籤。 下列螢幕擷取畫面顯示範例語意模型的同步處理週期已完成。

重新整理記錄

如上方螢幕擷取畫面所示,Power BI 將此 OneDrive 重新整理識別為排程重新整理,但無法設定重新整理的間隔。 您只能在語意模型的設定中停用 OneDrive 重新整理。 如果您不希望 Power BI 中的語意模型和報表自動從來源檔案選取任何變更,則停用重新整理會很有用。

如果語意模型連接到 OneDrive 或 SharePoint Online 中的檔案,語意模型設定頁面只會顯示 [OneDrive 認證] 和 [OneDrive 重新整理] 區段,如下列螢幕擷取畫面所示。 未連接到 OneDrive 或 SharePoint Online 中來源檔案的語意模型不會顯示這些區段。

OneDrive 認證和 OneDrive 重新整理

如果您停用語意模型的 OneDrive 重新整理,您仍可隨選在 [語意模型] 功能表中選取 [立即重新整理] 來同步語意模型。 在隨選重新整理的過程中,Power BI 會檢查 OneDrive 或 SharePoint Online 上的來源檔案是否比 Power BI 中的語意模型更新;如果是,則會同步語意模型。 [重新整理記錄] 會將這些活動列為 [OneDrive] 索引標籤上的隨選重新整理。

請注意,OneDrive 重新整理不會從原始資料來源提取資料。 OneDrive 重新整理只會更新 Power BI 中其中繼資料和資料來自 .pbix、.xlsx 或 .csv 的資源,如下圖所示。 為了確保語意模型包含資料來源中的最新資料,Power BI 也會觸發資料重新整理,作為隨選重新整理的一部分。 如果您切換為 [已排程] 索引標籤,則可以在 [重新整理記錄] 中驗證這點。

OneDrive 重新整理圖表

如果您針對連接到 OneDrive 或 SharePoint Online 的語意模型保持啟用 OneDrive 重新整理,並想要根據排程執行資料重新整理,請務必設定排程,讓 Power BI 在 OneDrive 重新整理之後執行資料重新整理。 例如,如果您建立了自己的服務或程序,在每天晚上凌晨 1 點更新 OneDrive 或 SharePoint Online 中的來源檔案,您可以設定在凌晨 2:30 執行排程重新整理,讓 Power BI 有足夠的時間完成 OneDrive 重新整理,再開始資料重新整理。

查詢快取的重新整理

如果您的語意模型位於 Premium 容量上,您就可以藉由啟用查詢快取來改善任何相關聯報表和儀表板的效能,如下列螢幕擷取畫面所示。 查詢快取會指示 Premium 容量使用其本機快取服務來維護查詢結果,避免讓基礎資料來源計算這些結果。 如需詳細資訊,請參閱 Power BI Premium 中的查詢快取

查詢快取

不過,在資料重新整理之後,先前快取的查詢結果將不再有效。 Power BI 會捨棄這些快取的結果,且必須加以重建。 基於這個理由,查詢快取可能不利於與您經常重新整理 (例如每天 48 次) 的語意模型建立關聯的報表和儀表板。

報表視覺效果的重新整理

此重新整理程序較不重要,因為它只與 Analysis Services 的即時連線相關。 針對這些連線,Power BI 會快取報表視覺效果的最新狀態,因此當您再次檢視報表時,Power BI 不需要查詢 Analysis Services 表格式模型。 當您與報表互動時 (例如透過變更報表篩選),Power BI 會查詢表格式模型並自動更新報表視覺效果。 如果您懷疑報表顯示過時資料,您也可以選取報表的 [重新整理] 按鈕來觸發所有報表視覺效果的重新整理,如下列螢幕擷取畫面所示。

重新整理報表視覺效果

只會重新整理釘選的視覺效果,而不是釘選即時頁面。 若要重新整理釘選的即時頁面,您可以使用瀏覽器的 [重新整理] 按鈕。

檢閱資料基礎結構相依性

不論儲存模式為何,除非可存取基礎資料來源,否則資料重新整理可能會失敗。 有三個主要的資料存取案例:

  • 語意模型使用位於內部部署的資料來源
  • 語意模型使用雲端中的資料來源
  • 語意模型使用來自內部部署和雲端來源的資料

連線至內部部署資料來源

語意模型使用 Power BI 無法透過直接網路連線存取的資料來源,您必須設定此語意模型的閘道連接,才能啟用重新整理排程或執行隨選資料重新整理。 如需資料閘道及其運作方式的詳細資訊,請參閱什麼是內部部署的資料閘道?

下列選項可供您選擇:

  • 選擇具有必要資料來源定義的企業資料閘道
  • 部署個人資料閘道

注意

您可以在管理您的資料來源 - 匯入/已排程的重新整理一文中,找到需要資料閘道的資料來源類型清單。

使用企業資料閘道

Microsoft 建議使用企業資料閘道 (而不是個人閘道) 將語意模型連接到內部部署資料來源。 請確定閘道已正確設定,這表示閘道必須具有最新的更新和所有必要的資料來源定義。 資料來源定義為 Power BI 提供指定來源的連接資訊,包括連接端點、驗證模式和認證。 如需管理閘道上資料來源的詳細資訊,請參閱管理您的資料來源 - 匯入/已排程的重新整理

如果您是企業閘道管理員,將語意模型連接到企業閘道會相當簡單。 透過管理員權限,您可以立即更新閘道,並視需要新增遺漏的資料來源。 事實上,您可以直接從語意模型設定頁面,將遺漏的資料來源新增至閘道。 展開切換按鈕以檢視資料來源,然後選取 [新增至閘道] 連結,如下列螢幕擷取畫面所示。 反之,如果您不是閘道管理員,則必須連絡閘道管理員,才能新增必要的資料來源定義。

注意

只有閘道管理員可以將資料來源新增至閘道。 此外,請確認閘道管理員已將您的使用者帳戶新增至具有資料來源使用權限的使用者清單。 語意模型設定頁面僅允許您選取與您所擁有的資料來源使用權限相符的企業閘道。

新增至閘道

請確認您將正確的資料來源定義對應到您的資料來源。 如上方螢幕擷取畫面所示,閘道系統管理員可以在連線到同一個資料來源的單一閘道上,建立多個定義,並各有不同的認證。 在所示範例中,銷售部門中的語意模型擁有者會選擇 AdventureWorksProducts-Sales 資料來源定義,而支援部門中的語意模型擁有者會將語意模型對應至 AdventureWorksProducts-Support 資料來源定義。 如果無法憑直覺挑選資料來源定義的名稱,請連絡您的閘道系統管理員,以釐清該挑選哪個定義。

注意

一個語意模型只能使用單一閘道連接。 換句話說,您無法跨多個閘道連接存取內部部署資料來源。 因此,您必須將所有必要的資料來源定義新增至同一個閘道。

部署個人資料閘道

如果您沒有企業資料閘道存取權,且您是管理語意模型的唯一人員,因此不需要與其他人共用資料來源,則可以在個人模式中部署資料閘道。 在 [閘道連接] 區段的 [您並未安裝任何個人閘道] 下,選取 [立即安裝]。 個人資料閘道有幾項限制,如內部部署資料閘道 (個人模式) 中所述。

不同於企業資料閘道,您不需要將資料來源定義新增至個人閘道。 相反地,您會透過使用語意模型設定中的 [資料來源認證] 區段來管理資料來源設定,如下列螢幕擷取畫面所示。

設定閘道的資料來源認證

存取雲端資料來源

如果 Power BI 可以建立來源的直接網路連線,則使用雲端資料來源 (例如 Azure SQL DB) 的語意模型不需要資料閘道。 因此,您可以使用語意模型設定中的 [資料來源認證] 區段,來管理這些資料來源的設定。 如下列螢幕擷取畫面所示,您不需要設定閘道連接。

設定資料來源認證且不使用閘道

注意

無論語意模型所在的工作區為何,每位使用者每個資料來源只能有一組認證。 而且每個語意模型只能有一個擁有者。 如果您想要更新您不是語意模型擁有者的語意模型認證,您必須先按一下 [語意模型設定] 頁面上的 [接管] 按鈕來接管語意模型。

在同一個來源查詢中存取內部部署和雲端來源

語意模型可以從多個來源取得資料,且這些來源可以位於內部部署或雲端中。 不過,一個語意模型只能使用單一閘道連接,如稍早所述。 雖然雲端資料來源不一定需要閘道,但如果語意模型在單一交互式查詢中連接到內部部署和雲端來源,則需要閘道。 在這種情況下,Power BI 也必須針對雲端資料來源使用閘道。 下圖說明這類語意模型如何存取其資料來源。

雲端和內部部署資料來源

注意

如果語意模型使用個別交互式查詢來連接到內部部署和雲端來源,Power BI 會使用閘道連接來連接到內部部署來源,並使用直接網路連線來連接到雲端來源。 如果混搭查詢會合併或附加來自內部部署和雲端來源的資料,Power BI 會切換為閘道連接,即使是雲端來源也一樣。

Power BI 語意模型依賴 Power Query 存取並擷取來源資料。 下列交互式清單顯示一個基本的查詢範例,合併來自內部部署來源和雲端來源的資料。

Let

    OnPremSource = Sql.Database("on-premises-db", "AdventureWorks"),

    CloudSource = Sql.Databases("cloudsql.database.windows.net", "AdventureWorks"),

    TableData1 = OnPremSource{[Schema="Sales",Item="Customer"]}[Data],

    TableData2 = CloudSource {[Schema="Sales",Item="Customer"]}[Data],

    MergedData = Table.NestedJoin(TableData1, {"BusinessEntityID"}, TableData2, {"BusinessEntityID"}, "MergedData", JoinKind.Inner)

in

    MergedData

您有兩個選項來設定資料閘道,以支援合併或附加來自內部部署和雲端來源的資料:

  • 除了內部部署資料來源,請將雲端來源的資料來源定義新增至資料閘道。
  • 啟用 [允許使用者的雲端資料來源透過此閘道叢集進行重新整理] 核取方塊。

透過閘道叢集重新整理

如果您啟用閘道設定中的 [允許使用者的雲端資料來源透過此閘道叢集重新整理] 核取方塊 (如上方螢幕擷取畫面所示),Power BI 就可以使用使用者在語意模型設定中 [資料來源認證] 下使用者為雲端來源定義的設定。 這可協助降低閘道設定額外負荷。 相反地,如果您想要更進一步控制您的閘道所建立的連線,則不應該啟用此核取方塊。 在此情況下,您必須針對每個想要支援的雲端來源,將明確資料來源定義新增至您的閘道。 您也可以啟用核取方塊,然後針對雲端來源,將明確的資料來源定義新增至閘道。 在此情況下,閘道會針對所有相符的來源使用資料來源定義。

設定查詢參數

您使用 Power Query 建立的交互式或 (M) 查詢可能會有不同的複雜度,從簡單步驟到參數化建構。 下列清單顯示一個簡單的交互式查詢範例,使用兩個參數 SchemaNameTableName 來存取 AdventureWorks 資料庫中的指定資料表。

let

    Source = Sql.Database("SqlServer01", "AdventureWorks"),

    TableData = Source{[Schema=SchemaName,Item=TableName]}[Data]

in

    TableData

注意

只有匯入模式語意模型支援查詢參數。 DirectQuery/LiveConnect 模式不支援查詢參數定義。

為了確保參數化語意模型存取正確的資料,您必須在語意模型設定中設定交互式查詢參數。 您也可以使用 Power BI REST API,透過程式設計方式更新參數。 下列螢幕擷取畫面顯示使用者介面,為使用上述交互式查詢的語意模型設定查詢參數。

設定查詢參數

重新整理和動態資料來源

動態資料來源是一種資料來源,在 Power Query 執行其查詢之前,無法判斷連線所需的部分或全部資訊,因為資料會以程式碼產生或從另一個資料來源傳回。 範例包括:SQL Server 資料庫的執行個體名稱和資料庫、CSV 檔案的路徑或 Web 服務的 URL。

在大多數情況下,使用動態資料來源的 Power BI 語意模型無法在 Power BI 服務中重新整理。 有一些例外狀況可在 Power BI 服務中重新整理動態資料來源,例如,搭配 Web.Contents M 函式使用 RelativePath 和 Query 選項時。 參考 Power Query 參數的查詢也可以重新整理。

若要判斷您的動態資料來源是否可以重新整理,請在 [Power Query 編輯器] 中開啟 [資料來源設定] 對話方塊,然後選取 [目前檔案中的資料來源]。 在出現的視窗中,尋找下列警告訊息,如下圖所示:

注意

因為手寫查詢,所以可能不會列出部分資料來源。

動態資料來源指標

如果出現的 [資料來源設定] 對話方塊中顯示該警告,則會顯示無法在 Power BI 服務中重新整理的動態資料來源。

設定排定的重新整理時間

在 Power BI 與您的資料來源之間建立連接,是設定資料重新整理方面到目前為止最具挑戰性的工作。 其餘步驟則相當簡單,包括設定重新整理排程和啟用重新整理失敗通知。 如需逐步指示,請參閱設定排程重新整理操作指南。

設定重新整理排程

[排程的重新整理] 區段可讓您定義重新整理語意模型的頻率和時段。 如稍早所述,如果您的語意模型為共用容量,您可以設定每天最多八個時段;如果在 Power BI Premium,則可以設定 48 個時段。 下列螢幕擷取畫面顯示十二個小時間隔的重新整理排程。

設定排定的重新整理時間

設定重新整理排程之後,語意模型設定頁面會通知您下次重新整理時間,如上方螢幕擷取畫面所示。 如果您想要更快重新整理資料 (例如測試閘道和資料來源設定),請使用導覽窗格中語意模型功能表裡的 [立即重新整理] 選項來執行隨選重新整理。 隨選重新整理不會影響下次排程重新整理時間。

提示

Power BI 沒有每月重新整理的間隔選項。 不過,您可使用 Power Automate 來建立每月發生的自訂重新整理的間隔,如下列 Power BI 部落格文章所述。

另請注意,已設定重新整理時間可能不是 Power BI 開始下一個排程程序的確切時間。 Power BI 會盡力開始已排程的重新整理。 目標是在已排程的時段 15 分鐘內起始重新整理,但若服務無法提早配置所需的資源,就會發生最多一小時的延遲。

注意

Power BI 會在四次連續失敗,或當服務偵測到無法復原及需要設定更新的錯誤 (例如無效或過期的認證) 之後,停用重新整理排程。 無法變更連續失敗閾值。

取得重新整理失敗通知

根據預設,Power BI 會透過電子郵件傳送重新整理失敗通知給語意模型擁有者,讓擁有者可以在發生重新整理問題時及時採取動作。 如果擁有者在其行動裝置上擁有 Power BI 應用程式,他們也會在那裡收到失敗通知。 當服務因為連續失敗而停用您排程的重新整理時,Power BI 也會傳送電子郵件通知給您。 Microsoft 建議您保持啟用 [傳送重新整理失敗通知電子郵件給語意模型擁有者] 核取方塊。

使用 [在重新整理失敗時,寄送電子郵件給這些連絡人] 文本框,為排程的重新整理失敗通知指定其他收件者,這也是個好主意。 指定的收件者會透過電子郵件和發送通知接收重新整理失敗通知給行動應用程式,就像語意模型擁有者一樣。 指定的收件者可能包含在休假時負責您的語意模型的同事,或支援小組的電子郵件捷徑,其負責處理部門或組織的重新整理問題。 除了語意模型擁有者以外,將重新整理失敗通知傳送給其他人,有助於確保及時注意到問題並妥善解決。

注意

發送通知到行動裝置應用程式不支援群組捷徑。

請注意,Power BI 不只會在重新整理失敗時,也會在服務因為處於非使用狀態而暫停排程重新整理時傳送通知。 兩個月後,若沒有使用者瀏覽在語意模型上建置的任何儀表板或報表時,Power BI 會將語意模型視為閒置中。 在此情況下,Power BI 會傳送電子郵件訊息給語意模型擁有者,指出服務已暫停語意模型的重新整理排程。 如需這類通知的範例,請參閱下列螢幕擷取畫面。

重新整理已暫停的電子郵件

若要繼續排程重新整理,請瀏覽使用此語意模型建置的報表或儀表板,或是使用 [立即重新整理] 選項手動重新整理語意模型。

注意

不支援將重新整理通知傳送給外部使用者。 您在 [當重新整理失敗時,寄送電子郵件給這些使用者] 文字框中指定的收件者,必須在您的 Microsoft Entra 租用戶中擁有帳戶。 這項限制同時適用於語意模型重新整理和資料流程重新整理。

檢查重新整理狀態和記錄

除了失敗通知,定期檢查您語意模型中是否有重新整理錯誤也是好方法。 一個快速方式是檢視工作區中的語意模型清單。 有錯誤的語意模型會顯示一個小的警告圖示。 選取警告圖示以取得其他資訊,如下列螢幕擷取畫面所示。 如需為特定重新整理錯誤進行疑難排解的詳細資訊,請參閱重新整理案例進行疑難排解

重新整理狀態警告

警告圖示有助於指出目前的語意模型問題,但不時檢查重新整理記錄也是好方法。 如名稱所指,重新整理記錄可讓您檢閱過去同步處理週期的成功或失敗狀態。 例如,閘道管理員可能已更新一組過期的資料庫認證。 如下列螢幕擷取畫面所示,重新整理記錄顯示受影響的重新整理何時重新開始運作。

重新整理記錄訊息

注意

您可以在語意模型設定中找到連結,以顯示重新整理記錄。 您也可以使用 Power BI REST API,透過程式設計方式擷取重新整理記錄。 透過使用自訂解決方案,您可以集中監視多個語意模型的重新整理記錄。

自動重新整理頁面

自動頁面重新整理會在報表頁面層級運作,並可讓報表作者設定頁面中視覺效果 (只有在取用頁面時才會是作用中) 的重新整理間隔。 自動頁面重新整理僅適用於 DirectQuery 資料來源。 最小重新整理間隔取決於發行報表的工作區類型,以及進階工作區和內嵌工作區的容量管理員設定。

若要深入了解自動頁面重新整理,請參閱自動頁面重新整理一文。

語意模型重新整理記錄

Power BI 語意模型的重新整理嘗試不一定總會順利進行,有可能需要比預期更長的時間。 您可以使用 [重新整理記錄] 頁面,協助您診斷重新整理可能未如預期發生的原因。

如果發生重新整理失敗,Power BI 會自動多次嘗試重新整理語意模型。 若沒有深入解析重新整理記錄活動,可能看起來重新整理需要比預期更長的時間。 透過 [重新整理記錄] 頁面,您可以看到這些失敗的嘗試,並深入解析失敗的原因。

下列螢幕擷取畫面顯示失敗的重新整理,其中包含每次 Power BI 自動嘗試成功完成重新整理的詳細資料。

重新整理記錄詳細資料的螢幕擷取畫面。

您也可以查看 Power BI 在之前嘗試失敗後成功時,如下圖所示,這顯示 Power BI 只在之前三次失敗之後才會成功。 請注意,成功的資料重新整理和查詢快取會共用相同的索引編號,表示兩者在第四次嘗試時都成功。

成功的重新整理記錄螢幕擷取畫面。

您可以選取失敗旁邊的 [顯示] 連結,以取得失敗重新整理嘗試的詳細資訊,這有助於針對問題進行疑難解答。

此外,每個 Power BI 重新整理嘗試都會分成兩個作業:

  • 資料 – 將資料載入語意模型
  • 查詢快取 – 進階查詢快取和/或儀表板磚重新整理

下列影像顯示重新整理記錄如何分隔這些作業,並提供每個作業的相關資訊。

重新整理記錄的螢幕擷取畫面,其中已分隔重新整理作業。

大幅使用儀錶板磚或進階快取可能增加重新整理持續時間,因為兩者可以在每次重新整理之後將許多查詢排入佇列。 您可以減少儀表板數目,或停用自動快取重新整理設定,以協助減少查詢數目。

資料和查詢快取階段彼此獨立,但會依序執行。 資料重新整理會先執行,當成功時,查詢快取重新整理就會執行。 如果資料重新整理失敗,則不會起始查詢重新整理。 有可能資料重新整理可以順利執行,但查詢快取重新整理失敗。

使用 XMLA 端點重新整理不會在 [重新整理記錄] 視窗中顯示嘗試的詳細資料。

取消重新整理

當您想要在尖峰時間停止大型語意模型的重新整理時,停止語意模型重新整理會很有用。 使用重新整理取消功能,停止重新整理位於進階版Premium Per User (PPU)Power BI Embedded 容量上的語意模型。

若要取消語意模型重新整理,您必須是語意模型工作區的參與者、成員或系統管理員。 語意模型重新整理取消僅適用於使用匯入模式複合模式的語意模型。

注意

不支援建立為 Datamart 的一部分的語意模型。

若要開始重新整理,請移至您要重新整理的語意模型,然後選取 [立即重新整理]

重新整理語意模型的螢幕擷取畫面。

若要停止重新整理,請遵循下列步驟:

  1. 移至正在重新整理的語意模型,然後選取 [取消重新整理]

    停止重新整理語意模型的螢幕擷取畫面。

  2. 在 [取消重新整理] 快顯視窗中,選取 [是]

    取消重新整理快顯視窗的螢幕擷取畫面,其中已醒目提示 [是] 按鈕。

最佳作法

定期檢查語意模型的重新整理記錄,是您可以採用來確保報表和儀表板使用最新資料的最重要最佳做法之一。 如果您發現問題時,請立即加以解決,並在必要時連絡資料來源擁有者和閘道管理員。

此外,請考慮下列建議來為您的語意模型建立和維護可靠的資料重新整理流程:

  • 將重新整理排程在較空閒的時間,特別是您的語意模型在 Power BI Premium 上時。 如果您將語意模型的重新整理週期分散到更廣泛的時間範圍,則有助於避免可能造成可用資源負擔過重的尖峰。 延遲開始重新整理週期是資源超載的指標。 如果 Premium 容量已完全耗盡,Power BI 可能甚至會略過重新整理週期。
  • 請注意重新整理限制。 如果來源資料經常變更或資料量很大,且在來源增加的負載與對查詢效能造成的影響可接受,請考慮使用 DirectQuery/LiveConnect 模式,而不是匯入模式。 避免經常重新整理匯入模式語意模型。 不過,DirectQuery/LiveConnect 模式有幾項限制,例如傳回資料有一百萬個資料列限制及執行查詢有 225 秒回應時間限制,如在 Power BI Desktop 中使用 DirectQuery 中所述。 這些限制可能仍會要求您使用匯入模式。 針對大型資料量,請考慮使用 Power BI 中的彙總
  • 確認您的語意模型重新整理時間未超過重新整理持續時間的上限。 使用 Power BI Desktop 來檢查重新整理持續時間。 如果需要超過 2 小時,請考慮將您的語意模型移至 Power BI Premium。 您的語意模型的共用容量可能無法重新整理。 另請考慮對大於 1GB 或需要數小時重新整理之語意模型使用累加式重新整理
  • 將您的語意模型最佳化,僅包含您的報表和儀表板所使用資料表和資料行。 盡可能將您的交互式最佳化查詢最佳化,以避免動態資料來源定義和昂貴的 DAX 計算。 特別是避免測試資料表中每個資料列的 DAX 函式,因為這會造成高記憶體耗用量和處理額外負荷。
  • 套用與 Power BI Desktop 相同的隱私權設定,以確保 Power BI 可產生有效率的來源查詢。 請注意,Power BI Desktop 不會發佈隱私權設定。 發佈語意模型之後,您必須手動重新套用資料來源定義中的設定。
  • 限制您儀表板上的視覺效果數目,特別是使用資料列層級安全性 (RLS) 時。 如本文稍早所述,過多的儀表板磚可能會大幅增加重新整理持續時間。
  • 使用可靠的企業資料閘道部署,以將您的語意模型連接到內部部署資料來源。 如果您注意到與閘道相關的重新整理失敗 (例如閘道無法使用或超載),請連絡閘道管理員以將其他閘道新增至現有的叢集,或部署新的叢集 (相應增加與向外延展)。
  • 針對匯入語意模型和 DirectQuery/LiveConnect 語意模型使用個別資料閘道,讓排程的重新整理期間的資料匯入不會影響 DirectQuery/LiveConnect 語意模型上的報表和儀表板效能,這類語意模型會在每次與使用者互動時查詢資料來源。
  • 確保 Power BI 可以將重新整理失敗通知傳送至您的信箱。 垃圾郵件篩選可能會封鎖電子郵件訊息或將其移至其他資料夾,而導致您可能不會立即注意到。

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