Power BI 中的數據重新整理

Power BI 可讓您將數據從數據快速移至動作,但您必須確定 Power BI 報表和儀錶板中的數據是最近的。 瞭解如何重新整理數據,在提供精確的結果時通常很重要。

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

了解數據重新整理

使用服務主體和應用程式秘密內嵌Power BI內容

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

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

  • 儲存體 模式和語意模型類型:P ower BI 支援的儲存模式和語意模型類型有不同的重新整理需求。 您可以選擇將數據重新匯入 Power BI,以查看發生的任何變更,或直接在來源查詢數據。
  • Power BI 重新整理類型:不論語意模型細節為何,瞭解各種重新整理類型可協助您瞭解 Power BI 在重新整理作業期間可能花費的時間。 將這些詳細數據與儲存模式細節結合,有助於了解當您選取 [立即重新整理] 作為語意模型的 [立即 重新整理] 時,Power BI 執行的確切表現。

儲存體 模式和語意模型類型

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

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

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

Storage modes and semantic model types

匯入模式中的語意模型

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

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

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

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

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

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 仍會執行磚重新整理,而且可能重新整理報表,如重新整理類型的下一節所說明。 磚是釘選到儀錶板的報表視覺效果,而儀錶板磚重新整理大約每小時都會發生,讓磚顯示最近的結果。 您可以在語意模型設定中變更排程,如下列螢幕快照所示,或使用 [ 立即 重新整理] 選項手動強制儀錶板更新。

Refresh schedule

注意

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

推送語意模型

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

Power BI 重新整理類型

Power BI 重新整理作業可以包含多個重新整理類型,包括數據重新整理、OneDrive 重新整理、查詢快取重新整理、磚重新整理,以及報表視覺效果的重新整理。 雖然 Power BI 會自動判斷指定語意模型所需的重新整理步驟,但您應該知道它們如何促成重新整理作業的複雜度和持續時間。 如需快速參考,請參閱下表。

儲存體模式 資料重新整理 OneDrive 重新整理 查詢快取 磚重新整理 觸發查詢
Import 排程和隨選 是,適用於連接的語意模型 如果在 進階版 容量上啟用 自動和隨選 No
DirectQuery 不適用 是,適用於連接的語意模型 如果在 進階版 容量上啟用 自動和隨選 No
Live 連線 不適用 是,適用於連接的語意模型 如果在 進階版 容量上啟用 自動和隨選 Yes
推送 不適用 不適用 不實用 自動和隨選 No

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


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

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

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

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

針對匯入的數據表,數據會從來源重新整理。
任何數據源數據表結構都會變更,因為先前的重新整理將會顯示。

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

適用於匯入和 DirectQuery 數據表。

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 服務 上的數據重新整理將會失敗。 因為 Power BI 服務 不包含架構重新整理,所以失敗。 若要更正此錯誤,必須在Power BI Desktop中發生架構重新整理,並將語意模型重新發佈至服務。 在 Power BI Desktop 中使用架構重新整理來更新數據源的已重新命名或移除的數據行或數據表,但它可能會中斷視覺效果和 DAX 表達式(量值、匯出數據行、數據列層級安全性等),以及移除相依於這些數據行或數據表的關聯性。

資料重新整理

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

Data refresh schedule in Database settings.

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

此外,請務必指出每日重新整理的共用容量限制會同時套用至已排程的重新整理和 API 重新整理。 您也可以在語意模型功能表中選取 [立即 重新整理],以觸發隨選重新整理,如下列螢幕快照所示。 隨選重新整理不會包含在重新整理限制中。 另請注意,進階版 容量上的語意模型不會對API重新整理施加限制。 如果您有興趣使用Power BI REST API 建置自己的重新整理解決方案,請參閱 語意模型 - 重新整理語意模型

Refresh now

注意

數據重新整理必須在共用容量的 2 小時內完成。 如果您的語意模型需要較長的重新整理作業,請考慮將語意模型移至 進階版 容量。 進階版 時,重新整理持續時間上限為 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 重新整理。如果您接著 透過檔案 B 複製 檔案 A,複製作業會刪除舊檔案 B,並建立具有不同專案識別元的新檔案 B,這會中斷 OneDrive 重新整理。 若要避免這種情況,您可以改為上傳和取代檔案 B,以保留其相同的專案識別碼。

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

注意

Power BI 最多可能需要 60 分鐘才能重新整理語意模型,即使在本機計算機上完成同步處理之後,也可能需要 60 分鐘的時間才能在 Power BI 服務 中使用 Refresh

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

Refresh history

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

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

OneDrive Credentials and OneDrive refresh

如果您停用語意模型的 OneDrive 重新整理,您仍然可以在語意模型功能表中選取 [立即 重新整理],視需要同步處理您的語意模型。 作為隨選重新整理的一部分,Power BI 會檢查 OneDrive 或 SharePoint Online 上的來源檔案是否比 Power BI 中的語意模型還新,並同步處理語意模型。 [重新整理記錄] 會將這些活動列為 [OneDrive] 索引標籤上的隨選重新整理。

請記住,OneDrive 重新整理不會從原始數據源提取數據。 OneDrive 重新整理只會使用 .pbix、.xlsx 或 .csv 檔案中的元數據和數據來更新 Power BI 中的資源,如下圖所示。 為了確保語意模型具有數據源的最新數據,Power BI 也會在隨選重新整理時觸發數據重新整理。 如果您切換至 [排程] 索引標籤,則可以在 [重新整理記錄] 中確認這一點。

OneDrive refresh diagram

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

重新整理查詢快取

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

Query caching

不過,在數據重新整理之後,先前快取的查詢結果已不再有效。 Power BI 會捨棄這些快取的結果,而且必須重建它們。 基於這個理由,查詢快取對於您經常重新整理的語意模型相關聯的報表和儀錶板可能沒有好處,例如每天 48 次。

重新整理報表視覺效果

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

Refresh report visuals

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

檢閱數據基礎結構相依性

無論儲存模式為何,除非可存取基礎數據源,否則任何數據重新整理都無法成功。 有三個主要的數據存取案例:

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

連線 至內部部署數據源

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

下列選項可供您選擇:

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

注意

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

使用企業數據閘道

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

如果您是閘道系統管理員,連線 企業閘道的語意模型相對簡單。 利用系統管理員許可權,您可以視需要及時更新閘道並新增遺漏的數據源。 事實上,您可以從語意模型設定頁面直接將遺漏的數據源新增至閘道。 展開切換按鈕以檢視數據源,然後選取 [新增至網關 ] 連結,如下列螢幕快照所示。 如果您不是閘道管理員,另一方面,您必須連絡閘道管理員以新增必要的數據源定義。

注意

只有閘道管理員可以將數據源新增至閘道。 此外,請確定閘道管理員將用戶帳戶新增至具有使用數據源許可權的使用者清單。 語意模型設定頁面只可讓您選取具有使用許可權的相符數據源的企業閘道。

Add to gateway

請務必將正確的數據源定義對應至數據源。 如上述螢幕快照所示,閘道管理員可以在連線到相同數據源的單一閘道上建立多個定義,每個都有不同的認證。 在顯示的範例中,Sales 部門的語意模型擁有者會選擇 AdventureWorksProducts-Sales 數據源定義,而支援部門的語意模型擁有者會將語意模型對應至 AdventureWorksProducts-Support 數據源定義。 如果數據源定義的名稱不直覺,請連絡網關管理員,以釐清要挑選的定義。

注意

語意模型只能使用單一網關聯機。 換句話說,無法跨多個網關聯機存取內部部署數據源。 因此,您必須將所有必要的數據源定義新增至相同的閘道。

部署個人資料閘道

如果您無法存取企業數據閘道,而且您是唯一管理語意模型的人員,因此您不需要與其他人共享數據源,則可以在個人模式中部署數據閘道。 在 [網關聯機]段中,於 [您尚未安裝個人網關] 底下,選取 [立即安裝]。 個人資料閘道有數個限制,如內部部署數據閘道(個人模式)中所述

不同於企業數據閘道,您不需要將數據源定義新增至個人閘道。 相反地,您可以使用語意模型設定中的 [數據源認證] 區段來管理數據源組態,如下列螢幕快照所示。

Configure data source credentials for gateway

存取雲端數據源

如果 Power BI 可以建立與來源的直接網路連線,則使用雲端數據源的語意模型,例如 Azure SQL DB,不需要數據網關。 因此,您可以使用語意模型設定中的 [數據源認證] 區段來管理這些數據源的組態。 如下列螢幕快照所示,您不需要設定網關聯機。

Configure data source credentials without a gateway

注意

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

存取相同來源查詢中的內部部署和雲端來源

語意模型可以從多個來源取得數據,而且這些來源可以位於內部部署或雲端中。 不過,語意模型只能使用單一網關聯機,如先前所述。 雖然雲端數據源不一定需要閘道,但如果語意模型在單一混搭查詢中聯機到內部部署和雲端來源,則需要閘道。 在此案例中,Power BI 也必須使用雲端數據源的閘道。 下圖說明這類語意模型如何存取其數據源。

Cloud and on-premises data sources

注意

如果語意模型使用個別的混搭查詢來連線到內部部署和雲端來源,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

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

  • 除了內部部署數據源之外,將雲端來源的數據源定義新增至數據閘道。
  • 啟用 [允許使用者的雲端數據源透過此閘道叢集重新整理] 複選框

Refresh through gateway cluster

如果您啟用 [允許使用者的雲端數據源在閘道組態中透過此閘道叢集重新整理] 複選框,如上述螢幕快照所示,Power BI 可以使用語意模型設定中數據源認證下針對雲端來源定義的設定。 這有助於降低閘道設定的額外負荷。 另一方面,如果您想要更充分地控制閘道所建立的連線,則不應該啟用此複選框。 在此情況下,您必須為每個您想要支援閘道的雲端來源新增明確的數據源定義。 您也可以啟用複選框,並將雲端來源的明確數據源定義新增至閘道。 在此情況下,閘道會針對所有相符的來源使用數據源定義。

設定查詢參數

您使用 Power Query 所建立的混搭或 M 查詢可能會因複雜度而有所不同,從簡單步驟到參數化建構。 下列清單顯示小型的混搭查詢範例,使用兩個稱為 SchemaNameTableName 的參數來存取 AdventureWorks 資料庫中的指定數據表。

let

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

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

in

    TableData

注意

查詢參數僅支持匯入模式語意模型。 DirectQuery/Live 連線 模式不支援查詢參數定義。

若要確保參數化語意模型存取正確的數據,您必須在語意模型設定中設定混搭查詢參數。 您也可以使用 Power BI REST API 以程式設計方式更新參數。 下列螢幕快照顯示使用者介面,以針對使用上述混搭查詢的語意模型設定查詢參數。

Configure query parameters

重新整理和動態數據源

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

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

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

注意

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

Dynamic data source indicator

如果該警告出現在出現的 [數據源 設定] 對話框中,則 Power BI 服務 中無法重新整理的動態數據源。

設定排程重新整理

在 Power BI 與數據源之間建立連線能力,是設定數據重新整理時最具挑戰性的工作。 其餘步驟相當簡單,包括設定重新整理排程和啟用重新整理失敗通知。 如需逐步指示,請參閱設定排程重新整理的作法指南

設定重新整理排程

[排程的重新整理] 區段是您定義重新整理語意模型的頻率和時段。 如先前所述,如果您的語意模型處於共用容量,或 Power BI 進階版 上的 48 個時段,您最多可以設定 8 個每日時間位置。 下列螢幕快照顯示 12 小時間隔的重新整理排程。

Configure scheduled refresh

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

提示

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 會將電子郵件訊息傳送給語意模型擁有者,指出服務已暫停語意模型的重新整理排程。 如需這類通知的範例,請參閱下列螢幕快照。

Email for paused refresh

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

注意

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

檢查重新整理狀態和歷程記錄

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

Refresh status warning

警告圖示有助於指出目前的語意模型問題,但最好偶爾檢查重新整理歷程記錄。 如同名稱,重新整理歷程記錄可讓您檢閱過去同步處理週期的成功或失敗狀態。 例如,閘道管理員可能已更新一組過期的資料庫認證。 如您在下列螢幕快照中所見,重新整理歷程記錄會顯示受影響的重新整理何時再次開始運作。

Refresh history messages

注意

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

自動重新整理頁面

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

在自動頁面重新整理一文中 深入了解自動頁面重新 整理。

語意模型重新整理歷程記錄

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

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

下列螢幕快照顯示失敗的重新整理,其中包含每次Power BI自動嘗試順利完成重新整理的詳細數據。

Screenshot of refresh history details.

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

Screenshot of refresh history when successful.

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

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

  • 數據 – 將數據 載入語意模型
  • 查詢快取 – 進階版 查詢快取和/或儀錶板磚重新整理

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

Screenshot of refresh history with refresh operations separated.

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

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

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

重新整理取消

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

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

注意

不支援在 Datamart 中建立的語意模型。

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

A screenshot of the refreshing a semantic model.

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

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

    A screenshot of stopping a semantic model refresh.

  2. 在 [ 取消重新整理 ] 彈出視窗中,選取 [ ]。

    A screenshot of the cancel refresh pop-up window with the yes button highlighted.

最佳作法

定期檢查語意模型的重新整理歷程記錄是您可以採用的最重要最佳做法之一,以確保報表和儀錶板使用目前的數據。 如果您發現問題,請及時解決這些問題,並視需要追蹤數據源擁有者和網關管理員。

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

  • 排程重新整理較不忙碌的時間,特別是如果您的語意模型位於Power BI進階版上。 如果您將語意模型的重新整理週期分散到更廣泛的時間範圍,您可以協助避免可能過度使用資源的尖峰。 啟動重新整理周期的延遲是資源多載的指標。 如果 進階版 容量已用盡,Power BI 甚至可能會略過重新整理週期。
  • 請記住重新整理限制。 如果源數據經常變更或數據量很大,請考慮使用 DirectQuery/Live 連線 模式,而不是匯入模式,如果來源的負載增加且查詢效能的影響是可接受的。 避免不斷重新整理匯入模式語意模型。 不過,DirectQuery/Live 連線 模式有數個限制,例如傳回數據的一百萬個數據列限制,以及執行查詢的 225 秒回應時間限制,如在 Power BI Desktop 中使用 DirectQuery 中所述。 不過,這些限制可能會要求您使用匯入模式。 針對大型數據磁碟區,請考慮在 Power BI中使用匯總。
  • 確認您的語意模型重新整理時間未超過重新整理持續時間上限。 使用 Power BI Desktop 檢查重新整理持續時間。 如果需要 2 個多小時的時間,請考慮將語意模型移至 Power BI 進階版。 您的語意模型可能無法在共用容量上重新整理。 也請考慮針對大於 1 GB 或需要數小時才能重新整理的語意模型使用 累加 式重新整理。
  • 將您的語意模型優化,只包含報表和儀錶板所使用的數據表和數據行。 優化您的混搭查詢,並盡可能避免動態數據源定義和昂貴的 DAX 計算。 具體而言,請避免因為高記憶體耗用量和處理額外負荷而測試數據表中每一個數據列的 DAX 函式。
  • 套用與 Power BI Desktop 相同的隱私權設定,以確保 Power BI 可以產生有效率的來源查詢。 請記住,Power BI Desktop 不會發佈隱私權設定。 發佈語意模型之後,您必須手動重新套用數據源定義中的設定。
  • 限制儀錶板上的視覺效果數目,特別是當您使用 數據列層級安全性 (RLS) 時。 如本文稍早所述,過多的儀錶板磚可能會大幅增加重新整理持續時間。
  • 使用可靠的企業數據閘道部署,將您的語意模型連線到內部部署數據源。 如果您注意到閘道相關的重新整理失敗,例如閘道無法使用或多載,請追蹤閘道系統管理員,將其他閘道新增至現有的叢集,或部署新的叢集(相應增加與相應放大)。
  • 針對匯入語意模型和 DirectQuery/Live 使用個別的數據網關 連線 語意模型,讓排程重新整理期間的數據匯入不會影響報表和儀錶板在 DirectQuery/Live 之上的效能 連線 語意模型,該模型會與每個使用者互動查詢數據源。
  • 請確定 Power BI 可以將重新整理失敗通知傳送至您的信箱。 垃圾郵件篩選可能會封鎖電子郵件訊息,或將它們移至您可能不會立即注意到的個別資料夾。

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