Power BI Desktop 專案 (預覽)
重要
Power BI Desktop 專案目前為預覽版。
提示
如需如何規劃 Power BI 開發的指導,請參閱 Power BI 實作規劃。
Power BI Desktop 引進了撰寫、共同作業及儲存專案的新方式。 當您將工作儲存為 Power BI 專案 (PBIP) 時,報表和語意模型項目定義會儲存為簡單直覺式資料夾結構中的個別純文字檔案。
將您的工作儲存為專案有下列優點:
文字編輯器支援 - 項目定義檔案是 JSON 格式的文字檔,其中包含語意模型和報表中繼資料。 這些檔案會公開記載且人類可讀取。 雖然專案檔支援記事本之類的簡單文字編輯工具,但最好使用像是 Visual Studio Code (VS Code) 的程式碼編輯器,以提供豐富的編輯體驗,包括 Intellisense、驗證和 Git 整合。
程式設計產生和編輯項目定義 - 您可以使用熱門且容易使用的表格式模型指令碼語言 (TMSL) 來建立指令碼,或建立您自己的自訂應用程式來變更您的項目定義。 應用程式可以根據項目定義結構描述和/或用戶端程式庫的公用文件。
原始檔控制 - Power BI 語意模型和報表項目定義可以儲存在原始檔控制系統中,例如 Git。 透過 Git,您可以追蹤版本歷程記錄、比較修訂 (差異),以及還原為舊版。 使用熟悉的共同作業機制來解決衝突 (合併) 和檢閱變更 (提取要求),原始檔控制也可以在使用 Power BI Desktop 時解鎖共同作業。 若要深入了解,請參閱 Git 中的版本控制。
持續整合與持續傳遞 (CI/CD) - 您可以使用系統,組織中的開發人員可在其中提交對 CI/CD 系統的提議變更。 接著,系統會先使用一系列品質閘門來驗證變更,再將變更套用至生產系統。 這些品質閘門可以包含其他開發人員的程式碼檢閱、自動化測試和自動化建置,以驗證變更的完整性。 CI/CD 系統通常建置在現有的原始檔控制系統之上。 若要深入了解,請參閱 DevOps - 持續整合和 DevOps - 持續傳遞。
啟用預覽功能
在 Power BI Desktop 中儲存為 Power BI 專案目前處於預覽狀態,您必須在 [預覽功能] 中加以啟用。
移至 [檔案] > [選項及設定] > [選項] > [預覽功能],然後核取 [Power BI 專案 (.pbip) 儲存選項] 旁的方塊。
儲存為專案
如果您正在處理新專案,或已開啟現有的 Power BI Desktop 檔案 (pbix),您可以將工作儲存為 Power BI 專案檔案 (pbip):
當您儲存為專案時,Power BI Desktop 會將報表和語意模型項目儲存為資料夾,每個項目都包含定義項目的文字檔:
儲存為專案之後,您可以藉由查看標題列來查看何時在專案上工作:
如果您選取標題列,即會顯示 Power BI 專案特定飛出視窗。 此飛出視窗可讓您找出專案檔,以及報表和語意模型的顯示名稱設定。 您也可以按一下路徑,在檔案總管中開啟資料夾。
讓我們進一步查看您在專案根資料夾中看到的內容:
<專案名稱>.SemanticModel
代表 Power BI 語意模型的檔案和資料夾集合。 若要深入了解這裡的檔案和子資料夾和檔案,請參閱專案語意模型資料夾。
<專案名稱>.Report
代表 Power BI 報表的檔案和資料夾集合。 若要深入了解這裡的檔案和子資料夾和檔案,請參閱專案報表資料夾。
.gitIgnore
指定 Git 應該忽略的 Power BI 專案檔的刻意未追蹤檔案,例如 cache.abf 和 localSettings.json。
只有在所選擇儲存資料夾或父 Git 存放庫中還沒有檔案時,Power BI Desktop 才會建立 .gitignore 檔案。
儲存為 PBIP 時 .gitignore 的預設內容:
**/.pbi/localSettings.json
**/.pbi/cache.abf
<專案名稱>.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 外部對這些檔案進行變更:
- Report\
- SemanticModel\
模型製作
您可以使用外部工具,以兩種方式變更語意模型定義:
- 使用外部工具連線到 Power BI Desktop 的 Analysis Service (AS) 執行個體。
- 藉由使用 VS Code 或其他外部工具,在 model.bim 檔案中編輯 JSON 中繼資料。
並非所有模型物件都支援寫入作業。 在支援項目之外套用變更可能會導致非預期的結果。
支援寫入作業的物件:
Object | 連線到 AS 執行個體 | 檔案變更 |
---|---|---|
資料表 | No | Yes |
資料行 | 是 1,2 | 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 | 是 3,4 |
請謹記:
對在 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 必須是 Calculated、M、Entity 或 CalculationGroup。 分割區 Mode 必須是 Import、DirectQuery 或 Dual。
4 - 套用這些變更時,在 Power BI Desktop 專案外部使用 unappliedChanges.json 所進行的任何運算式編輯都會遺失。
在 Power BI Desktop 外部修改資料表查詢運算式會導致重新啟動 Power BI Desktop 時移除資料表資料。
JSON 檔案結構描述
大部分專案檔都包含 JSON 格式的中繼資料。 對應的 JSON 結構描述可用於驗證和文件。
使用 JSON 結構描述,您可以:
- 了解可設定屬性。
- 使用程式碼編輯器所提供的內嵌 JSON 驗證。
- 使用語法醒目提示、工具提示和自動完成來改善撰寫。
- 在具備專案中繼資料內支援屬性知識的情況下,使用外部工具。
使用 VS Code 將 JSON 結構描述對應至正在撰寫的檔案。 專案檔的 JSON 結構描述會在 Power BI Desktop 範例 Git 存放庫中提供。
考量與限制
- 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 來處理行結尾。
- 目前在針對 Power BI 報表伺服器最佳化的 Microsoft Power BI Desktop 版本中不支援 Power BI 專案。
- Live connect 報告儲存為 PBIP 時,需要啟用 XMLA 端點。
常見問題集
問題:查看語意模型和報表項目資料夾定義時,只有少數檔案標示為必要,如果我將這些檔案刪除會發生什麼事?
答案:Power BI Desktop 會在您另存為專案 (PBIP) 時自動建立它們。
問題: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 整合。
問題:為什麼當我將 Fabric 工作區連線到 Git 時沒有 *.pbip 檔案? 如何在 Power BI Desktop 中編輯報表和語意模型?
答案:PBIP 檔案是選擇性的,而且只是作為報表資料夾的捷徑。 您可以開啟位於報表資料夾中的 definition.pbir 檔案,開啟報表和語意模型,以在 Power BI Desktop 中編輯。