Problem with row filter

Good morning, I am a novice to KNIME, and I was reading and trying to reproduce some of the exercises in the KNIME: Begginers Luck book. Particularly, I am having trouble with a very basic node, the "row filter node". I am trying to reproduce exercise 3 in the book, in wich a table is row filtered based on the number of "teams". I constructed the table in excel, read it in with the "XLS reader node", after which I apply the "row filter node". To configure this last node I selected "team" under the Column value matching options, and under matching criteria, I selected "use pattern matching" and under pattern: I wrote "team > 3". After executing the node I am getting empty tables. I tried several chages to this but I always get empty filtered tables. What am I doing wrong?

Thank you very much in advance for the help

regards

Alfredo

Rather than use pattern matching, select Use range checking. Since you want an include filter greater than 3, enter the value 3 in the lower bound box.

simon.

Thank you very much Simon for your answer, it is clear for me now

regards

Alfredo

No problem, the pattern matching box you were using is mainly used for matching text, with optional wild cards or regex operators. It doesn't support rules as in; if x > 3 etc..

simon.

I also have a question about the row filter node.

I'd like to filter twitter data and keep only tweets that mention a specific tag (baernmünchen), I apply the row filter after the BoW and enter "bayernmünchen" in the pattern matching and as column to test I select term. But I get an empty output table (actually no matter what word I enter, I get an empty data table). I am new to Knime (and have zero IT background), thus I might just be doing something completely wrong :D

Best regards,

Pepita

Instead of row filter, try using the RegEx filter node

If you still want to use the row filter;

Try entering a * at either side of your term! I.e. *bayernmunchen*

the row filter pattern matching will only trigger a match if the whole cell contents match the term you enter, so the asterix is needed to say any character before and after.

Failing this, you may need to convert the term column into a string column first using Term to String node.

 

Simon.

Thank you, I will try that! The * are wildcard expressions in this context, right?

yes thats right.

I was hoping my addition this thread may be of help to others filtering rows by text value

I have a dataset containing a string and a document column. I'd like to filter the table so only rows which contain "Contact" are included but when I use the regex filter "*ontact*" and append the column I get a table with the same number of rows listed but with an extra column

If I try the Row Filter node and use the matching criteria "*ontact*"  with wildcard ticked and "Include rows by atribute value" and apply it to the Document column I get the expected filtered table