Un caso de uso habitual de las reglas de estilo de cuenta es crear una regla para convertir una cantidad de consumo de una unidad a otra. Por ejemplo, es posible que necesite un estilo de cuenta que permita a su organización capturar datos sobre el agua en múltiples unidades de medida, como litros, galones, metros cúbicos, pies cúbicos, y convertir el resultado a una unidad de medida común, como litros.
Acerca de esta tarea
El siguiente procedimiento muestra un ejemplo de cómo crear una regla para convertir unidades de agua capturadas de varios tipos de unidades a litros.
Procedimiento
- Configure un estilo de cuenta que tenga los siguientes campos:
- Un campo para la cantidad que se va a convertir, denominado Cantidad y configurado como campo obligatorio.
- Un campo de lista desplegable con las unidades compatibles, denominado «Unidad» y configurado como campo obligatorio.
Nota: La forma más flexible de configurar una lista desplegable de conversión de unidades es asignar a cada unidad un valor entero con 4 decimales, por ejemplo, 1.0000, 2.0000, y luego utilizar una instrucción
CASE SQL en la regla para multiplicar la cantidad por un valor especificado si se selecciona el valor entero en la lista desplegable. En comparación con almacenar los valores directamente en los valores desplegables, utilizar más de cuatro decimales hace que las conversiones sean más precisas y, además, cualquier ajuste en las conversiones no afecta a los datos cargados anteriormente.
Se recomienda dejar un espacio en blanco o incluir Select a value una entrada en la parte superior de la lista desplegable para que el usuario seleccione activamente la unidad de medida en la que se están capturando los datos.
- Un campo para almacenar el resultado del cálculo, que normalmente es el campo de medida principal del estilo de cuenta. El campo debe configurarse como oculto porque se rellena mediante la regla y, por lo tanto, no debe aceptar la introducción directa de datos.
Es una buena práctica asignar los campos de cantidad y unidad a
C_21 y
C_22. La mayoría de los tipos de datos tienen una medida primaria que se asigna a un campo de
C_1 a
C_20. Al evitar los
C_1 campos
C_20 «a» y «de» al configurar los campos de cantidad y unidad, el estilo de la cuenta sigue siendo flexible para cualquier cambio futuro. También se puede copiar o modificar fácilmente para utilizarlo con otro tipo de datos.
- Escriba una regla de asignación para convertir la cantidad capturada a litros según la unidad seleccionada en la lista de unidades:
- En la pestaña Reglas, seleccione el campo que desea rellenar con la regla.
Si el campo seleccionado no está oculto, se muestra un mensaje de advertencia que le recuerda que debe configurar el campo como oculto después de haber configurado la regla.
- Para escribir la regla, haga clic en Editar expresión.
- Cuando empiezas a escribir, el editor sugiere comandos SQL y, si seleccionas un comando, el editor genera automáticamente la estructura de comando necesaria.
- Complete las áreas resaltadas para completar la expresión, tal y como se indica en el siguiente ejemplo:
C_14=ROUND(CASE
WHEN C_22 = 1 THEN C_21 * 1
WHEN C_22 = 2 THEN C_21 * 3.785411784
WHEN C_22 = 3 THEN C_21 * 1000
ELSE 0 END,4)
CASE sentencia
- La
CASE declaración evalúa el valor de C_22 y devuelve diferentes resultados en función de su valor.
- Cláusulas WHEN
- Las
WHEN cláusulas funcionan como una expresión condicional, similar a una if-else declaración en programación:
- Si
C_22 es igual a 1 (litros), la expresión devuelve el valor de C_21 sin cambios:WHEN C_22 = 1 THEN C_21 * 1
- Si
C_22 es igual a 2, la expresión convierte C_21 de galones a litros:WHEN C_22 = 2 THEN C_21 * 3.785411784
- Si
C_22 es igual a 3, la expresión convierte C_21 de metros cúbicos a litros.WHEN C_22 = 3 THEN C_21 * 1000
- Si no
C_22 es 1, 2 o 3, la expresión devuelve 0, que es el valor predeterminado para cualquier otro caso.ELSE 0
- REDONDEAR(..., 4)
- La
ROUND función redondea el resultado de la CASE instrucción a cuatro decimales Por ejemplo, si el resultado de la CASE instrucción es 3.785411784, el valor final de C_14 es 3.7854.
- Para confirmar que la instrucción es válida, haga clic en Evaluar en el editor.
- Si no se devuelven errores, haga clic en Aplicar.
- Para guardar el nuevo estilo de cuenta, vuelva a la pestaña Campos y establezca como oculto el campo que se rellena con el resultado calculado.
Los mensajes de advertencia desaparecen y el botón Guardar se habilita.