Forum Discussion
Help with query for evaluating a condition between two tables involving multiple columns
Show your Power Query code. Probably a typo somewhere.
Use COALESCE([Date],TODAY()) to handle blanks.
I am using the code for the custom column referencing the same sample data shared earlier. However my original project has multiple other columns too. The code given as solution has been used in the very end. The "each" before (k)=> gets inserted automatically if that is causing the issue.
let
Source = Excel.Workbook(File.Contents("C:\Users\asah\Documents\Power BI\Projects\Table_A.xlsx"), null, true),
#"Table_A_Sheet" = Source{[Item="Table_A",Kind="Sheet"]}[Data],
#"Promoted Headers" = Table.PromoteHeaders(#"Table_A_Sheet", [PromoteAllScalars=true]),
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Ticket created - Timestamp", type datetime}, {"Ticket solved - Timestamp", type datetime}, {"Ticket ID", Int64.Type}, {"Ticket priority", type text}, {"Site Number", type text}, {"Site Number (Obsolete)", type text}, {"Name", type text}, {"Type", type text}, {"Type of issue", type text}, {"Ticket subject", type text}, {"Ticket status", type text}, {"Ticket group", type text}, {"Impact", type text}, {"Type of issue - country", type text}, {"Submitter name", type text}, {"Submitter ID", Int64.Type}, {"Assignee name", type text}, {"Ticket type", type text}, {"Tick here if incident is linked to a problem", type logical}, {"Ticket tags", type text}, {"Code department", type text}, {"Code type", type text}, {"Sub-Tasks", type text}, {"First resolution time (min)", Int64.Type}, {"Full resolution time (min)", Int64.Type}, {"First assignment time (min)", Int64.Type}, {"Average Group stations", Int64.Type}, {"zd-Tickets in SLA", Int64.Type}, {"out(SLA)", Int64.Type}, {"zd-Tickets without SLA", Int64.Type}, {"Good satisfaction tickets", Int64.Type}, {"Bad satisfaction tickets", Int64.Type}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"Ticket ID"}, {{"MyTable", each _, type table [#"Ticket created - Timestamp"=nullable datetime, #"Ticket solved - Timestamp"=nullable datetime, Ticket ID=nullable number, Ticket priority=nullable text, Site Number=nullable text, #"Site Number (Obsolete)"=nullable text, Name=nullable text, Type=nullable text, Type of issue=nullable text, Ticket subject=nullable text, Ticket status=nullable text, Ticket group=nullable text, Impact=nullable text, #"Type of issue - country"=nullable text, Submitter name=nullable text, Submitter ID=nullable number, Assignee name=nullable text, Ticket type=nullable text, Tick here if incident is linked to a problem=nullable logical, Ticket tags=nullable text, Code department=nullable text, Code type=nullable text, #"Sub-Tasks"=nullable text, #"First resolution time (min)"=nullable number, #"Full resolution time (min)"=nullable number, #"First assignment time (min)"=nullable number, Average Group stations=nullable number, #"zd-Tickets in SLA"=nullable number, #"out(SLA)"=nullable number, #"zd-Tickets without SLA"=nullable number, Good satisfaction tickets=nullable number, Bad satisfaction tickets=nullable number]}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "TicketTag", each Table.Column([MyTable],"Ticket tags")),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Ticket ID"}),
#"Extracted Values" = Table.TransformColumns(#"Removed Columns", {"TicketTag", each Text.Combine(List.Transform(_, Text.From), ", "), type text}),
#"Expanded MyTable" = Table.ExpandTableColumn(#"Extracted Values", "MyTable", {"Ticket created - Timestamp", "Ticket solved - Timestamp", "Ticket ID", "Ticket priority", "Site Number", "Site Number (Obsolete)", "Name", "Type", "Type of issue", "Ticket subject", "Ticket status", "Ticket group", "Impact", "Type of issue - country", "Submitter name", "Submitter ID", "Assignee name", "Ticket type", "Tick here if incident is linked to a problem", "Code department", "Code type", "Sub-Tasks", "First resolution time (min)", "Full resolution time (min)", "First assignment time (min)", "Average Group stations", "zd-Tickets in SLA", "out(SLA)", "zd-Tickets without SLA", "Good satisfaction tickets", "Bad satisfaction tickets"}, {"Ticket created - Timestamp", "Ticket solved - Timestamp", "Ticket ID", "Ticket priority", "Site Number", "Site Number (Obsolete)", "Name", "Type", "Type of issue", "Ticket subject", "Ticket status", "Ticket group", "Impact", "Type of issue - country", "Submitter name", "Submitter ID", "Assignee name", "Ticket type", "Tick here if incident is linked to a problem", "Code department", "Code type", "Sub-Tasks", "First resolution time (min)", "Full resolution time (min)", "First assignment time (min)", "Average Group stations", "zd-Tickets in SLA", "out(SLA)", "zd-Tickets without SLA", "Good satisfaction tickets", "Bad satisfaction tickets"}),
#"Removed Duplicates" = Table.Distinct(#"Expanded MyTable", {"Ticket ID"}),
#"Filtered Rows" = Table.SelectRows(#"Removed Duplicates", each ([Ticket group] <> "111_SD" and [Ticket group] <> "MTB")),
#"Added Conditional Column" = Table.AddColumn(#"Filtered Rows", "SiteNumber", each if [Site Number] = "" then [#"Site Number (Obsolete)"] else [Site Number]),
#"Reordered Columns" = Table.ReorderColumns(#"Added Conditional Column",{"Ticket created - Timestamp", "Ticket solved - Timestamp", "Ticket ID", "Ticket priority", "Site Number", "Site Number (Obsolete)", "SiteNumber", "Name", "Type", "Type of issue", "Ticket subject", "Ticket status", "Ticket group", "Impact", "Type of issue - country", "Submitter name", "Submitter ID", "Assignee name", "Ticket type", "Tick here if incident is linked to a problem", "Code department", "Code type", "Sub-Tasks", "First resolution time (min)", "Full resolution time (min)", "First assignment time (min)", "Average Group stations", "zd-Tickets in SLA", "out(SLA)", "zd-Tickets without SLA", "Good satisfaction tickets", "Bad satisfaction tickets", "TicketTag"}),
#"Removed Columns1" = Table.RemoveColumns(#"Reordered Columns",{"Site Number", "Site Number (Obsolete)"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Columns1",{{"Ticket created - Timestamp", "Ticket created"}, {"Ticket solved - Timestamp", "Ticket solved"}}),
#"Added Custom1" = Table.AddColumn(#"Renamed Columns", "Custom", each (k)=> if Table.RowCount(Table.SelectRows(#"Table B",each k[Submitter ID]=[Submitter ID] and k[Ticket created]>DateTime.From([DOJ]) and k[Ticket created]<DateTime.From([DOL]) )) > 0 then "Yes" else "No")
in
#"Added Custom1"