Hi,
Here is the command i am using in power Bi Query editor:
let
Source = OData.Feed("https://aaaaaaaaaaaaaaaaaa/_api/ProjectData", null, [Implementation="2.0"]),
Tasks_table = Source{[Name="Tasks",Signature="table"]}[Data],
#"Removed Columns" = Table.RemoveColumns(Tasks_table,{"ParentTaskId", "ParentTaskName", "TaskActualDuration", "TaskActualFinishDate", "TaskActualFixedCost", "TaskActualOvertimeCost", "TaskActualOvertimeWork", "TaskActualRegularCost", "TaskActualRegularWork", "TaskActualStartDate", "TaskActualWork", "TaskACWP", "TaskBCWP", "TaskBCWS", "TaskBudgetCost", "TaskBudgetWork", "TaskClientUniqueId", "TaskCostVariance", "TaskCPI", "TaskCreatedDate", "TaskCreatedRevisionCounter", "TaskCV", "TaskCVP", "TaskDeadline", "TaskDeliverableFinishDate", "TaskDeliverableStartDate", "TaskDurationIsEstimated", "TaskDurationString", "TaskDurationVariance", "TaskEAC", "TaskEarlyFinish", "TaskEarlyStart", "TaskFinishDateString", "TaskFinishVariance", "TaskFixedCost", "TaskFixedCostAssignmentId", "TaskFreeSlack", "TaskHyperLinkAddress", "TaskHyperLinkFriendlyName", "TaskHyperLinkSubAddress", "TaskIgnoresResourceCalendar", "TaskIndex", "TaskIsActive", "TaskIsCritical", "TaskIsEffortDriven", "TaskIsExternal", "TaskIsManuallyScheduled", "TaskIsMarked", "TaskIsMilestone", "TaskIsOverallocated", "TaskLateFinish", "TaskLateStart", "TaskLevelingDelay", "TaskModifiedDate", "TaskModifiedRevisionCounter", "TaskOutlineLevel", "TaskOutlineNumber", "TaskOvertimeCost", "TaskOvertimeWork", "TaskPercentWorkCompleted", "TaskPhysicalPercentCompleted", "TaskPriority", "TaskRegularCost", "TaskRegularWork", "TaskRemainingCost", "TaskRemainingDuration", "TaskRemainingOvertimeCost", "TaskRemainingOvertimeWork", "TaskRemainingRegularCost", "TaskRemainingRegularWork", "TaskRemainingWork", "TaskResourcePlanWork", "TaskSPI", "TaskStartDateString", "TaskStartVariance", "TaskStatusManagerUID", "TaskSV", "TaskSVP", "TaskTCPI", "TaskTotalSlack", "TaskVAC", "TaskWBS", "TaskWork", "TaskWorkVariance", "FlagStatus", "Health"}),
#"Merged Queries" = Table.NestedJoin(#"Removed Columns", {"TaskId"}, TaskBaselines, {"TaskId"}, "TaskBaselines", JoinKind.LeftOuter),
#"Expanded TaskBaselines" = Table.ExpandTableColumn(#"Merged Queries", "TaskBaselines", {"BaselineNumber", "TasksCost", "TasksDuration", "TaskSFinishDate", "TasksStartDate"}, {"TaskBaselines.BaselineNumber", "TaskBaselines.TasksCost", "TaskBaselines.TasksDuration", "TaskBaselines.TaskSFinishDate", "TaskBaselines.TasksStartDate"}),
#"Grouped Rows" = Table.Group(#"Expanded TaskBaselines", {"ProjectName"}, {{"ProjectBaseline", each List.Max([TaskBaselines.BaselineNumber]), type number}, {"TaskID", each _, type table [ProjectId=text, TaskId=text, ProjectName=text, TaskActualCost=number, TaskCost=number, TaskDuration=number, TaskFinishDate=datetime, TaskIsProjectSummary=logical, TaskIsRecurring=logical, TaskIsSummary=logical, TaskName=text, TaskPercentCompleted=number, TaskStartDate=datetime, GLCodeTask=text, ContractorSecondary=text, Assignments=table, AssignmentsBaselines=table, AssignmentsBaselineTimephasedData=table, Baselines=table, BaselinesTimephasedDataSet=table, Issues=table, Project=record, Risks=table, TimephasedInfo=table, TaskBaselines.BaselineNumber=number, TaskBaselines.TasksCost=number, TaskBaselines.TasksDuration=number, TaskBaselines.TaskSFinishDate=datetime, TaskBaselines.TasksStartDate=datetime]}}),
#"Expanded TaskID" = Table.ExpandTableColumn(#"Grouped Rows", "TaskID", {"ProjectId", "TaskId", "TaskActualCost", "TaskCost", "TaskDuration", "TaskFinishDate", "TaskIsProjectSummary", "TaskIsRecurring", "TaskIsSummary", "TaskName", "TaskPercentCompleted", "TaskStartDate", "GLCodeTask", "ContractorSecondary", "Assignments", "AssignmentsBaselines", "AssignmentsBaselineTimephasedData", "Baselines", "BaselinesTimephasedDataSet", "Issues", "Project", "Risks", "TimephasedInfo", "TaskBaselines.BaselineNumber", "TaskBaselines.TasksCost", "TaskBaselines.TasksDuration", "TaskBaselines.TaskSFinishDate", "TaskBaselines.TasksStartDate"}, {"ProjectId", "TaskId.1", "TaskActualCost", "TaskCost", "TaskDuration", "TaskFinishDate", "TaskIsProjectSummary", "TaskIsRecurring", "TaskIsSummary", "TaskName", "TaskPercentCompleted", "TaskStartDate", "GLCodeTask", "ContractorSecondary", "Assignments", "AssignmentsBaselines", "AssignmentsBaselineTimephasedData", "Baselines", "BaselinesTimephasedDataSet", "Issues", "Project", "Risks", "TimephasedInfo", "TaskBaselines.BaselineNumber", "TaskBaselines.TasksCost", "TaskBaselines.TasksDuration", "TaskBaselines.TaskSFinishDate", "TaskBaselines.TasksStartDate"}),
#"Replaced Value" = Table.ReplaceValue(#"Expanded TaskID",null,11,Replacer.ReplaceValue,{"TaskBaselines.BaselineNumber"}),
#"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","contingency","Contingency",Replacer.ReplaceText,{"TaskName"}),
#"Filtered Rows" = Table.SelectRows(#"Replaced Value1", each ([TaskIsSummary] = false)),
#"Merged Queries1" = Table.NestedJoin(#"Filtered Rows", {"ProjectId"}, Projects, {"ProjectId"}, "Projects", JoinKind.LeftOuter),
#"Expanded Projects" = Table.ExpandTableColumn(#"Merged Queries1", "Projects", {"GLCode"}, {"Projects.GLCode"})
in
#"Expanded Projects"
What is quite annoying is that i can refresh it once, but the second time I have an error message:
"Query 'KeyTasks' (step 'Expanded Projects') references other queries or steps, so it may not directly access a data source. Please rebuild this data combination."
From there, if i refresh the data directly in the query editor, it works and i can refresh the data as many times as i need. But this is obviously not a 'long term solution". Any idea why i have this error message please ?
Thanks
JL