Column Expressions (Dictionary) node

It would be great to have a “Dictionary” version of the Column Expressions node like we have with the Rules node. The Column Expressions node is much more capable, and it would dramatically simplify the use of dynamically created expressions. It should also process each formula row in series (instead of in parallel as it seems to do now) to allow more flexibility. It would open up some amazing possibilities and reduce workflow size since a single node could replace dozens! (Such as dynamically built conditional Regex replace functions)

That would offer a very powerful dynamic formula multi-tool that currently requires a clunky looping component workaround.

Hi @iCFO -

This is an interesting idea. I’d love to hear input from some of our other users - would you use an updated version of the Column Expression node in this way?

1 Like

Definitely the part about performing formulas in series would be a big plus.

Regarding using a dictionary I’m not too sure if that would find its place in my toolbox. My main concern is about the manageability of the queries. I commonly see text files or Table Creator nodes being used as input for the dictionaries.

Considering more complex cases like nested if-statements or a long list of if-if else-else statements with multiple conditions per line, I’m probably less inclined to manage that in a table creator since it does not give me room for proper formatting, indents, etc. Similar when stored in a text file. I would probably have to flatten each whole code block which can get messy very quickly and a pain to maintain.

I would probably prioritize a rebuild of the Column Expressions node myself… I could easily accomplish tasks like dynamic conditional regex replace functions via flow variables if the Column Expressions node functioned in series.

As far as complexity goes - I don’t think that it would really be any more difficult to manage code wise than complex expressions written for the Rule Engine (Dictionary) node though. I typically write my basic expression and test it in the base node first, then break it up into columns (of code blocks) that just isolate the dynamically derived portions, calculate the dynamic values / replace those fields, then join it back together. I only write code directly into a Table Creator if it is a very short basic expression.