Hello I am trying to filter a dataform connected to a database with a dropdown. I am specifically attempting to filter a column that has multiple values (or tags) separated by a comma. I want to filter this source by multiple conditions, including entities that do NOT contain the word "Global". I cannot do a straight 1 to 1 comparison using "<>" since this column has multiple tags separated by commas.
The function "IsMatch" works when i attempt to only filter to those values in the column. I am curious how i would filter by the inverse of this? Showing ALL results in my dataform for entities that do NOT contain the keyword. The code looks something like this:
Dropdown1.Selected.Value = "PM", Filter('Activities', Or(state_label = "Open", stage= "Six"), And(IsMatch(tsatags, "Global", Contains & IgnoreCase)
Meaning= When dropdown "PM" is selected, filter data source "Activities" with state = Open, Stage = Six and Tags to all rows that do NOT contain the word "global"
Can anybody help me here?
Solved! Go to Solution.
@moelhag
I think you can take this section code that you’ve already written...
IsMatch(tsatags, "Global", Contains & IgnoreCase)
...and make this simple change.
!(IsMatch(tsatags, "Global", Contains & IgnoreCase))
---
Please click "Accept as Solution" if my post answered your question so that others may find it more quickly. If you found this post helpful consider giving it a "Thumbs Up."
@moelhag
I think you can take this section code that you’ve already written...
IsMatch(tsatags, "Global", Contains & IgnoreCase)
...and make this simple change.
!(IsMatch(tsatags, "Global", Contains & IgnoreCase))
---
Please click "Accept as Solution" if my post answered your question so that others may find it more quickly. If you found this post helpful consider giving it a "Thumbs Up."
Hi @moelhag ,
Do you want to get the inverse value of ‘IsMatch(tsatags, "Global", Contains & IgnoreCase)’?
It can be easily implemented by using Not or ! Operator:
Not(IsMatch(tsatags, "Global", Contains & IgnoreCase))
or
!(IsMatch(tsatags, "Global", Contains & IgnoreCase))
I’ve made a similar test for your reference:
1\ Add a dropdown control(DropDown1) and Set the control’s items property to:
["PM","PP","MM"]
2\ Add a gallery control and set the control’s items property to:
If(
Dropdown1.Selected.Value = "PM",
Filter(
Activities,
Or(
state_label = "Open",
stage = "Six"
) && !(IsMatch( /*get the inverse value of ‘IsMatch(tsatags, "Global", Contains & IgnoreCase)’*/
tsatags,
"Global",
Contains & IgnoreCase
))
)
)
If you still have any question please don’t hesitate to let us know.
Best Regards,
I have no idea why @v-yutliu-msft feels the need to repeat what I have already said 2 days earlier 😒
This is the solution...
!(IsMatch(tsatags, "Global", Contains & IgnoreCase))
---
Please click "Accept as Solution" if my post answered your question so that others may find it more quickly. If you found this post helpful consider giving it a "Thumbs Up."
User | Count |
---|---|
226 | |
98 | |
95 | |
56 | |
33 |
User | Count |
---|---|
278 | |
108 | |
107 | |
64 | |
62 |