web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / PowerApps filter with ...
Power Apps
Unanswered

PowerApps filter with multiple combo-boxes

(0) ShareShare
ReportReport
Posted on by 38

Hello PowerApps community, 

 

I am building PowerApps with 4 combo boxes. 'cmb_Make', 'cmb_Model', 'cmb_Color', 'cmb_Year'.

Users can select those 4 combo boxes in any order and each combo box should filter out the available items to select based on the user selection on the other combo boxes. (Like excel filter function with multiple columns)

 

caligame_0-1682552359506.png

Those Make, Model, Color, Year's combo-box available items to select come from the single SharePoint with text property as below:

 

caligame_1-1682552790577.png

 

 

 

For example, users can select Make, Color, Model, and Year order. Or Year, Model, Make then Color order. Or it can be selected in any other way.

(For Example,

  • if Model combo-boxes are chosen with the value 'Civic' first then Make should show 'Honda' only and Color should 'Red,Yellow,Blue' option available...etc
  • if Make chosen first as 'Honda' then use should able to see the Model as 'Civic' or 'Accord', then color as 'Red, Yellow, Blue, Black'...etc

 

I wrote the function below but seems like it is not working properly. Looks like it is working okay when I select 'Make' or 'Model' first but not working well if I select 'Color' or 'Year' first.

Can someone please help?

(*Assume that SharePoint data can grow up, I want to avoid any delegation limit & circular reference issue)

 

1. App's on start

 

ClearCollect(col_Make, Distinct(Test_SharePoint_List, Make));
ClearCollect(col_Model, Distinct(Test_SharePoint_List, Model));
ClearCollect(col_Color, Distinct(Test_SharePoint_List, Color));
ClearCollect(col_Year, Distinct(Test_SharePoint_List, Year))

 

 2. Each combo-box's Item Property

 

cmb_Make: col_Make
cmb_Model: col_Model
cmb_Color: col_Color
cmb_Year: col_Year

 

3.  cmb_Make OnChange:

 

ClearCollect(
 col_Model,
 Distinct(
 Filter(
 Test_SharePoint_List,
 (IsBlank(cmb_Make.Selected.Value) || Make = cmb_Make.Selected.Value)
 ),
 Model
 )
);
ClearCollect(
 col_Color,
 Distinct(
 Filter(
 Test_SharePoint_List,
 (IsBlank(cmb_Make.Selected.Value) || Make = cmb_Make.Selected.Value) && (IsBlank(cmb_Model.Selected.Value) || Model = cmb_Model.Selected.Value)
 ),
 Color
 )
);
ClearCollect(
 col_Year,
 Distinct(
 Filter(
 Test_SharePoint_List,
 (IsBlank(cmb_Make.Selected.Value) || Make = cmb_Make.Selected.Value) && (IsBlank(cmb_Model.Selected.Value) || Model = cmb_Model.Selected.Value) && (IsBlank(cmb_Color.Selected.Value) || Color = cmb_Color.Selected.Value)
 ),
 Year
 )
)

 

4. cmb_model onChange:

 

ClearCollect(
 col_Make,
 Distinct(
 Filter(
 Test_SharePoint_List,
 (IsBlank(cmb_Model.Selected.Value) || Model = cmb_Model.Selected.Value)
 ),
 Make
 )
);
ClearCollect(
 col_Color,
 Distinct(
 Filter(
 Test_SharePoint_List,
 (IsBlank(cmb_Make.Selected.Value) || Make = cmb_Make.Selected.Value) && (IsBlank(cmb_Model.Selected.Value) || Model = cmb_Model.Selected.Value)
 ),
 Color
 )
);
ClearCollect(
 col_Year,
 Distinct(
 Filter(
 Test_SharePoint_List,
 (IsBlank(cmb_Make.Selected.Value) || Make = cmb_Make.Selected.Value) && (IsBlank(cmb_Model.Selected.Value) || Model = cmb_Model.Selected.Value) && (IsBlank(cmb_Color.Selected.Value) || Color = cmb_Color.Selected.Value)
 ),
 Year
 )
)

 

5. cmb_Color onChange:

 

ClearCollect(
 col_Make,
 Distinct(
 Filter(
 Test_SharePoint_List,
 (IsBlank(cmb_Color.Selected.Value) || Color = cmb_Color.Selected.Value)
 ),
 Make
 )
);
ClearCollect(
 col_Model,
 Distinct(
 Filter(
 Test_SharePoint_List,
 (IsBlank(cmb_Make.Selected.Value) || Make = cmb_Make.Selected.Value) && (IsBlank(cmb_Color.Selected.Value) || Color = cmb_Color.Selected.Value)
 ),
 Model
 )
);
ClearCollect(
 col_Year,
 Distinct(
 Filter(
 Test_SharePoint_List,
 (IsBlank(cmb_Make.Selected.Value) || Make = cmb_Make.Selected.Value) && (IsBlank(cmb_Model.Selected.Value) || Model = cmb_Model.Selected.Value) && (IsBlank(cmb_Color.Selected.Value) || Color = cmb_Color.Selected.Value)
 ),
 Year
 )
)

 

6. cmb_Year onChange: 

 

ClearCollect(
 col_Make,
 Distinct(
 Filter(
 Test_SharePoint_List,
 (IsBlank(cmb_Year.Selected.Value) || Year = cmb_Year.Selected.Value)
 ),
 Make
 )
);
ClearCollect(
 col_Model,
 Distinct(
 Filter(
 Test_SharePoint_List,
 (IsBlank(cmb_Make.Selected.Value) || Make = cmb_Make.Selected.Value) && (IsBlank(cmb_Year.Selected.Value) || Year = cmb_Year.Selected.Value)
 ),
 Model
 )
);
ClearCollect(
 col_Color,
 Distinct(
 Filter(
 Test_SharePoint_List,
 (IsBlank(cmb_Make.Selected.Value) || Make = cmb_Make.Selected.Value) && (IsBlank(cmb_Model.Selected.Value) || Model = cmb_Model.Selected.Value) && (IsBlank(cmb_Year.Selected.Value) || Year = cmb_Year.Selected.Value)
 ),
 Color
 )
);

 

 

Categories:
I have the same question (0)
  • Srini007 Profile Picture
    3,327 Super User 2025 Season 2 on at

    Hi @caligame 

     

    Check below for your reference

     

    https://www.youtube.com/watch?v=Wr42PeW6_wU

     

    Hope this may help you

     

    Thanks,

    Srini

  • Verified answer
    caligame Profile Picture
    38 on at

    There was a typo issue 😞 

    I am good now!

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 793 Most Valuable Professional

#2
Michael E. Gernaey Profile Picture

Michael E. Gernaey 333 Super User 2025 Season 2

#3
Power Platform 1919 Profile Picture

Power Platform 1919 268

Last 30 days Overall leaderboard