let
T1 =
let
Source = Web.BrowserContents(
"https://stackoverflow.com/questions/68212487/how-to-merge-two-tables-based-off-key-table-in-power-bi"
),
#"Extracted Table From Html" = Html.Table(
Source,
{
{"Column1", "DIV.s-table-container:nth-child(7) > TABLE.s-table > * > TR > :nth-child(1)"},
{"Column2", "DIV.s-table-container:nth-child(7) > TABLE.s-table > * > TR > :nth-child(2)"},
{"Column3", "DIV.s-table-container:nth-child(7) > TABLE.s-table > * > TR > :nth-child(3)"},
{"Column4", "DIV.s-table-container:nth-child(7) > TABLE.s-table > * > TR > :nth-child(4)"}
},
[RowSelector = "DIV.s-table-container:nth-child(7) > TABLE.s-table > * > TR"]
),
#"Changed Type" = Table.TransformColumnTypes(
#"Extracted Table From Html",
{
{"Column1", type text},
{"Column2", type text},
{"Column3", type text},
{"Column4", type text}
}
),
#"Promoted Headers" = Table.PromoteHeaders(#"Changed Type", [PromoteAllScalars = true]),
#"Changed Type1" = Table.TransformColumnTypes(
#"Promoted Headers",
{
{"Timestamp", type text},
{"7P_ID", type text},
{"time_tracked", type text},
{"work item type", type text}
}
),
#"Removed Bottom Rows" = Table.RemoveLastN(#"Changed Type1", 1),
#"Renamed Columns" = Table.RenameColumns(#"Removed Bottom Rows", {{"7P_ID", "ID"}})
in
#"Renamed Columns",
T2 =
let
Source = Web.BrowserContents(
"https://stackoverflow.com/questions/68212487/how-to-merge-two-tables-based-off-key-table-in-power-bi"
),
#"Extracted Table From Html" = Html.Table(
Source,
{
{"Column1", "DIV.s-table-container:nth-child(8) > TABLE.s-table > * > TR > :nth-child(1)"},
{"Column2", "DIV.s-table-container:nth-child(8) > TABLE.s-table > * > TR > :nth-child(2)"},
{"Column3", "DIV.s-table-container:nth-child(8) > TABLE.s-table > * > TR > :nth-child(3)"},
{"Column4", "DIV.s-table-container:nth-child(8) > TABLE.s-table > * > TR > :nth-child(4)"}
},
[RowSelector = "DIV.s-table-container:nth-child(8) > TABLE.s-table > * > TR"]
),
#"Changed Type" = Table.TransformColumnTypes(
#"Extracted Table From Html",
{
{"Column1", type text},
{"Column2", type text},
{"Column3", type text},
{"Column4", type text}
}
),
#"Promoted Headers" = Table.PromoteHeaders(#"Changed Type", [PromoteAllScalars = true]),
#"Changed Type1" = Table.TransformColumnTypes(
#"Promoted Headers",
{
{"Timestamp", type text},
{"ZD_ID", type text},
{"time_tracked", type text},
{"ticket id", type text}
}
),
#"Removed Bottom Rows" = Table.RemoveLastN(#"Changed Type1", 1),
#"Renamed Columns" = Table.RenameColumns(#"Removed Bottom Rows", {{"ZD_ID", "ID"}})
in
#"Renamed Columns",
T3 =
let
Source = Web.BrowserContents(
"https://stackoverflow.com/questions/68212487/how-to-merge-two-tables-based-off-key-table-in-power-bi"
),
#"Extracted Table From Html" = Html.Table(
Source,
{
{"Column1", "DIV.s-table-container:nth-child(9) > TABLE.s-table > * > TR > :nth-child(1)"},
{"Column2", "DIV.s-table-container:nth-child(9) > TABLE.s-table > * > TR > :nth-child(2)"},
{"Column3", "DIV.s-table-container:nth-child(9) > TABLE.s-table > * > TR > :nth-child(3)"}
},
[RowSelector = "DIV.s-table-container:nth-child(9) > TABLE.s-table > * > TR"]
),
#"Changed Type" = Table.TransformColumnTypes(
#"Extracted Table From Html",
{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}}
),
#"Promoted Headers" = Table.PromoteHeaders(#"Changed Type", [PromoteAllScalars = true]),
#"Changed Type1" = Table.TransformColumnTypes(
#"Promoted Headers",
{{"Employee Name", type text}, {"7P_ID", type text}, {"ZD_ID", type text}}
),
#"Removed Bottom Rows" = Table.RemoveLastN(#"Changed Type1", 1),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(
#"Removed Bottom Rows",
{"Employee Name"},
"Attribute",
"Value"
)
in
#"Unpivoted Columns",
#"T1+T2" = T1 & T2,
#"Merged Queries" = Table.NestedJoin(#"T1+T2", {"ID"}, T3, {"Value"}, "T1+T2", JoinKind.LeftOuter),
#"Expanded T1+T2" = Table.ExpandTableColumn(
#"Merged Queries",
"T1+T2",
{"Employee Name"},
{"Employee Name"}
)
in
#"Expanded T1+T2"