let
Source = Folder.Files("C:\temp\consultants"), //change to actual filepath
#"Extracted Text Before Delimiter" = Table.TransformColumns(Source, {{"Name", each Text.BeforeDelimiter(_, " Tracker"), type text}}),
WorkbookData = (MyWorkbook, ConsultantName) =>
let
Source = Excel.Workbook(MyWorkbook, null, true),
WorksheetData = (MyWorksheet) =>
let
Worksheet = MyWorksheet,
#"Renamed Columns" = Table.RenameColumns(Worksheet,{{"Column1", "Client Name"}, {"Column2", "Renewal Date"}, {"Column11", "Commission - Expected"}, {"Column15", "Commission - Actual"}}),
#"Removed Other Columns" = Table.SelectColumns(#"Renamed Columns",{"Client Name", "Renewal Date", "Commission - Expected", "Commission - Actual"}),
#"Added Client Type" = Table.AddColumn(#"Removed Other Columns", "Client Type", each if [Renewal Date] ="Renewal Date" then Text.BeforeDelimiter([Client Name], " Company") else null),
#"Filled Down Client Type" = Table.FillDown(#"Added Client Type",{"Client Type"}),
#"Filtered Rows" = Table.SelectRows(#"Filled Down Client Type", each ([Client Type] = "Comission" or [Client Type] = "Fee") and ([Renewal Date] <> "Renewal Date") and ([Client Name] <> null and [Client Name] <> "")),
#"Changed Type" = Table.TransformColumnTypes(#"Filtered Rows",{{"Client Name", type text}, {"Client Type", type text}, {"Renewal Date", type date}, {"Commission - Expected", Currency.Type}, {"Commission - Actual", Currency.Type}})
in
#"Changed Type",
#"Filtered Rows" = Table.SelectRows(Source, each ([Kind] = "Sheet") and not Text.Contains([Item], "Sheet") and not Text.Contains([Item], "Summary")),
#"Extracted Worksheet Data" = Table.AddColumn(#"Filtered Rows", "Worksheet Data", each WorksheetData([Data])),
#"Combined Worksheet Data" = Table.Combine(#"Extracted Worksheet Data"[Worksheet Data]),
#"Added Name" = Table.AddColumn(#"Combined Worksheet Data", "Consultant Name", each ConsultantName, type text)
in
#"Added Name",
#"Extracted Workbook Data" = Table.AddColumn(#"Extracted Text Before Delimiter", "Workbook Data", each WorkbookData([Content], [Name])),
#"Combined Workbook Data" = Table.Combine(#"Extracted Workbook Data"[Workbook Data])
in
#"Combined Workbook Data"
Close and load to Data Model, then create a pivot table to display results. Data > Refresh All to update.
Bookmarks