Rule Engine Column string NOT LIKE

Hi,

I’m trying to create a rule for rule engine which searches a combined string for a particular value for a data set is quite messy in terms of string content .

for example: combined string row - “28000, male, employed at twitter”
rule: $combined string$ LIKE “employed”

to search for employed people

is it possible to create a rule with NOT LIKE i.e. NOT $combined string$ LIKE “employed”

to exclude rows where this word appears?

Hi @gem4236,

to exclude rows you could use a Row Filter Node.

Best Regards
Andrew

Hi Andrew,

Thank you for your reply! Much appreciated.

I’m using a Rule Engine Dictionary on multiple healthcare data sets, which is why i’m using rules. As they will change depending on what set i’m working on.

In this case i want to add a rule to exclude a condition, additionally to a set of rules already being applied.

Hope this makes sense

Hi @gem4236,

the Row Filter can also be provided with a dictionary. It is called Rule-based Row Filter (Dictionary). If you want to use the filtered records further, a Rule-based Row Splitter (Dictionary) could also be useful.

I hope it helps.

Andrew

2 Likes

@gem4236

You need to include the wildcard characters in your string to get an inexact match e.g "*employed*" to match “is employed at work”. Usual wildcard characters apply ?*`.

To invert the match you can, as you suggest, use the NOT clause. I tested NOT both with and without brackets around the main clause and it appears that LIKE is higher precedence than NOT. In practice, I always put brackets around terms to ensure that processing is explicit e.g. NOT ($column1$ LIKE "*employee*") => TRUE. This prevents any risk that the computer processes operators in a different sequence from the one I intended.

DiaAzul
LinkedIn | Medium | GitHub

2 Likes

Thank you, will definitely look into this

Thank you! would of took me a long time to figure this out

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.