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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

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

Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

Check out the June 2024 Power BI update to learn about new features.

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.