Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Good evening
I have looking to create a formula to find the latest stock valuation on a product by product basis.
I have a field which identifies the last date and time, which i have used for a filter. However, we can have multiple transaction recorded with the same date and time.
We have a second field call unique id. However, this value is reset every month then.
Therefore, i need to understand if we can have a dax formula to identify the max date, and then the max unique ID.
By current formula is:
Current_Valuation = calculate(SUMX(Stock_Value,Stock_Value[newcost]),filter(Stock_Value,Stock_Value[New Date]=MAX(Stock_Value[New Date])))
I have tried this formula, but as some of the unique id can be higher in other periods, it doesn't always return a value. For example on 31 July 2019, as unique id could be 456678, but on 1 August, the unique id resets, and now could read 345.
Current_Valuation = calculate(SUMX(Stock_Value,Stock_Value[newcost]),filter(Stock_Value,Stock_Value[New Date]=MAX(Stock_Value[New Date]) && Stock_Value[uniqueno]=max(Stock_Value[uniqueno])))
If I understand, you're trying to get the latest date, and the max id associated with that date?
Using variables will make this easier to read. Additionally, SUMX is a row iterator, and can be quite slow on large data sets.
Try this:
Current_Valuation =
var _MaxDate = MAX(Stock_Value[New Date]) var _MaxID = CALCULATE(MAX(Stock_Value[uniqueno]),Stock_Value[New Date] = _MaxDate) RETURN CALCULATE(SUM(Stock_Value[newcost]) ,Stock_Value[New Date]=_MaxDate ,Stock_Value[uniqueno]=_MaxID )
Love hearing about Power BI tips, jobs and news?
I love to share about these - connect with me!
Stay up to date on
Read my blogs on
Remember to spread knowledge in the community when you can!
Did I answer your question? Mark my post as a solution! Proud to be a Super User!
Connect with me!
Stay up to date on
Read my blogs on
Thank you - this helps to select the right values. I have used the same fomula to calculate by quantity also:
Current_Quantity = var _MaxDate = MAX(Stock_Value[New Date]) var _MaxID = CALCULATE(MAX(Stock_Value[uniqueno]),Stock_Value[New Date] = _MaxDate) RETURN CALCULATE(SUM(Stock_Value[lev]) ,Stock_Value,Stock_Value[New Date]=_MaxDate,Stock_Value[uniqueno]=_MaxID )
It does create a couple of additional queries:
Firstly, the sum correctly - for example, total quantity states 50, rather than something 417,380
Secondly, they a filter the data by a product type rather than a stock code, this doesn't work. Is this were SUMX would work.
Can you help me?
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
14 | |
10 | |
10 | |
9 | |
9 |
User | Count |
---|---|
20 | |
13 | |
12 | |
11 | |
8 |