Referencia > Referencia de funciones > Funciones lógicas > Evaluate
 
Evaluate
Propósito 
Evalúa una expresión como cálculo.
Formato 
Evaluate ( expresión ; [campo1 ; campo2 ; campo3 ;...] )
Parámetros 
expresión: cualquier expresión de texto o campo de texto.
campos: una lista de campos de los que depende esta función. Cuando se modifiquen estos campos, el cálculo actualizará su resultado.
Los parámetros entre llaves { } son opcionales. Observe que la lista de campos opcionales se escribe entre corchetes [ ].
Tipo de datos devuelto 
texto, número, fecha, hora, fecha y hora, contenedor
Se origina en 
FileMaker Pro 7.0
Descripción 
El parámetro opcional campos es una lista de campos de los que depende este cálculo. Si no aparece un campo necesario, al modificar este campo dependiente no se actualizará el resultado del cálculo.
Notas 
Si el guión del servidor contiene la función Evaluate, utilice los nombres de función en inglés en el cálculo de la función Evaluate. Evaluate no reconoce los nombres de función traducidos cuando se evalúa en un guión del servidor. Consulte Ejecutar guiones en FileMaker Server.
Ejemplos 
Evaluate ( CampoTexto ) devuelve 4 si CampoTexto contiene 2 + 2.
Evaluate ( campotexto ) devuelve 2 + 2si campotexto contiene 2 + 2.
Evaluate ( GetField ( "campotexto" ) ) devuelve 4 si campotexto contiene 2 + 2.
Evaluate ( CampoTexto; [Cantidad] ) devuelve .80 si CampoTexto contiene .08 * Cantidad y Cantidad contiene 10.00.
Evaluate ( "Let ( TasaImpositiva = .05 ;" & Cálculo de tasa impositiva & ")" ) devuelve .50 si el campo Cálculo de tasa impositiva contiene SubTotal * TasaImpositiva y SubTotal es un campo numérico que contiene 10.00.
En el siguiente ejemplo se muestra cómo llevar parámetros designados con las funciones Evaluate, Let y Get (ScriptParameter) permitiendo el acceso solo a la variable "a" (el ejemplo devuelve 6):
ScriptParameter = "a = 5; b = 10"
Evaluate("Let ( [" & Get ( ScriptParameter ) & "]; a + 1 )")
En el siguiente ejemplo se muestra cómo se llevan parámetros con nombre, permitiendo el acceso tanto a la variable "a" como a la "b". El primer parámetro simplificado hace que el segundo sea más complejo (el ejemplo devuelve 6, 12):
ScriptParameter = "a = 5; b = 10"
Evaluate ( "Let ( [" & Get ( ScriptParameter ) & "]; a + 1 & \", \" & b + 2 )" )
El siguiente ejemplo muestra cómo transferir parámetros con nombre, manteniendo la capacidad de comprobar la sintaxis del segundo parámetro de la función Let (el ejemplo devuelve 6, 12):
ScriptParameter = "a = 5; b = 10"
Let ( [a = Evaluate ( "Let ( [" & Get ( ScriptParameter ) & "]; a )" ),
b = Evaluate ( "Let ( [" & Get ( ScriptParameter ) & "]; b )" ) ]; a + 1 & ", " & b + 2 )
Nota  La función Evaluate evalúa una expresión, incluidos valores de campo que se van a evaluar como fórmula de cálculo. También le permite especificar dependencias de campo, de forma que se pueda activar un cálculo que utilice la función de evaluación debido a cambios en otros campos del mismo registro. Esta función evalúa fórmulas definidas por el usuario. Por ejemplo, puede crear una fórmula en el campo Total que calcule la tasa estatal:
Evaluate ( FórmulaTasaEstatal ) + CostoEnvío
donde el campo FórmulaTasaEstatal contiene:
Subtotal * 1,0875
y el campo SubTotal contiene el subtotal antes de impuestos y transporte.
La función Evaluate tiene un segundo parámetro opcional, que es un campo del que depende el cálculo. Cuando cambia el contenido del campo dependiente, FileMaker Pro vuelve a evaluar el cálculo. En el siguiente ejemplo, el cálculo Total se volverá a evaluar cuando cambie SubTotal.
Evaluate ( FórmulaTasaEstatal; SubTotal ) + CostoEnvío
El parámetro dependiente también puede resultar útil en otros casos. Por ejemplo,
Evaluate ( "Get ( CurrentTimeStamp )" ; [ CampoB ; CampoC ] )
almacenará una marca de fecha y hora en el campo de cálculo cuando cambien CampoB o CampoC.
Temas relacionados 
Referencia de funciones (lista de categorías)
Referencia de funciones (orden alfabético)
Acerca de las fórmulas
Notas acerca de las funciones
Definir campos de cálculo
Operadores en fórmulas