I am trying to create 3 filters in Power Apps that I want to work uniquely (when one is selected the other 2 are automatically set to false)
I have created 3 buttons with the following code -
Button 1 - UpdateContext({FilterbyAA:!FilterbyAA})
Button 2 - UpdateContext({FilterbyBB:!FilterbyBB})
Button 3 - UpdateContext({FilterbyCC:!FilterbyCC})
My Gallery then has the code
If(
FilterbyAA=true;
Filter(EVENTDETAILS;TYPE="Once Off";PILLAR.Value="AA");
If(
FilterbyBB=true;
Filter(EVENTDETAILS;TYPE="Once Off";PILLAR.Value="BB");
If(
FilterbyCC=true;
Filter(EVENTDETAILS;TYPE="Once Off";PILLAR.Value="CC");
Filter(EVENTDETAILS;TYPE="Once Off")
)
)
)
I am trying to change it to set the other filters to false when one is selected but the following code doesn't work. Can someone please assist with the correct syntax.
If(
FilterbyAA=true;
Filter(EVENTDETAILS;TYPE="Once Off";PILLAR.Value="AA") AND FilterbyBB=false AND FilterbyCC=false;
If(
FilterbyBB=true;
Filter(EVENTDETAILS;TYPE="Once Off";PILLAR.Value="BB") AND FilterbyAA=false AND FilterbyCC=false;
If(
FilterbyCC=true;
Filter(EVENTDETAILS;TYPE="Once Off";PILLAR.Value="CC") AND FilterbyBB=false AND FilterbyAA=false;
Filter(EVENTDETAILS;TYPE="Once Off")
)
)
)
You can change the logic in your buttons to set the other filters to false:
Button 1 - UpdateContext({FilterbyAA:!FilterbyAA; FilterbyBB:false; FilterbyCC:false})
Button 2 - UpdateContext({FilterbyBB:!FilterbyBB; FilterbyAA:false; FilterbyCC:false})
Button 3 - UpdateContext({FilterbyCC:!FilterbyCC; FilterbyAA:false; FilterbyBB:false})
At that point you can use your original logic. Notice that you can use multiple conditions in a single If call, which can make it a little easier to understand:
If(
FilterbyAA=true;
Filter(EVENTDETAILS;TYPE="Once Off";PILLAR.Value="AA");
FilterbyBB=true;
Filter(EVENTDETAILS;TYPE="Once Off";PILLAR.Value="BB");
FilterbyCC=true;
Filter(EVENTDETAILS;TYPE="Once Off";PILLAR.Value="CC");
Filter(EVENTDETAILS;TYPE="Once Off")
)