判斷開發 DirectQuery 模型的時機

已完成

DirectQuery 模型包括將其儲存模式屬性設為 DirectQuery 的資料表,而且這些資料表屬於相同的來源群組。

來源群組是一組與資料來源相關的模型資料表。 有兩種類型:

  • 匯入 – 代表所有匯入儲存模式資料表,包括導出資料表。 模型中只能有一個匯入來源群組。
  • DirectQuery – 代表與特定資料來源相關的所有 DirectQuery 儲存模式資料表。

注意

匯入模型和 DirectQuery 模型只會組成單一來源群組。 當有多個來源群組時,模型架構稱為複合模型。 複合模型會在單元 5 (英文) 中說明。

DirectQuery 模型優點

開發 DirectQuery 模型有多項優點。

建立大型或快速變更資料來源的模型

當您的來源資料展現出數量和/或速度特性時,DirectQuery 模型是絕佳的架構選擇。 因為 DirectQuery 資料表不需要重新整理,所以非常適合大型資料存放區,例如資料倉儲。 就算有辦法將整個資料倉儲匯入模型,這麼做也是不切實際且沒有效率的。 當來源資料快速變更且使用者需要查看目前的資料時,DirectQuery 模型可以提供近乎即時的查詢結果。

當報表查詢 DirectQuery 模型時,Power BI 會將這些查詢傳遞至基礎資料來源。

Diagram shows a star schema DirectQuery model. When a Power B I report queries the model, Power B I passes those queries to the underlying data source, in this case an Azure S Q L Database.

強制執行來源 RLS

當來源資料庫強制執行資料列層級安全性 (RLS) 時,DirectQuery 也十分實用。 來源資料基底可以強制執行其規則,而不是在 Power BI 模型中複寫 RLS 規則。 此方法僅適用於部分關聯式資料庫,而且需設定資料集資料來源的單一登入。 如需詳細資訊,請參閱搭配 DirectQuery 的 Azure SQL Database (部分機器翻譯)。

資料主權限制

如果您組織的安全性原則限制資料不得離開其內部部署,便無法匯入資料。 DirectQuery 模型連線到內部部署資料來源,可能會派得上用場。 (您也可以考慮為內部部署報告安裝 Power BI 報表伺服器。)

建立專用資料集

一般而言,DirectQuery 模式支援關係資料庫來源。 這是因為 Power BI 必須將分析查詢轉譯為資料來源可辨識的原生查詢。

不過,有一個強大的例外狀況。 您可以連線到 Power BI 資料集 (或 Azure Analysis Services 模型),並將其轉換成 DirectQuery 本機模型。 本機模型是一個相對的字詞,描述模型與另一個模型的關聯性。 在這種情況下,原始資料集是遠端模型,而新的資料集則是本機模型。 這些模型鏈結在一起,而鏈結是用來描述相關模型的字詞。 您可以用這種方式鏈結多達三個模型。

這項鏈結模型的功能有助於個人化和/或擴充遠端模型的可能性。 您可以執行的最簡單動作是重新命名物件,例如資料表或資料行,或將量值新增至本機模型。 您也可以使用計算結果欄或導出資料表來擴充模型,或加入新的匯入或 DirectQuery 資料表。 不過,這些延伸模組會導致新的來源群組建立,這表示模型會變成複合模型。 單元 5 (英文) 將詳細說明本案例。

如需詳細資訊,請參閱使用適用於 Power BI 資料集和 Analysis Services 的 DirectQuery

DirectQuery 模型限制

有許多與 DirectQuery 模型相關的限制,您必須記住這些限制。 以下是主要限制:

  • 並非所有資料來源都受到支援。 一般而言,只有主要關係資料庫系統會受到支援。 Power BI 資料集和 Azure Analysis Services 模型也受到支援。

  • 所有的 Power Query (M) 轉換都是不可能的,因為這些查詢必須轉譯為來源系統可辨識的原生查詢。 因此,像是樞紐或取消樞紐轉換等便無法使用。

  • 分析查詢效能可能會變慢,特別是當來源系統未 (針對索引或具體化檢視) 進行最佳化,或分析工作負載的資源不足時。

  • 分析查詢可能會影響來源系統效能。 這可能會導致所有工作負載變慢,包括 OLTP 作業。

提升 DirectQuery 模型效能

當開發 DirectQuery 模型是合理的選擇時,您可以透過兩種方式來減少一些限制。

資料來源最佳化

您可以將來源資料庫最佳化,以確保預期的分析查詢工作負載效能良好。 具體而言,您可以建立索引和具體化檢視,並確保資料庫有足夠的資源可供所有工作負載使用。

提示

建議您一定要與資料庫擁有者共同作業。 重要的是,他們須了解 DirectQuery 模型會為其資料庫帶來的額外工作負載。

DirectQuery 使用者定義彙總資料表

您可以將使用者定義的彙總資料表新增至 DirectQuery 模型。 使用者定義的彙總資料表是隱藏的特殊模型資料表 (對使用者、計算和 RLS 隱藏)。 在其達成對大型事實資料表的精細分析查詢時,效果最佳。 當您將彙總資料表設為使用 DirectQuery 儲存模式時,它可以查詢資料來源中的具體化檢視。 您也可以將彙總資料表設為使用匯入儲存模式或啟用自動彙總,這些選項會在單元 4 中說明。

如需詳細資訊,請參閱 Power BI Desktop 中的 DirectQuery 模型指引