Hi Tom,
Try this code in Power BI.
Add 3 entities to Power BI
cdm_worker, cdm_jobposition, and cdm_positionworkerassignmentmaps
Create a merge query and use the below code.
I put a filter on one record. You can remove the range
let
Source = Table.NestedJoin(cdm_worker, {"cdm_workerid"}, cdm_positionworkerassignmentmap, {"cdm_workerid"}, "cdm_positionworkerassignmentmap", JoinKind.LeftOuter),
#"Expanded cdm_positionworkerassignmentmap" = Table.ExpandTableColumn(Source, "cdm_positionworkerassignmentmap", {"cdm_jobpositionid", "cdm_positionworkerassignmentmapid", "cdm_workerid"}, {"PWA.cdm_jobpositionid", "PWA.cdm_positionworkerassignmentmapid", "PWA.cdm_workerid"}),
#"Merged Queries" = Table.NestedJoin(#"Expanded cdm_positionworkerassignmentmap", {"PWA.cdm_jobpositionid"}, cdm_jobposition, {"cdm_jobpositionid"}, "cdm_jobposition", JoinKind.LeftOuter),
#"Expanded cdm_jobposition" = Table.ExpandTableColumn(#"Merged Queries", "cdm_jobposition", {"cdm_parentjobpositionid"}, {"cdm_parentjobpositionid"}),
#"Merged Queries1" = Table.NestedJoin(#"Expanded cdm_jobposition", {"cdm_parentjobpositionid"}, cdm_positionworkerassignmentmap, {"cdm_jobpositionid"}, "cdm_positionworkerassignmentmap", JoinKind.LeftOuter),
#"Expanded cdm_positionworkerassignmentmap1" = Table.ExpandTableColumn(#"Merged Queries1", "cdm_positionworkerassignmentmap", {"cdm_workerid"}, {"cdm_positionworkerassignmentmap.cdm_workerid"}),
#"Merged Queries2" = Table.NestedJoin(#"Expanded cdm_positionworkerassignmentmap1", {"cdm_positionworkerassignmentmap.cdm_workerid"}, cdm_worker, {"cdm_workerid"}, "cdm_worker", JoinKind.LeftOuter),
#"Expanded cdm_worker" = Table.ExpandTableColumn(#"Merged Queries2", "cdm_worker", {"cdm_fullname", "cdm_workerid", "cdm_workernumber"}, {"cdm_worker.cdm_fullname", "cdm_worker.cdm_workerid", "cdm_worker.cdm_workernumber"}),
#"Filtered Rows" = Table.SelectRows(#"Expanded cdm_worker", each ([cdm_workernumber] = "000040")),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"cdm_workerid", "PWA.cdm_jobpositionid", "PWA.cdm_positionworkerassignmentmapid", "PWA.cdm_workerid", "cdm_parentjobpositionid", "cdm_positionworkerassignmentmap.cdm_workerid", "cdm_worker.cdm_workerid"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"cdm_worker.cdm_workernumber", "Reports to id"}, {"cdm_worker.cdm_fullname", "Reports to name"}})
in
#"Renamed Columns"
You will get this.
