Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
It seems to me that whenever a dollar sign evaluation changes as string (not as underlying values) per row, this always fails.
Consider the following simple .qvf. Script:
T:
LOAD *,'A ' & operator & ' B' as formula;
LOAD * Inline[
A,B,operator
5,2,*
3,4,+
];
As you can see, [formula] provides a perfectly correct string for evaluation. Sure enough, if I copy-paste the exported values into the formula ediotr, it works for each seperate line/ However, using a measure $(=formula) returns nothing.
Is this behaviour documented? Is the engine indeed incapable of using different-per-row-formula dollar sign evaluation? Is there any way to implement this differently in cases where it's needed?
Yes, it's known that $ expansion happens outside chart context. Alternatively, if script solution is an option you could try using evaluate(), like:
Evaluate(A&operator&B) as result
LOAD *, evaluate(formula) as eval;
LOAD *,'A ' & operator & ' B' as formula;
Tried it, doesn't work.
It seems to me that evaluate it just script syntax version of the exact same functionality.
While concatenating you are making a mistake, try like:
LOAD *, evaluate(formula) as eval;
LOAD *, A & operator & B as formula; // without quotes around fields
But evaluate will still not work if the string contains a fieldname, correct?
I'm just trying to get an answer while avoiding posting a very complicated example.
Did you try with the way I suggested? Didn't it work with sample you shared? It worked with me.
@gmenoutis wrote:But evaluate will still not work if the string contains a fieldname, correct?
I'm just trying to get an answer while avoiding posting a very complicated example.
Evaluate WILL work because you are not concatenating the field names (when you remove quotes) but field values. If your actual scenario is more complicated, without a sample or explanation - for sure we would not guess it correct. Just give a try...