Genx Posted November 26, 2006 Posted November 26, 2006 Hi Guys, Just having some problems. I'm trying to evaluate an expression that is based on The CF Paramaters: FieldListSeperatedByPipe ; CustomExpression ; n ; total FieldListSeperatedByPipe is just that The CustomExpression is meant to be a case statement that references currentField, but that's the bit i can't get to work. Let([ n = If(IsEmpty(n) ; 1 ; n ) ; list = Substitute(FieldListSeperatedByPipe ; "|" ; ¶ ) ; y = ValueCount( list ) ; currentField = GetField(GetValue( list ; n )) ; z = Sum(Evaluate(CustomExpression); total ) ]; If( n < y ; SumConditionalFieldsCustomExpression( FieldListSeperatedByPipe ; CustomExpression ; n + 1 ; z ) ; z ) )//End of Let Usage Attempt SumConditionalFieldsCustomExpression( "temp::field1|temp::field2|temp::field3|temp::field4" ; "Case(currentField = "Yes" ; 3 ; CurrentField = "No" ; 1 )" ; "" ; "" ) See the attached file as well. It's not really important, and it's actually some one elses scenario, but i'm just trying to work out why evaluate won't work for future reference. Cheers temp.zip
The Shadow Posted November 27, 2006 Posted November 27, 2006 The Evaluate() function starts a new variable scope, and it cannot see local variables declared outside itself (like you are using). You could use script-local or global variables instead and I suspect it would be fine.
Genx Posted November 27, 2006 Author Posted November 27, 2006 Hmmmm, Thank you very much for the explanation -- I justed tested it out and changing currentField to a local (or global) variable in both the CF and the actual Calc field worked!!! Cheers
Recommended Posts
This topic is 6570 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now