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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
Khushi
Frequent Visitor

in Powerbi grouping different dimensions in 1 slicer and then filtering table

We have a fact Table Transaction which has keys from various Dimensions

FactTransactionKeyDimProductIDDimAreaIDDimProgramIDAmount
111110
212220
323330

Now In DIMProgram table we have

DimProgramIDPrgramName
1AA
2AB
3AZ
4AS

 

Similarly we have DimArea And DimProduct table

 

Now i want a slicer which is Multiselect but its values are 

Select ALL
Program
Area
Product
None

now if user select any items from Slicer Fact table should be filtered.
and we have rule like 

User selected Program and Area,
So we need to filter table based on Program and Area where Program name in ('AA','Ab') and AreaCode in ('aa',bb')

 

and if user select none

then 

we need to filter table based on Program and Area where Program name in ('AZ','AS') and AreaCode in ('cc',dd')

3 REPLIES 3
Khushi
Frequent Visitor

NOt sure but below works without IF

FilteredAmount = VAR SelectedOptions = CONCATENATEX(ALLSELECTED(SlicerTable), SlicerTable[MeasureName], ",")
VAR FilteringValues
=       { "AA", "AB", "AZ", "AS"  },
       
 
RETURN
CALCULATE ( SUM(FactTransaction[Amount]),
FILTER ( FactTransaction, FactTransaction[DimProgramID] IN FilteringValues
) )


But IF is added it failes at bold giving error that ( function expect a table expression for argument ", but a string or numeric is passed), 😞

FilteredAmount = VAR SelectedOptions = CONCATENATEX(ALLSELECTED(SlicerTable), SlicerTable[MeasureName], ",")
VAR FilteringValues
=
IF(
        CONTAINSSTRING(SelectedOptions, "Prgram") && CONTAINSSTRING(SelectedOptions, "None"),
        { "AA", "AB", "AZ", "AS"  },
        IF(
            CONTAINSSTRING(SelectedOptions, "Prgram"),
            { "AA", "AB" },
            IF(
                CONTAINSSTRING(SelectedOptions, "None"),
                { "AZ", "AS" },
                { "AA", "AB", "AZ", "AS"  }
            )
        )
    )
 
RETURN
CALCULATE ( SUM(FactTransaction[Amount]),
FILTER ( FactTransaction, FactTransaction[DimProgramID] IN FilteringValues
) )
mlsx4
Memorable Member
Memorable Member

Hi @Khushi 

 

This video may help you: https://www.youtube.com/watch?v=HEP8FwYN9AQ

Khushi
Frequent Visitor

Thanks for the response but In my slicer , user can select MUltiple values.
And also I am struck as I am trying to use below , but doesnt work

FilteredAmount = VAR SelectedOptions = CONCATENATEX(ALLSELECTED(SlicerTable), SlicerTable[MeasureName], ",")
VAR ProgramToFilter = IF ( CONTAINSSTRING(SelectedOptions, "Program"),
CALCULATETABLE(Program, Program[Code] IN {"AA", "AB"}),
IF ( CONTAINSSTRING(SelectedOptions, "None"),
CALCULATETABLE(Program, Program[Code] IN {"AZ", "AS"}),
ALL(Program) ) )
 
RETURN
CALCULATE ( SUM(FactTransaction[Amount]),
FILTER ( FactTransaction, FactTransaction[DimProgramID] IN VALUES(ProgramToFilter[DimProgramID]) ) )

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 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.

Top Solution Authors