As discussed in this question, QGIS automatically saves recently used expressions in the field calculator. But recently used expressions are deleted after a while. Sometimes I need to re-use an expression that I used a while ago, and it's no longer available.
So I needed a way to store expressions for re-use in the Field Calculator at a much later time.
The method I figured out is to store the expression as in a text field. When I need to re-use the expression, I copy it from the attribute table into the Field Calculator. Here's what that looks like with a simple example:
Of course it's trivial to remember and re-enter the expression in this example. I would use this method with much more complicated expressions, such as
"Population"/$area*3.58701e-8/"Population", which calculates population density (people per square mile) after first converting square feet to square miles.
Now I'm looking for a better way than manually copying the expression. It seems like there should be a way in the Field Calculator to take the field name as input, interpret it as an expression, and output the result of that expression. Here's what I've tried so far:
Just using the field name outputs the formula as a string.
Is there a function that will force the Field Calculator to interpret a string as an expression? By comparison to the expressions
as_string(), I'm thinking it would be something like
as_formula(). So the output of
as_expression('$area') would be the calculated area of the polygon feature.