Power BI Desktop 中的外部工具

Power BI 擁有充滿活力的商業智慧專業人員和開發人員社群。 社群參與者會建立免費的工具,使用 Power BI 和 Analysis Services API 來擴充和整合 Power BI Desktop 的數據模型化和報告功能。

[ 外部工具] 功能區可讓您輕鬆存取本機安裝並 Power BI Desktop 註冊的外部工具。 從 [外部工具] 功能區啟動時,Power BI Desktop 會將其內部數據模型引擎實例的名稱和埠號碼,以及目前的模型名稱傳遞至工具。 然後此工具會自動連線,提供順暢的連線體驗。

Screenshot of the external tools ribbon in Power BI Desktop.

外部工具通常屬於下列其中一個類別:

語意模型化 - 開放原始碼工具,例如 DAX Studio、ALM 工具組、表格式編輯器和元數據 翻譯工具 擴充 Power BI Desktop 功能的特定數據模型化案例,例如數據分析表達式(DAX) 查詢和表達式優化、應用程式生命週期管理 (ALM)和元數據翻譯。

數據分析 - 用於在唯讀中連接到模型的工具,以查詢數據並執行其他分析工作。 例如,工具可能會啟動 Python、Excel 和 Power BI 報表產生器。 此工具會將用戶端應用程式連線到Power BI Desktop中的模型進行測試和分析,而不需要先將Power BI Desktop (pbix) 檔案發佈至 Power BI 服務。 用來記錄Power BI語意模型的工具也屬於此類別。

其他 - 某些外部工具完全無法連線到模型,而是擴充 Power BI Desktop,以提出實用的秘訣,並讓實用的內容更容易存取。 例如,PBI.tips 教學課程、來自 sqlbi.com 的 DAX 指南,以及 PowerBI.tips 產品商務 Ops 社群工具,可讓您更輕鬆地安裝大量的外部工具。 這些工具也可協助註冊 Power BI Desktop,包括 DAX Studio、ALM 工具組、表格式編輯器,以及許多其他工具。

自訂 - 將 *.pbitool.json 檔新增至 Power BI Desktop\External Tools 資料夾,以整合您自己的腳本和工具。

安裝外部工具之前,請記住下列注意事項:

  • Power BI Desktop 不支援外部工具 Power BI 報表伺服器。

  • 外部工具是由外部的第三方參與者所提供。 Microsoft 不提供外部工具的支持或檔。

那裡有許多外部工具。 以下是一些最受歡迎的 ,並屬於每個 Power BI Desktop 數據模型工具工具箱:

工具 描述
PowerBI.tips - Business Ops 輕鬆地使用部署工具,將外部工具擴充功能新增至 Power BI Desktop。 Business Ops 的目標是提供一個一站式商店來安裝所有最新版的外部工具。 若要深入瞭解,請移至 PowerBI.tips - Business Ops
Tabular Editor 模型建立者可以使用直覺式和輕量型編輯器,輕鬆地建置、維護和管理表格式模型。 階層式檢視會顯示表格式模型中依顯示資料夾組織的所有物件,支援多重選取屬性編輯和DAX語法醒目提示。 若要深入瞭解,請移至 tabulareditor.com
DAX Studio DAX 撰寫、診斷、效能微調和分析的功能豐富工具。 功能包括對象流覽、整合式追蹤、具有詳細統計數據的查詢執行明細、DAX 語法醒目提示和格式設定。 若要取得最新消息,請移至 GitHub 上的 DAX Studio
ALM Toolkit Power BI 模型和語意模型的架構比較工具,用於應用程式生命週期管理 (ALM) 案例。 您可以跨環境執行直接部署,並保留累加式重新整理歷程記錄數據。 您可以差異和合併元數據檔案、分支和存放庫。 您也可以在語意模型之間重複使用通用定義。 若要取得最新消息,請移至 alm-toolkit.com
元數據 翻譯工具 簡化Power BI模型和語意模型的當地語系化。 此工具可以自動翻譯 標題、描述,以及顯示數據表、數據行、量值和階層的資料夾名稱。 此工具會使用 Azure 認知服務的機器翻譯技術進行翻譯。 您也可以透過逗號分隔值 (.csv) 檔案匯出和匯入翻譯,以方便在 Excel 或當地語系化工具中大量編輯。 若要取得最新消息,請移至 GitHub 上的元數據 翻譯工具

外部工具整合架構

Power BI Desktop (pbix) 檔案包含多個元件,包括報表畫布、視覺效果、模型元數據,以及從數據源載入的任何數據。 當 Power BI Desktop 開啟 pbix 檔案時,它會在背景啟動 Analysis Services 程式以載入模型,讓數據模型化功能和報表視覺效果可以存取模型元數據和查詢模型數據。

當 Power BI Desktop 啟動 Analysis Services 作為其分析數據引擎時,它會動態指派隨機埠號碼。 它也會以全域唯一標識碼 (GUID) 的形式,以隨機產生的名稱載入模型。 由於這些連接參數會隨著每個 Power BI Desktop 會話而變更,因此外部工具很難自行探索正確的 Analysis Services 實例和模型來連線。 外部工具整合可藉由允許Power BI Desktop 在從外部工具功能區啟動外部工具時,將 Analysis Services 伺服器名稱、埠號碼和模型名稱傳送至工具作為命令行參數,藉以解決此問題,如下圖所示。

Diagram of the external tool architecture.

使用 Analysis Services 伺服器名稱、埠號碼和模型名稱,此工具會使用 Analysis Services 用戶端連結庫來建立與模型的連接、擷取元數據,以及執行 DAX 或 MDX 查詢。 每當外部數據模型化工具更新元數據時,Power BI Desktop 會同步處理變更,讓 Power BI Desktop 使用者介面能正確反映模型的目前狀態。 請記住,同步處理功能有一些限制,如稍後所述。

數據模型化作業

連接到 Power BI Desktop Analysis Services 實例的外部工具可以變更數據模型(寫入作業)。 Power BI Desktop 接著會與報表畫布同步處理這些變更,使其顯示在報表視覺效果中。 例如,外部數據模型化工具可以覆寫量值的原始格式字串表達式,並編輯任何量值屬性,包括 KPI 和詳細數據列。 外部工具也可以為對象和數據列層級安全性建立新的角色,並新增翻譯。

支援的寫入作業

支援寫入作業的物件:

Object 連線 至 AS 實例
資料表 No
資料行 1
計算資料表 Yes
計算結果欄 Yes
關聯性 Yes
量值 Yes
模型 KPI Yes
計算群組 Yes
Perspectives Yes
翻譯 Yes
資料欄層級安全性 (RLS) Yes
物件層級安全性 (OLS) Yes
註釋 Yes
M 運算式 No

1 - 使用外部工具連線到 AS 實例時,不支援變更數據行的數據類型,不過不支援重新命名數據行。

Power BI Desktop 專案檔 提供更廣泛的支援寫入作業範圍。 編輯 Power BI Desktop 專案檔可支援使用外部工具來連線至 Power BI Desktop Analysis Services 實例而不支援寫入作業的對象和作業。 若要深入瞭解,請參閱 Power BI Desktop 專案 - 模型撰寫

數據模型限制

所有表格式物件模型 (TOM) 元數據都可以存取唯讀。 寫入作業有限,因為Power BI Desktop 必須與外部修改保持同步,因此不支援下列作業:

  • 支援寫入作業中未涵蓋的任何 TOM 物件類型,例如數據表和數據行。
  • 編輯 Power BI Desktop 樣本 (PBIT) 檔案。
  • 報表層級或數據層級翻譯。
  • 尚不支援重新命名數據表和數據行
  • 將處理命令傳送至 Power BI Desktop 中載入的語意模型

註冊外部工具

當工具在資料夾中包含 *.pbitool.json 註冊檔案C:\Program Files (x86)\Common Files\Microsoft Shared\Power BI Desktop\External Tools時,外部工具會向Power BI Desktop 註冊。 註冊工具並包含圖示時,工具會出現在 [外部工具] 功能區中。 某些工具,例如 ALM 工具組和 DAX Studio,會在您安裝此工具時自動建立註冊檔案。 不過,許多工具,例如 SQL Profiler 通常不是因為它們的安裝程式不包含建立 Power BI Desktop 的註冊檔案。 您可以藉由建立 *.pbitool.json 註冊檔案,手動註冊未自動向 Power BI Desktop 註冊的工具。

若要深入瞭解,包括 json 範例,請參閱 註冊外部工具

停用外部工具功能區

外部工具功能區預設為啟用,但可以使用組策略或直接編輯 EnableExternalTools 登錄機碼來停用。

  • 登入機碼: Software\Policies\Microsoft\Power BI Desktop\
  • 登入值: EnableExternalTools

值為 1 (decimal) 會啟用 External Tools 功能區,這也是預設值。

值為 0 (decimal) 會停用 [外部工具] 功能區。