Forum Discussion
Filter Date from multiple tables
Hi,
I am new to DAX scripting and I trying to script the following condition:
- I want to calculate All the sales calls and emails sent to customers before their 1st purchase date, for every customer.
Data:
Table 1:
| Customer ID | Date | Calls | Emails |
| 1 | 1/1/2018 | 2 | 3 |
| 1 | 1/2/2018 | 1 | 2 |
| 1 | 1/1/2019 | 2 | 3 |
| 2 | 1/1/2019 | 5 | 6 |
Table2:
| Customer ID | First Purchase Date |
| 1 | 5/6/2018 |
| 2 | 2/3/2019 |
Any help would be appreciated!
Thanks
- Anonymous7 years ago
Hello!
First, start by creating a one-to-many relationship from Table2 to Table1.
Then I created two measures to solve this, one for calls and one for emails:
Calls Before First Purchase Date = CALCULATE(SUM(Table1[Calls]), FILTER(Table1, Table1[Date] <= RELATED(Table2[First Purchase Date])))
Emails Before First Purchase Date = CALCULATE(SUM(Table1[Emails]), FILTER(Table1, Table1[Date] <= RELATED(Table2[First Purchase Date])))
Calculate the sum of the number of calls/emails for each Customer ID, but apply a filter such that the date of the emails are earlier than the first purchase date. Since we have created the one-to-many relationship between these two tables, the related function can find the corresponding first purchase date for the given Customer ID.
Hope this helps!
1 Reply
- AnonymousNot applicable
Hello!
First, start by creating a one-to-many relationship from Table2 to Table1.
Then I created two measures to solve this, one for calls and one for emails:
Calls Before First Purchase Date = CALCULATE(SUM(Table1[Calls]), FILTER(Table1, Table1[Date] <= RELATED(Table2[First Purchase Date])))
Emails Before First Purchase Date = CALCULATE(SUM(Table1[Emails]), FILTER(Table1, Table1[Date] <= RELATED(Table2[First Purchase Date])))
Calculate the sum of the number of calls/emails for each Customer ID, but apply a filter such that the date of the emails are earlier than the first purchase date. Since we have created the one-to-many relationship between these two tables, the related function can find the corresponding first purchase date for the given Customer ID.
Hope this helps!