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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
ajay_gajree
Helper I
Helper I

DAX Code to calculate custom half month on half month change

Hi All

 

I have bucketed my data into two dates in a month, all records in the first half of the month are assigned to 15/xx/xxxx

 

All records from the 16th of the month are bucketed into whatever the last date of the particular month is.

 

My date filter has these dates, so for example the user will see

 

15/05/2020

30/04/2020

15/04/2020

31/03/2020

15/03/2020

29/02/2020

15/02/2020

 

And so on

 

What I want to be able to do is say count records bucketed for the date selected and then return the difference to the previous date in the list.

 

A bit like month on month change but for these customs dates.

 

Not sure how to do this!

 

Any help or pointers appreciated!

1 ACCEPTED SOLUTION
amitchandak
Super User
Super User

@ajay_gajree , Create a period rank, on period start date

 

Period Rank = RANKX(all('Date'),'Date'[Period Start date],,ASC,Dense)

This Period = CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Period Rank]=max('Date'[Period Rank])))
Last Period = CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Period Rank]=max('Date'[Period Rank])-1))

 

change = [This Period] - [Last Period ]

change % = divide([This Period] - [Last Period ],[Last Period ])

 

Discussed in my video : https://www.youtube.com/watch?v=7Jc3D4iaTqs 

View solution in original post

2 REPLIES 2
amitchandak
Super User
Super User

@ajay_gajree , Create a period rank, on period start date

 

Period Rank = RANKX(all('Date'),'Date'[Period Start date],,ASC,Dense)

This Period = CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Period Rank]=max('Date'[Period Rank])))
Last Period = CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Period Rank]=max('Date'[Period Rank])-1))

 

change = [This Period] - [Last Period ]

change % = divide([This Period] - [Last Period ],[Last Period ])

 

Discussed in my video : https://www.youtube.com/watch?v=7Jc3D4iaTqs 

parry2k
Super User
Super User

@ajay_gajree bucket part is ok but not sure what you exactly want the output to be, if you share sample data with the expected output, it will help understand the problem.



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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