Forum Discussion
Calculate based on selected filter
I have a measure that returns the total [Net Value Adjusted] for 2022 based on [Invoice Created Date]. I want to change this measure to calulate the latest selected year and create another separate measure that calculates the earliest selected year. So for example if I have 2022 and 2020 selected the first measure will return the total [Net Value Adjusted] for 2022 and the second measure will return the total [Net Value Adjusted] for 2020. Here is my current measure:
I would like to change { 2022 } to a dynamic filter as the latest year selected in my filter then create an identical measure where the dynamic function is the earliest select year.
For reference the measure [Invoiced RT ACT Material Cost] is calculated:
Invoiced RT ACT Material Cost =
- Anonymous3 years ago
Hi bstark1287
You can refer to the following example.
Invoiced RT CY Act Material Cost_2022= VAR _maxperYear = CALCULATE(YEAR(MAX('Raw Order Data'[Invoice Created Date])), VALUES('Raw Order Data'[Invoice Created Date].[Year])) RETURN CALCULATE( [Invoiced RT ACT Material Cost], YEAR('Raw Order Data'[Order Invoiced Date]) =_maxperYear )Invoiced RT CY Act Material Cost_2021= VAR _minperYear = CALCULATE(YEAR(MIN('Raw Order Data'[Invoice Created Date])), VALUES('Raw Order Data'[Invoice Created Date].[Year])) RETURN CALCULATE([Invoiced RT ACT Material Cost],YEAR('Raw Order Data'[Order Invoiced Date])=_minperYear )Best Regards!
Yolo Zhu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
3 Replies
- bstark1287Helper II
I got some measures working but not how I intended. Basically the MAX measure will return the higher value. So if 2021 had higher sales total than 2022 it will return the 2021 sales value. Similarly MIN returns the lower volume not the lower year. Any help is greatly appreciated!!!
Invoiced RT ACT Material Cost max per Year =MAXX(KEEPFILTERS(VALUES('Raw Order Data'[Invoice Created Date].[Year])),CALCULATE([Invoiced RT ACT Material Cost]))Invoiced RT ACT Material Cost min per Year =MINX(KEEPFILTERS(VALUES('Raw Order Data'[Invoice Created Date].[Year])),CALCULATE([Invoiced RT ACT Material Cost]))- AnonymousNot applicable
Hi bstark1287
You can refer to the following example.
Invoiced RT CY Act Material Cost_2022= VAR _maxperYear = CALCULATE(YEAR(MAX('Raw Order Data'[Invoice Created Date])), VALUES('Raw Order Data'[Invoice Created Date].[Year])) RETURN CALCULATE( [Invoiced RT ACT Material Cost], YEAR('Raw Order Data'[Order Invoiced Date]) =_maxperYear )Invoiced RT CY Act Material Cost_2021= VAR _minperYear = CALCULATE(YEAR(MIN('Raw Order Data'[Invoice Created Date])), VALUES('Raw Order Data'[Invoice Created Date].[Year])) RETURN CALCULATE([Invoiced RT ACT Material Cost],YEAR('Raw Order Data'[Order Invoiced Date])=_minperYear )Best Regards!
Yolo Zhu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- bstark1287Helper II
Anonymous I don't know why I didn't think of using a variable! Thank you!