Change Request - Make it possible to evaluate multiple columns in Reference Row Filter & Splitter

I often use Reference Row Filter and Reference Row Splitter nodes. And I often miss an option to compare multiple columns. Reference Row Filter & Splitter nodes make it possible to filter a table using a reference table. You can choose a pair of columns and the node filter table rows if the values are equal.


Nice, convenient, helpful. But it could get even better if it was possible to pick some additional columns. What about making it similar to the Joiner node?

4 Likes

Hi @jan_lender,

I agree with you in having the option to filter rows based on several columns. But you could also use the Rule-based Row Filter (Dictionary) node for this.

:blush:

1 Like

Agree. But there is a viable work around. Just concatenate all the columns of interest in same order and filter on that.

1 Like

Rule Based Row Filter as a substitution for Reference Row Filter? It’s possible?

Rule-based Row Filter/Splitter (Dictionary). Yes.

You can create rules based on a reference table and filter or split rows based on those rules. Would you like me to provide you with an example workflow?

:blush:

Yes, you’re right in most cases. But you wouldn’t achieve the option Joiner node gives you. You can’t simulate this way the behaviour “Match any of the following”.

More over. Well, you can usually workaround almost everything. There is Java Snippet node for case you run out of wisdom. But if your workflow is really complex and you work with considerably large amounts of data it is always better avoid a need to prepare data for the logic you employ and revoke your changes after the logic finishes its job.

1 Like

Hi @armingrudd,

I gave a try to it. This is my workflow.


Rule Based Row Splitter Dictionary.knwf (51.5 KB)
Well, you can achieve the some result as if you would get if Reference Row Splitter or Filter node allowed to search multiple columns.

Two disadvantages:
First, it’s really inconvenient, tricky and easy to make it wrong. Second, the performance is miserable especially if the table containing the rules grows up to thousands of rows. Which is what I usually face and which is why these workarounds often don’t help.

2 Likes

I don’t disagree just providing a quick temporary solution.

EDIT:

For the “Match any of the following” can’t you just “branch” the reference row node an then concatenate?

1 Like

Excellent and creative idea. But how many additional nodes are we talking about now?

Talking about workarounds, this is my contribution. It consists of Left Join provided by a Joiner node and Row Splitter node.


Outer Join to Substitute Ref Row Filter over Multiple Columns.knwf (42.0 KB)

3 Likes

Hi there all,

actually there is already a ticket for this one (internal reference: AP-2843) and I have added +1 on it.

Br,
Ivan

2 Likes

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