Además de las manipulaciones explicadas en el vídeo, también debe tener en cuenta que:
Mediante la aplicación de una fórmula, puede pasar un campo a mayúsculas o minúsculas, concatenar cadenas de caracteres o dividirlas (si este proceso no fue planeado antes de la importación o si sus formularios no especifican las conversiones y controles automáticos).
Todos los comandos del lenguaje 4D están a nuestra disposición en el editor de fórmulas (una versión limitada está disponible para los usuarios finales cuando acceden a los editores estándar).
El uso de fórmulas permite realizar el equivalente de una buscar/remplazar de alto nivel. Dado se utilizan los comandos del lenguaje 4D, entre más familiarizado esté con ellos, más podrá afinar la operación.
Veamos algunos ejemplos:
En el archivo que usted ha importado en una tabla Usuarios, olvidó poner en mayúsculas los nombres y los apellidos son mixtos (mayúsculas, minúsculas o las dos)
Por otra parte, los números de teléfono no todos tienen el mismo formato (algunos tienen espacios, algunos tienen guiones, otros no tiene ninguno, a veces el cero a la izquierda no importa, porque se trata de una hoja de cálculo no formateada correctamente durante la exportación...).
Tenemos que volver a procesar los datos incorrectos o mal formateados.
4D trabaja con el concepto de selección actual, es decir una lista de registros, cuyos números se guardan en la memoria y que sirven como base para todo proceso (salvo en casos excepcionales).
Recomendación: cuando aplique una fórmula, primero pruébela en unos pocos registros para comprobar si es válida y si cumple con sus expectativas.
Ejemplo de ordenación por fórmula: El ejemplo más claro es la ordenación de un diccionario que, por definición, se ordena por orden alfabético y por lo tanto no necesita ser ordenado por una fórmula..
Sin embargo, ¿Qué pasa con un diccionario de Scrabble? En primer lugar tenemos que:
ordenar los nombres por longitud, en número de caracteres (palabras de 1 carácter, luego de 2, luego de 3 y así sucesivamente)
luego, dentro de estos grupos, ordenar por orden alfabético.
En este caso, es necesario utilizar una ordenación por fórmula para la primera ordenación.
Además: También puede aplicar un método (que contiene varias líneas de código) a la selección.
En realidad, si es necesario aplicar varias fórmulas a la misma selección, usted puede:
Escribir las fórmulas a aplicar en un método
A continuación, indicar el nombre de este método en la línea de la fórmula a aplicar:
Las fórmulas también se pueden utilizar en las columnas del editor de informes rápidos, cuyo funcionamiento se trató en los capítulos anteriores. Esto le da un número ilimitado de combinaciones para realización de sus informes, exportaciones y procesamientos.
Hoy vamos a aprender a realizar búsquedas avanzadas y a modificar datos en masa y ordenarlos según una fórmula de cálculo. Esto le permite refinar las búsquedas, las ordenaciones, los informes rápidos..., también le permite modificar los valores de una selección de registros "aplicando una fórmula".
Veamos un ejemplo con las intervenciones.
En primer lugar, queremos extraer todas las intervenciones realizadas en diciembre sin importar el año.
Dado que no tenemos una columna "Mes", una búsqueda convencional no es posible, porque tenemos que extraer el mes de la fecha.
En el menú "Records":
Seleccionar "Query"
luego "Query by Formula..."
El editor tiene 3 columnas:
tablas y campos
operadores
comandos 4D
Para constituir la fórmula de búsqueda:
en el tema "Date and time", hacemos doble clic en el mes
digitamos un paréntesis abierto
doble clic en "Intervention dates"
cerramos el paréntesis
y añadimos "=12"
Así que vamos a buscar todas las intervenciones cuyo mes es igual a 12. Validamos y obtenemos 905 registros.
Podemos ordenarlos cronológicamente (2009, 2010,...) pero nos han pedido ordenarlos por día (todos los primeros juntos, luego los segundos y así sucesivamente).
En en el menú "Order By":
Eliminamos los criterios de ordenación anteriores
En la parte inferior derecha, hacemos clic en "Add Formula"
validar la fórmula (volvemos al editor de ordenación)
clic en el botón "Order by"
Y tenemos todo los unos juntos, luego todos los dos y así sucesivamente, pero mezclados con 2010, 2009, 2011, etc.
Así que vamos a agregar un criterio de ordenación "normal" para que también se ordenen ascendentemente por año:
En el menú "Records" elegimos => "Order By"
Doble clic a la izquierda dela fecha de intervención
Doble clic a la izquierda de la hora de intervención (para tener una verdadera ordenación cronológica)
Luego clic en el botón "Order by"
Luego, obtenemos todas las intervenciones para el mes de diciembre, ordenadas por fecha y hora, año por año.
Ahora vamos a aplicar una fórmula, en otras palabras, modificar el valor de un campo para los registros mostrados. Atención: esta operación no se puede deshacer.
En orden, debemos:
Seleccionar los registros (crear una selección que coincida con los criterios).
A continuación, aplicar una (o más) fórmula(s).
En la importación de intervenciones que hicimos, la duración de las sesiones de formación no se incluía
Así que vamos a:
Crear el campo "Duration" en estructura en la tabla Interventions
Modificar el formulario "Output" para añadir el campo Duration
Colocar el campo Duration junto a las iniciales del técnico
Duplicar el campo y el texto
Modificar el título y el campo correspondiente
Guardar el formulario (vemos la modificación en el fondo de la lista de intervenciones)
Vamos a buscar las intervenciones de tipo formación
Luego, en el mismo menú, elija "Apply Formula"
Como en el editor anterior:
Hacemos doble clic en "Duration" en la lista de campos
Escribimos ":=" ya que es una asignación
Indicamos la duración entre signos de interrogación, así: ?07:00:00?
Clic en validar
Las duraciones ahora se asignan a todas las sesiones de formación.
PROPIEDADES
Producto: 4D
Tema: Búsqueda por formulario, aplicar una fórmula