Administrador

|
#1 Publicado: 14 Jun 2011 18:46
El concepto de un cálculo utilizando las secuencias condicionales IF anidadas, es una buena manera de procesar resultados desde un campo o un grupo de campos para conseguir el resultado deseado. La mejor forma de hacer esto es tener claro el resultado deseado antes de empezar a crear un cálculo. Una buena manera de crear una cálculo IF anidado es probar de dibujarlo.
La sintaxis del cálculo IF en FileMaker Pro es:
If ( prueba, resultado 1, resultado 2)
Puede parecer más fácil pensar en la secuencia IF como una pregunta si/no que determina la siguiente acción , por ejemplo:
IF ( pregunta, haz esto si la respuesta es si, has esto si la respuesta es no). El truco está en especificar el cálculo de manera que sólo haya la respuesta posible verdadero o falso ( Si ó no), por ejemplo:
If ( 2+4= 5, "verdad", "falso")
FileMaker primero calcula 2+3= 5, después procesa el resultado apropiado, que será mostrar " verdadero". La manera más sencilla de describir una secuencia anidada IF es pensar en una condición dentro de una condición.
En un cálculo IF anidado, primero se evalúa la prueba. Basándose en el resultado de la prueba ( normalmente con un resultado falso), se evalúa la siguiente. El resultado deseado se consigue a través del proceso de eliminación desde la primera condición IF en el cálculo.
Vamos a poner que el resultado 2 ( cuando obtiene que el resultado de la prueba es falso) se reemplaza por otra secuencia condicional IF. En este caso, el resultado 2 es igual a otro condicional. Esto quedaría así:
If ( prueba, resultado uno, If ( resultado uno, resultado dos )) Esto leído sería: Si la primera prueba, el resultado es verdad, procesa resultado uno, o sinó procesa el resultado dos, que es otra condición. Imaginamos ahora que tanto el resultado uno como el dos son condiciones
If ( prueba, If (prueba, resultado 1, resultado 2), If ( prueba, resultado 1, resultados 2))
Al crear cálculos utilizando secuencias condicionales IF anidadas, es importante tener en cuenta que no importa cómo de complejas parezcan, siempre pueden separarse en secuencias IF individuales.
Vamos a ver un ejemplo real:
Vamos a utilizar esta técnica para construir una cálculo anidado para clasificar las facturas en las 4 categorías siguientes:
30 días o menos 31-60 días 61-90 días Más de 90 días
Si miramos a la fecha de la factura, la primera pregunta será: " es la factura con fecha a 30 días o menos? Esto en términos FileMaker Pro sería:
If ( Hoy – Fecha factura<=30, "30 días o menos", resultado 2)
Pero qué pasa si la diferencia entre la fecha de hoy y la factura no es menor de 30 días, entonces al saber que no es igual o menor a treinta días, le podemos preguntar si es menor o igual a 60 días:
If ( Hoy- Fecha factura<=30, "30 días o menos", If ( hoy- Fecha factura >=60, "31-60 días", resultado 2 )).
Qué pasa si la fecha de factura es anterior a 60 días? Añadimos otro condicional al resultado 2 de la prueba 2,
If (Hoy – Fecha factura <= 30, "30 días o menos",If (Hoy Fecha factura <= 60, "31 - 60 días",If (Hoy - Fecha factura <= 90, "61 - 90 días", resultado 2)))
Es importante apreciar que cada condición anidada, está diseñada para eliminar las respuestas potenciales hasta que sólo nos quede un resultado posible. Si la diferencia no es menor de 30 días, ni igual o o menor que 60 días, ni menor o igual a 90 días, sólo hay un resultado posible:
If (Hoy – Fecha factura <= 30, "30 días o menos",If (Hoy Fecha factura <= 60, "31 - 60 días",If (Hoy - Fecha factura <= 90, "61 - 90 días", "Más de 90 días")))
Sacado del boletín de noticias de FileMaker
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Todo lo que sueñas, se puede diseñar.
FM 11 * VV 6 * PHP 5 * MySQL * Win 8.
|
Miembro
Ocasional
|
#2 Publicado: 4 Nov 2012 16:37
en ese caso me parece meor utilizar la funcion case que te ofrece opciones en caso de que el valor sea a b o c es deceir Case(prueba1,valor1,prueba2,valor2,.....,pueban,va lorn,....,otro)
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Jorge Saud
Mac y Windows FMpro Adv
|