Forum Discussion
Anonymous
4 years agoNot applicable
SQL to DAX
Two tables, Table A has User/Event/EventDate. Table B has User/InteractionDate. I would use the following SQL Statement to get a one to many table; Select A.User, A.Event, A.EventDate,...
- Anonymous4 years ago
Hi Anonymous ,
Here I create a sample to have a test.
A:
B:
By Power Query:
let Source = Table.NestedJoin(A, {"User"}, B, {"User"}, "B", JoinKind.LeftOuter), #"Expanded B" = Table.ExpandTableColumn(Source, "B", {"User", "InteractionDate"}, {"B.User", "B.InteractionDate"}), #"Filtered Rows" = Table.SelectRows(#"Expanded B", each [B.InteractionDate] >= [EventDate] and [B.InteractionDate]<=Date.AddDays([EventDate],30)) in #"Filtered Rows"Result is as below.
By Dax:
Dax Table = VAR _ADD = ADDCOLUMNS(A,"B.User",RELATED(B[User]),"B.InteractionDate",RELATED(B[InteractionDate])) VAR _FILTER = FILTER(_ADD,[B.InteractionDate]>=[EventDate]&&[B.InteractionDate]<=[EventDate]+30) RETURN _FILTERResult is as below.
Best Regards,
Rico ZhouIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
PAG
4 years agoFrequent Visitor
Hi,
I think you can in PowerQuery merge the two tables
then create a column that adds 30 days to the Eventdate column, call it Eventdate30 for example
Next create a column that subtract the column InteractionDate by Eventdate30 and another that subtract InteractionDate by Eventdate.
Now you can filter the merged table by the last two columns you've created like you want
Hope it helps
PAG