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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
Anonymous
Not applicable

DAX - Consecutive 2 sale difference in a year for every customer

Scenerio: Recovered customer in a year - for a selected period, there is a time gap between 2 sales which is equal or greater than “Nr of Months before Lost”

No of months before lost (slicer of months) : 1, 3, 6, 12

 

I have a table have different customers and different sales date staring from 1 jan 2019 to 25 sep 2019
Ex: A customer has sales staring from jan 2019 then in feb then in june and then in aug
Want to calculate difference between every 2 sale dates for every customer in 2019...

 

Trying to implement loop functionailty:

No of customers =
Var FirstBuyInperiod = min (Sales[SALES_RECOGNITION_DATE])
Var NextSale = min(Sales[SALES_RECOGNITION_DATE]) > FirstBuyInperiod
Var looptable = GENERATESERIES(FirstBuyInperiod,max(Sales[SALES_RECOGNITION_DATE]))
Var looptable1 = ADDCOLUMNS(looptable, "datediff", Datediff(Firstbuyinperiod , NextSale , Month))
 
//here want to update the firstbuyinperiod and nextsale for 2nd iteration
set FirstBuyInPeriod = NextSale
set NextSale = min(Sales[SALES_RECOGNITION_DATE]) > FirstBuyInperiod
RETURN
COUNTROWS(CALCULATETABLE(VALUES(DimCustomer[CUSTOMER_NUMBER]),
FILTER(looptable1, [datediff]>= [No of month before lost slicer])))

 

Please suggest

 

0 REPLIES 0

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

November Power BI Update Carousel

Power BI Monthly Update - November 2025

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.