Showing results for 
Search instead for 
Did you mean: 

Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.

Helper III
Helper III

Monthly running conversion

Good Morning, 


So im looking for a way to calculate a rolling monthly conversion:


I have two fields as part of a larger date set [date ref] (inital approach) and then [date sold] (the date of sale)

So what i would like to do is know the % of customers that buy in month 0 (same calendar month) month 1 or month 2.

But this should be accumulative so month 1 would be month 0 +month 1 and month 2 would be Month 0 + 1 + 2

So for example 100 new customers this month of which 60 buy this month, 15 buy next month and 10 the following month:


Month 0 = 60%

Month 1 = 75%
Month 2 = 85%

Any Help would be greatly appreciated.



please see the attachment below. hope it's helpful.

Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

View solution in original post

Community Support
Community Support

Hi, @sovereignauto 


I really want to help you but your screenshot is in the form of a matrix. It is difficult for us to imagine what your original data looks like. Can you share some sample fake data and your desired result? So we can help you soon.


Best Regards

Janey Guo

Sorry it took so long: 

Screen Shot.PNG


please see the attachment below. hope it's helpful.

Did I answer your question? Mark my post as a solution!

Proud to be a Super User!



Super User
Super User

@sovereignauto , Please refer to my blog and use how I have done monthly calculation, You can use cumulative revenue


Customer Retention Part 3: Period Of Stay – Cohort Analysis:



calculate(sum(Table[revenue]), filter(all('Customer Age bucket'), [Age] <=max([Age])),

calculate(sum(Table[revenue]), all('Customer Age bucket')))





calculate(sum(Table[revenue]), filter(allselected('Customer Age bucket'), [Age] <=max([Age])),

calculate(sum(Table[revenue]), allselected('Customer Age bucket')))

Thank you for this but for some reason i just cant seem to apply it to my Data. 

There are records where we may have a customer register but never make a sale.

I have a Column for the Datediff in my dataset and have not created the secondary Month table as i dont need it to say "month 1" just "1" will be fine.

so on the matrix I added "converted month" as the Column and "new customer date"  as the rows, and if i add a "count" in i get the right data example below:

So how do i get that now as a conversion figure so "blanks" i will deal with after as thats potential sales but month "0" should show as a % of the row total and then month "1" should show as a % of the row total where its 0 and 1 added together so in May its 218 / 537 = 40% for month 1 

im thinking somthing like but i dont know how to get the month-in-matrix part. 


Divide( countx(filter('sale',[sale month] < month-in-matrix), sale[ref])),


Helpful resources

PBI November 2023 Update Carousel

Power BI Monthly Update - November 2023

Check out the November 2023 Power BI update to learn about new features.

Community News

Fabric Community News unified experience

Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.

Power BI Fabric Summit Carousel

The largest Power BI and Fabric virtual conference

130+ sessions, 130+ speakers, Product managers, MVPs, and experts. All about Power BI and Fabric. Attend online or watch the recordings.

Top Solution Authors
Top Kudoed Authors