Consultas con campos calculados en OpenOffice Base
Vamos a crear una consulta que crea nuevos campos calculados a partir de otros campos incluídos en la consulta.
Esta situación es muy habitual; por ejemplo, disponemos de una consulta en la que se muestran los campos Unidades,Precio_Unitario y Descuento de un pedido, albarán, factura o presupuesto. Queremos que se muestre también una columna Importe_Descuento e Importe_Linea que se calcule a partir de los otros campos de la consulta.
Consulta con campos calculados en OpenOffice Base
Tras crear la consulta con los campos existentes necesarios, insertaremos los nuevos campos calculados.
- En la fila Campo teclearemos con precisión y entre comillas dobles los nombres de los campos y las operaciones que realizan.
- En la fila Alias teclearemos el nombre de la nueva columna calculada.
En el ejemplo, la columna calculada Importe_Descuento se calcula con la siguiente expresión: "Unidades" * "Precio_Unitario" * "Descuento"
No es posible utilizar uno de los campos calculados para realizar con él cálculos en otros campos, por lo que en lugar de crear la columna Importe_Linea utilizando el campo calculado anterior, nos vemos forzados a utilizar la expresión ( "Unidades" * "Precio_Unitario" ) - ( "Unidades" * "Precio_Unitario" * "Descuento" ) .
Tras guardar la consulta, ejecutarla y dar formato a las columnas, este es el resultado obtenido:
Resultado de una consulta con columnas calculadas en OpenOffice Base
Es importante tener en cuenta la prioridad de las operaciones, que es la misma que se utiliza en Calc (ver Prioridad de operadores).
Podemos resumir diciendo que las operaciones se resolverán siempre con esta prioridad:
- Paréntesis
- División y multiplicación
- Sumas y restas