Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
ny326n
Frequent Visitor

Create a match in two tables based on previous and current month

Hi everyone!

 

I have two tables, one with the creation date of client accounts:

Client ID, Creation date

 

The second table includes created assignements:

Client ID, Assignment ID, Assignment creation date

 

What I want to do is to calculate the percentage of clients who created their account in previous month who placed an assignment in current month. I also want to calculate the average time from account registration to first creation of assignment.

 

Anyone got any suggestions on how to solve this?

 

Thank you very much in advance!

1 ACCEPTED SOLUTION
v-huizhn-msft
Microsoft Employee
Microsoft Employee

Hi @ny326n,

First, please create a relationship between the table.

Second, in second table, you create a calculated column using RELATED function as the following formula.

create-date=RELATED(Table1[Creation date])


Third, create another calculated column using the formula, which shows if the account was created in previous month.

flag=IF(MONTH(Assignment creation date)-MONTH(create-date)>=1,"Yes","No")


Create a measure to calculate the percentage of clients who created their account in previous month who placed an assignment in current month.

Percentage=CALCULATE(DISTINCTCOUNT(Table2[ClientID]),FILTER(Table2,Table[flag]="Yes"))/CALCULATE(DISTINCTCOUNT(Table2[ClientID]),ALL(Table2))


>>I also want to calculate the average time from account registration to first creation of assignment.

Create a calculated to get the difference using the formula.

difference=Table2[create-date]-Table2[Assignment creation date]

Create a measure using the formula.

Average=AVERAGE(Table2[difference])


Best Regards,
Aneglia





View solution in original post

2 REPLIES 2
v-huizhn-msft
Microsoft Employee
Microsoft Employee

Hi @ny326n,

First, please create a relationship between the table.

Second, in second table, you create a calculated column using RELATED function as the following formula.

create-date=RELATED(Table1[Creation date])


Third, create another calculated column using the formula, which shows if the account was created in previous month.

flag=IF(MONTH(Assignment creation date)-MONTH(create-date)>=1,"Yes","No")


Create a measure to calculate the percentage of clients who created their account in previous month who placed an assignment in current month.

Percentage=CALCULATE(DISTINCTCOUNT(Table2[ClientID]),FILTER(Table2,Table[flag]="Yes"))/CALCULATE(DISTINCTCOUNT(Table2[ClientID]),ALL(Table2))


>>I also want to calculate the average time from account registration to first creation of assignment.

Create a calculated to get the difference using the formula.

difference=Table2[create-date]-Table2[Assignment creation date]

Create a measure using the formula.

Average=AVERAGE(Table2[difference])


Best Regards,
Aneglia





Thank you for your help! It worked perfectly! 

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

Find out what's new and trending in the Fabric community.