...
La siguiente tabla ilustra esta situación, donde se agregó la columna Movimiento que debe calcularse a partir del Saldo
Mes | Saldo | Movimiento |
---|---|---|
1 | 10 | 10 |
2 | 15 | 5 |
3 | 17 | 2 |
4 | 20 | 3 |
5 | 18 | -2 |
6 | 21 | 3 |
7 | 17 | 17 |
8 | 11 | -6 |
9 | 7 | -4 |
10 | 22 | 15 |
11 | 31 | 9 |
12 | 27 | -4 |
Si bien una alternativa es realizar el cálculo los movimientos directamente en la consulta de los saldos mediante consultas anidadas, estas requieren varias pasadas sobre los datos.
...
Con esta solución cada registro de la consulta de Saldos genera 2 tuplas en el cubo tal como se ilustra en la siguiente tabla:
Mes | Saldo | Mes | Valor |
---|---|---|---|
1 | 10 | 1 | 10 |
2 | 15 | 2 | 15 |
3 | 17 | 3 | 17 |
4 | 20 | 4 | 20 |
5 | 18 | 5 | 18 |
6 | 21 | 6 | 21 |
7 | 17 | 7 | 17 |
8 | 11 | 8 | 11 |
9 | 7 | 9 | 7 |
10 | 22 | 10 | 22 |
11 | 31 | 11 | 31 |
12 | 27 | 12 | 27 |
Notar los ceros que se muestran en rojo que son generados debido a que los saldos se acumulan dentro del semestre por lo que para los meses de Enero y Julio no deben realizarse ajustes.
...
Tip | ||
---|---|---|
| ||
mes=Month(FechaParaMensual); |
...
Si bien en este ejemplo se definió el último mes como una constante en la expresión, es posible hacer algo más realista a través de una consulta sobre la tabla de Saldos que devuelva un único registro con la máxima fecha. Esta consulta luego puede convertirse en tabla local para recuperar dicho valor desde el campo virtual.
A modo de ejemplo se anexan unos archivos que ilustran este tip
Archivo | Descripción |
---|---|
Modelo de ejemplo que implementa este Tip de Diseño | |
Cubo construido con datos de ejemplo. Este cubo incluye el Saldo y el Movimiento obtenidos de la fuente de datos, así como el Movimiento calculado a partir del mecanismo indicado en esta página usando los Saldos | |
Fuente de datos para los Saldos. Incluye la columna de Movimientos para poder comparar dicho valor con el calculado con el mecanismo indicado en esta página | |
Fuente auxiliar para ejemplificar el mecanismo de comparación con la última fecha. Este archivo debería reemplazarse por una consulta del estilo | |
Planilla Excel utilizada para generar los datos para este ejemplo |