Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hi all,
At the moment i have a what if parameter so the users can select a month in a slicer, that parameter will be used in another dax formula.
I generate 12 month numbers and select the value from the slicer with the following DAX
MonthParValue = SELECTEDVALUE(MonthParameter[MonthPar])
After that i use that value in the following dax to select on a month basis.
EstimateCurrentMonth = calculate(sum('Sales'[Estimate]);FILTER(ALL('Sales'[MonthNumber]);[MonthNumber] = 'MonthParameter'[MonthParValue]))
this is working fine, but only if i select one month. I see that the selectedvalue returns only one value.
How can i change this so i can select multiple values from the slicer?
Thanks!
Solved! Go to Solution.
Hey,
I guess if you replace your estimation measure
EstimateCurrentMonth = calculate(sum('Sales'[Estimate]);FILTER(ALL('Sales'[MonthNumber]);[MonthNumber] = 'MonthParameter'[MonthParValue]))
with this
EstimateCurrentMonth = var selectedMonths = Values('MonthParameter'[MonthParValue]) return calculate( sum('Sales'[Estimate]) ;FILTER( ALL('Sales'[MonthNumber]) ;[MonthNumber] IN selectedMonths ) )
You are good to go.
Please be aware that the variable selectedMonths contains a table and no loger a scalar value. You also have to make sure that the slicer with the Month numbers has to be enabled for multi selection
Regards,
Tom
Hi @TomMartens
Thanks, but i think i fixed it fairly easily.
I created a measure
IsFiltered = ISCROSSFILTERED(MonthParameter[MonthPar])
In the other DAX a simple IF check seems to work fine..
IF(MonthNamesNumbersAsVar[IsFiltered] = TRUE;
calculate(..................
Hey,
I guess if you replace your estimation measure
EstimateCurrentMonth = calculate(sum('Sales'[Estimate]);FILTER(ALL('Sales'[MonthNumber]);[MonthNumber] = 'MonthParameter'[MonthParValue]))
with this
EstimateCurrentMonth = var selectedMonths = Values('MonthParameter'[MonthParValue]) return calculate( sum('Sales'[Estimate]) ;FILTER( ALL('Sales'[MonthNumber]) ;[MonthNumber] IN selectedMonths ) )
You are good to go.
Please be aware that the variable selectedMonths contains a table and no loger a scalar value. You also have to make sure that the slicer with the Month numbers has to be enabled for multi selection
Regards,
Tom
One other question, i see that the slicer returns all values as default, how can i set it so the slicer returns "nothing" as default?
Hi @TomMartens
Thanks, but i think i fixed it fairly easily.
I created a measure
IsFiltered = ISCROSSFILTERED(MonthParameter[MonthPar])
In the other DAX a simple IF check seems to work fine..
IF(MonthNamesNumbersAsVar[IsFiltered] = TRUE;
calculate(..................
Perfect!
Try with following
EstimateCurrentMonth = CALCULATE ( SUM ( 'Sales'[Estimate] ), FILTER ( ALL ( 'Sales'[MonthNumber] ), [MonthNumber] IN VALUES ( 'MonthParameter'[MonthParValue] ) ) )
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 |
---|---|
72 | |
69 | |
55 | |
37 | |
35 |
User | Count |
---|---|
85 | |
66 | |
59 | |
46 | |
45 |