Power BI Desktop 專案 (預覽)

重要

Power BI Desktop 專案目前為預覽狀態

Power BI Desktop 引進了撰寫、共同作業及儲存專案的新方式。 當您將工作儲存為Power BI專案 (PBIP),報表和語意模型專案定義會儲存為簡單直覺式資料夾結構中的個別純文本檔案。

將您的工作儲存為專案有下列優點:

  • 文字編輯器支援 - 專案定義檔案是 JSON 格式的文字檔,其中包含語意模型和報表元數據。 它們被公開記載,人類可讀。 雖然專案檔支持簡單的文字編輯工具,例如 記事本,但最好使用Visual Studio Code (VS Code) 之類的程式碼編輯器,以提供豐富的編輯體驗,包括Intellisense、驗證和 Git 整合。

  • 程式設計產生和編輯項目定義 - 您可以使用常用且容易使用的 表格式模型腳本語言 (TMSL) 來建立腳本,或建立您自己的自定義應用程式來變更您的項目定義。 應用程式可以根據專案定義架構和/或客戶端連結庫的公用檔。

  • 原始檔控制 - Power BI 語意模型和報表專案定義可以儲存在原始檔控制系統中,例如 Git。 透過 Git,您可以追蹤版本歷程記錄、比較修訂 (diff),並還原為舊版。 使用熟悉的共同作業機制來解決衝突(合併)和檢閱變更(提取要求),原始檔控制也可以在使用 Power BI Desktop 時解除封鎖共同作業。 若要深入瞭解,請參閱 Git 中的版本控制。

  • 持續整合與持續傳遞 (CI/CD) - 您可以使用組織中開發人員提交 CI/CD 系統建議變更的系統。 接著,系統會先使用一系列 品質網關 來驗證變更,再將變更套用至生產系統。 這些品質閘道可以包含其他開發人員的程式代碼檢閱、自動化測試和自動化建置,以驗證變更的完整性。 CI/CD 系統通常建置在現有的原始檔控制系統之上。 若要深入瞭解,請參閱 DevOps - 持續整合DevOps - 持續傳遞

影片

請參閱 Microsoft Build 2023 引進的 Power BI Desktop 專案和其他開發人員模式功能。

啟用預覽功能

在 Power BI Desktop 中儲存為專案目前為預覽狀態。 若要使用這項功能,您需要 Premuim 授權,而且必須在預覽功能加以啟用。

若要啟用,請在Power BI Desktop >檔案>選項和設定>[選項>預覽功能] 中,選取 Power BI 專案 (.pbip) 儲存選項複選框。

另存成專案

如果您正在處理新專案,或已開啟現有的 Power BI Desktop 檔案 (pbix),您可以將工作儲存為 Power BI 專案 檔 (pbip):

螢幕擷取顯示另存盤案為Power BI專案

當您儲存為專案時,Power BI Desktop 會將報表和語意模型專案儲存為資料夾,每個專案都包含定義專案的文本檔。 這時會顯示下列項目:

顯示 Power BI 專案檔案的螢幕擷取

儲存為項目之後,您可以查看標題列來查看專案時:

螢幕擷取顯示儲存至專案時的Power BI Desktop 標題。

如果您按下標題列,即會顯示Power BI專案特定的飛出視窗。 這可讓您找出項目檔,以及報表和語意模型的顯示名稱設定。 您也可以按兩下路徑,在檔案總管開啟資料夾。

顯示 Power BI Desktop 標題飛出視窗的螢幕快照。

讓我們進一步瞭解您在專案根資料夾中看到的內容:

<專案名稱>。SemanticModel

代表Power BI語意模型的檔案和資料夾集合。 它包含一些您可能處理的最重要檔案,例如model.bim。 若要深入瞭解這裡的檔案和子資料夾和檔案,請參閱 專案語意模型資料夾

<專案名稱>。報告

代表Power BI報表的檔案和資料夾集合。 若要深入瞭解這裡的檔案和子資料夾和檔案,請參閱 Project 報表資料夾

.gitIgnore

指定 Git 應該忽略刻意未追蹤的檔案。 Power BI Desktop 會在儲存時,於根資料夾中建立 .gitignore 檔案,如果檔案不存在的話。

語意模型和報表子資料夾各有預設 git 忽略 .gitIgnore 中指定的檔案:

├── project
│   ├── *.SemanticModel
│   │   ├── .pbi
│   │   │   ├── localSettings.json
│   │   │   └── cache.abf
│   ├── *.Report
│   │   ├── .pbi
│   │   │   └── localSettings.json

<項目名稱>.pbip

PBIP 檔案包含報表資料夾的指標,開啟 PBIP 會開啟目標報表和撰寫模型。

如需詳細資訊,請參閱 pbip 架構檔

開啟 Power BI 專案

您可以從 Power BI 專案資料夾開啟 Power BI Desktop,方法是開啟報表資料夾中的 pbip 檔案或 pbir 檔案。 如果語意模型有相對參考,這兩個選項都會開啟報表以進行編輯,以及語意模型。

您可以將多個報表和語意模型儲存至相同的資料夾。 不需要針對每個報表使用不同的 pbip 檔案,因為您可以直接從報表資料夾中的 .pbir 開啟每個報表。

├── project
│   ├── AdventureWorks-Sales.Report
│   │   └── definition.pbir
│   ├── AdventureWorks-Stocks.Report
│   │   └── definition.pbir
│   ├── AdventureWorks.SemanticModel
|   |   └── *.*
│   .gitignore
└──  AdventureWorks.pbip

Power BI Desktop 外部的變更

儲存為專案時,您不會被迫只在Power BI Desktop中變更語意模型和報表定義。 您可以使用其他工具,例如 VS Code、開放原始碼社群工具,例如表格式編輯器,甚至 記事本。 不過,並非所有檔案或變更都支援由外部開放原始碼工具編輯。

變更 Power BI Desktop 外部的檔案或屬性可能會導致非預期的錯誤,甚至防止 Power BI Desktop 開啟。 在這些情況下,您必須先解決檔案中的問題,才能在Power BI Desktop 中再次嘗試開啟專案。

可能的話,Power BI Desktop 會指出錯誤的檔案和位置:

無法開啟檔案錯誤的螢幕擷取。

不會記載下列檔案的架構詳細數據。 在預覽期間,不支援在Power BI Desktop外部變更這些檔案:

模型製作

您可以使用外部工具,以兩種方式變更語意模型定義:

並非所有模型物件都支援寫入作業。 在支持的變更之外套用變更可能會導致非預期的結果。

支援寫入作業的物件:

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

請謹記:

  • 在 Power BI Desktop 外部開啟檔案的任何變更都需要重新啟動,才能在 Power BI Desktop 中顯示這些變更。 Power BI Desktop 不知道其他工具對項目檔所做的變更。

  • Power BI Desktop 不支援具有多個分割區的數據表。 僅支援每個數據表的單一分割區。 使用空白數據分割或多個數據分割建立數據表,會導致開啟報表時發生錯誤。

  • Power BI Desktop 所建立的自動日期數據表不應使用外部工具進行變更。

  • 變更使用直接查詢連接 Power BI 語意模型或 Analysis Services 模型的模型時,您必須更新 ChangedProperties 和 PBI_RemovedChildren 集合,讓變更的物件包含任何已修改或移除的屬性。 如果未更新 ChangedProperties 和/或PBI_RemovedChildren,Power BI Desktop 可能會在下次編輯查詢或 Power BI Desktop 中重新整理模型時覆寫任何變更。

  • 1 - 支援變更數據行的數據類型。 不過,連線到 AS 實例時不支援重新命名數據行。

  • 2 - 如果語意模型 已啟用自動日期/時間 功能,而且您在Power BI Desktop外部建立新的 datetime 資料行,則不會自動產生本機日期數據表。

  • 3 - 數據分割 SourceType 必須計算、M、實體或 CalculationGroup。 數據分割 模式 必須是匯入、DirectQuery 或雙重。

  • 4 - 套用這些變更時,在具有 unappliedChanges.json 的專案中,Power BI Desktop 外部的任何表達式編輯都遺失。

  • 在 Power BI Desktop 外部修改資料表查詢表達式會導致重新啟動 Power BI Desktop 時移除資料表數據。

JSON 檔案架構

大部分的項目檔都包含 JSON 格式的元數據。 對應的 JSON 架構可用於驗證和檔。

使用 JSON 架構,您可以:

  • 了解可設定的屬性。
  • 使用程式代碼編輯器所提供的內嵌 JSON 驗證。
  • 使用語法醒目提示、工具提示和自動完成來改善撰寫。
  • 使用外部工具,瞭解專案元數據內支援的屬性。

使用 VS Code 將 JSON 架構對應至正在撰寫的檔案。 Power BI Desktop 範例 Git 存放庫中會提供項目檔的 JSON 架構。

考量與限制

  • 此功能需要 進階版 授權。
  • Power BI Desktop 不知道其他工具或應用程式所做的變更。 使用外部工具所做的變更,您必須在顯示這些變更之前重新啟動 Power BI Desktop。
  • Power BI 項目不支援敏感度標籤。
  • 編輯服務中的模型時,會忽略圖表檢視。
  • 儲存為 Power BI 專案時,專案檔路徑的最大長度為 260 個字元。
  • 在 Power BI Desktop 中,您無法將 PBIP 直接儲存至 OneDrive 和 SharePoint。
  • 在 Power BI Desktop 外部編輯 PBIP 檔案時,應該使用 UTF-8 儲存它們,而不需 BOM 編碼。
  • Power BI 項目不支援報表語言架構。
  • Power BI Desktop 使用 CRLF 做為行尾。 若要避免差異的問題,請設定 Git 以透過啟用 autocrlf 來處理行尾端。
  • Microsoft Power BI Desktop 目前不支援 Power BI 專案(已針對 Power BI 報表伺服器 優化)。

常見問題集

問題: 查看語意模型和報表專案資料夾定義時,只有少數檔案標示為必要,如果我刪除它們,會發生什麼事?

答: 當您儲存為專案時,Power BI Desktop 會自動建立它們。

問題: Power BI Desktop 是否知道我從外部工具或應用程式對 Power BI 專案檔所做的變更?

回答:否。 對檔案所做的任何變更都需要重新啟動Power BI Desktop 以反映這些變更。

問題: 如果我將 PBIX 轉換為 PBIP,我可以將其轉換回 PBIX 嗎?

回答:是。 您可以將 PBIX 儲存為 PBIP,或將 PBIP 儲存為 PBIX。

問題: 我可以以程序設計方式將 PBIX 轉換成 PBIP 嗎?

回答:否。 您只能使用 Power BI Desktop 的 [另存新>] 將 PBIX 轉換成 PBIP,反之亦然。

問題: 我可以將 Power BI Desktop 專案部署到 Azure Analysis Services (AAS) 或 SQL Server Analysis Services (SSAS)嗎?

回答:否。 AAS 和 SSAS 不支援 Power BI Desktop 專案報表定義。 而模型定義則使用Power BI唯一的增強元數據。 針對 AAS 和 SSAS 專案,請使用 Microsoft Visual Studio 進行模型撰寫、Git 和 Azure DevOps 整合。