From be5d646623b83ab5bcfa900ba2530d0d84d4c83c Mon Sep 17 00:00:00 2001 From: tgibson <1546593+GibsonSoft@users.noreply.github.com> Date: Tue, 14 Jan 2025 16:21:54 -0500 Subject: [PATCH 1/2] Update ExecuteQuery function to get all fields from returned JSON --- Power BI API/PowerBIRESTAPI/PBIAPI.pq | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Power BI API/PowerBIRESTAPI/PBIAPI.pq b/Power BI API/PowerBIRESTAPI/PBIAPI.pq index 2e1a4e3..04894c6 100644 --- a/Power BI API/PowerBIRESTAPI/PBIAPI.pq +++ b/Power BI API/PowerBIRESTAPI/PBIAPI.pq @@ -417,17 +417,17 @@ ExecuteQuery = output = let initSource = apiCall[results]?{0}?[tables]?{0}?[rows]?, - namesOfColumns = List.Buffer(Record.FieldNames(initSource{0})), + + namesOfColumns = List.Distinct(Record.FieldNames(Record.Combine(initSource))), correctedColumnsNames = List.Transform( namesOfColumns, - each Text.BetweenDelimiters(_, "[", "]") + each {_, Text.BetweenDelimiters(_, "[", "]")} ), - tableCreator = Table.FromList( - initSource, - Record.FieldValues, - correctedColumnsNames - ) + + padMissingColumns = List.Transform(initSource, each Record.SelectFields(_, namesOfColumns, MissingField.UseNull)), + renameColumns = List.Transform(padMissingColumns, each Record.RenameFields(_, correctedColumnsNames)), + tableCreator = Table.FromRecords(renameColumns) in tableCreator in From 3acbe4f3937e490e22aea0e5da9c92b29ce0ba7f Mon Sep 17 00:00:00 2001 From: tgibson <1546593+GibsonSoft@users.noreply.github.com> Date: Tue, 14 Jan 2025 16:25:37 -0500 Subject: [PATCH 2/2] Add List.Buffer back in --- Power BI API/PowerBIRESTAPI/PBIAPI.pq | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Power BI API/PowerBIRESTAPI/PBIAPI.pq b/Power BI API/PowerBIRESTAPI/PBIAPI.pq index 04894c6..0cc451a 100644 --- a/Power BI API/PowerBIRESTAPI/PBIAPI.pq +++ b/Power BI API/PowerBIRESTAPI/PBIAPI.pq @@ -418,7 +418,7 @@ ExecuteQuery = let initSource = apiCall[results]?{0}?[tables]?{0}?[rows]?, - namesOfColumns = List.Distinct(Record.FieldNames(Record.Combine(initSource))), + namesOfColumns = List.Buffer(List.Distinct(Record.FieldNames(Record.Combine(initSource)))), correctedColumnsNames = List.Transform( namesOfColumns,