Forum Discussion
Project Online - Business Drivers matrix table in Power BI
Try this and see if you can extract the PrioritizationId from the Analysis record. I don't have this functionality enable in my PWA so you may have to fiddle with it a bit to make it work.
Steps to Create and Use the fxGetPrioritizationIdByAnalysisId Function
- Create the Function Query
- In Power Query, create a new blank query.
- Name it fxGetPrioritizationIdByAnalysisId.
- Add the Function Code
- Copy and paste the provided code into the fxGetPrioritizationIdByAnalysisId query.
- Apply the Function in Your Data
- Go to the PortfolioAnalysisProjects query.
- Click Add Column > Invoke Custom Function.
- Configure the Function Invocation
- Set the new column name to: PrioritizationID.
- Choose the function query: fxGetPrioritizationIdByAnalysisId.
- For the parameter, select the AnalysisId column.
- Finish
- Click OK to apply the function and generate the new column
let
GetSelectedFieldsFromAnalysis = (analysisId as text) =>
let
url = "https://<your PWA URL>/_api/ProjectData/PortfolioAnalysisProjects('" & analysisId & "')/Analysis",
result = OData.Feed(url, null, [Implementation = "2.0"]),
record = result{0},
selectedFields = Record.SelectFields(record, {"PrioritizationID", "AnalysisName", "CreatedDate"}) // Add more fields as needed
in
selectedFields
in
GetSelectedFieldsFromAnalysis
The function worked like this, taking into account there is only one analysis done, so all projects have the same AnalysisId:
let
GetSelectedFieldsForEachProject = (ProjectId as text) =>
let
url = "https://mycompany.sharepoint.com/sites/pwa/_api/ProjectData/PortfolioAnalysisProjects(AnalysisId=guid'4734f66d-b33f-f011-b02b-00155d7c9042',ProjectId=guid'" & ProjectId & "')/Analysis",
result = OData.Feed(url, null, [Implementation = "2.0"]),
selectedFields = Record.SelectFields(result, {"PrioritizationId", "AnalysisName", "CreatedDate"})
in
selectedFields
in
GetSelectedFieldsForEachProject
The following are the five tables with all private company data removed:
BusinessDriversNulled
PortfolioAnalysisProjectsNulled
I am not able to find the relationship between each Project, the Impact Level and the Business Driver to create that matrix table. I believe there is no connection.
- RodFrommJun 06, 2025Steel Contributor
Based on your spreadsheets the relationships appear to be present, but they don't let you access the table/fields that contains the Business Driver values: Extreme, Low, Strong, etc. Wish I could offer additional suggestions, but we do not have this feature enabled.
- WoodyJun 06, 2025Copper Contributor
Appreciate you taking a shot at it 👏