Hi, quite new to using Knime, I am trying to use the row splitter node but perhaps i am misunderstanding it function.
I have a table that contains people details including their business email addresses in one of the columns. ( 100 rows so not large )
I have created a separate table with all our department team members with a column containing their emails addresses.
I also changed everything to lower case just in case this made a difference to the outputs.
In the row splitter node I have set the two reference columns to point at each tables email column.
My expectation is 2 outputs
1.Output table with all the rows where my team members email = the row in the main data table with the same email address ( there could be duplicates ).
2. output table containing all others not in the team
However when i run the node and check two outputs I can see in the output that should show rows not in the Dictionary table that actually there are rows from the team members. To test i copied the email address from the False Output back to the dictionary ( in case of spelling mistakes), reset and rerun the node but still these rows are still in the output.
Am i misunderstanding the function of this node?
Thanks for any pointers
This is how it should work, you are understanding correctly. Can you try to reproduce it with some dummy data and then share that workflow here so we can have a look?
Sometimes whitespaces, carriage returns and new lines can be present but not noticeable in the KNIME tables and means that strings don’t match as expected.
To rule this out as the problem, you could add a -String Manipulation- node to both tables to remove these characters and see if you notice an improvement
Anyway, this is just a suggestion and might not be the cause of your problem but worth a try
Hi @mgirdwood ,
If you have 2 tables and need to match something to export it as match (equals for both, the left and right as differences between them), you can use the joiner node. It works with this mean, and you can have it separated as well or just the match result.
Try it, you’ll see its better then a split node.
Hi Deni - thanks for the pointer to the joiner node. It has benefits for sure.
Thanks also Heather and Alexander for the tips.
After a further couple of hours trying to find the problem I will put this down to User Error - in that i hadn’t changed to lower case in the dictionary also and once this was done both nodes worked.
I didn’t see anything related to UpperCase/LowerCase as needing to be the same across the different inputs but maybe I missed it or maybe its just too obvious that normal users would have taken taht for granted.
Either way thanks everyone for the support.
This is something that you can generally expect in KNIME: if at all, there is a configuration option “ignore case”. Usually, though, two strings must be exactly the same to be considered equal. This is in-line with databases and programming languages work in general. I did just try it in Excel, though, and discovered with horror that there a=A evaluates as TRUE :-/