Please add wildcards to use in the Filter() function. Situation: I want to Filter the database with two dropdown controls. (In real life this could be more fields) Solution now: If(!IsBlank(ComboBox1.Selected) && !IsBlank(ComboBox2.Selected)
,Filter(DummyData, Column1 = ComboBox1.Selected.Result ,Column2 = ComboBox2.Selected.Result)
,!IsBlank(ComboBox1.Selected) && IsBlank(ComboBox2.Selected)
,Filter(DummyData, Column1 = ComboBox1.Selected.Result ,Column2 = ComboBox2.Selected.Result)
,IsBlank(ComboBox1.Selected) && !IsBlank(ComboBox2.Selected)
,Filter(DummyData, Column2 = ComboBox2.Selected.Result)
,IsBlank(ComboBox1.Selected) && IsBlank(ComboBox2.Selected)
,DummyData
) Solution suggested 1: Filter(DummyData, Column1 = * & ComboBox1.Selected.Result & * ,Column2 = * & ComboBox2.Selected.Result & *) The * is the Wildcard in this example. Should work like: ComboBox1.Selected.Result & * - This should filter the combobox1 selected value against starts with. * & ComboBox1.Selected.Result - This should filter the combobox1 selected value against ends with. * & ComboBox1.Selected.Result & * - This should generally work as the 'in' function, so matches all record where value starts with, ends with and in String. When ComboBox1.Selected.Result is equal to an empty string, then this should work as select all. Solutions suggested 2: Filter(DummyData, Evaluate(Column1 = ComboBox1.Selected.Result), Evaluate(Column2 = ComboBox2.Selected.Result)) In this case the Evaluate() function should look if there is a value to match from the combobox1. If combobox1 is blank it should totally skip the logical_test. So if both evaluations are blank you just get the datasource. To stay ahead off a discussion. Yes I know the Search function, but as far I know this function is build to evaluate the local dataset (so max 2000 records). This means first the dataset is collected from the source with the Filter function and then the search function is activated. Besides delegational issues, adding this functionality to the filter() function will increase speed and decrease bandwidth, simple because filtering is delegated to the datasource server and the returned dataset is already narrowed down to the nescessary records. But I don't know this for sure, but are just thinking off my head here
... View more