Rangos en expresiones
Esta funcionalidad introducida en la versión 5.4 permite referenciar, en las expresiones de la grilla de O3 Performance Suite, subrangos de los datos recorridos por las direcciones.
Ejemplo 1
Se presenta la necesidad de conocer el promedio transcurrido de ventas de los últimos 12 meses, se aplica para ello el agregar una columna calculada Promedio Ventas.
Prom(["Litros Vendidos",root.range(0,currentLeaf())])
Ejemplo 2
Se requiere hacer el siguiente cálculo C:
Products |
Units Sold |
Discount |
C |
---|---|---|---|
Prod1 |
A1 |
B1 |
C1=AVG(A1) |
Prod2 |
A2 |
B2 |
C2=AVG(A1:A2) |
Prod3 |
A3 |
B3 |
C3=AVG(A1:A3) |
Es decir que en cada celda C se promedia los valores de la columna "Units Sold" hasta la fila actual inclusive.
Solución
Con el nuevo soporte de rangos la expresión C puede definirse como:
Avg(["Units Sold", root.range(0, currentLeaf())])
Notar que para el cálculo de C se están recorriendo los valores del otro eje (las columnas en este caso), los cálculos normalmente recorrerían en este caso la misma fila, es por eso que el operador range se utiliza en la segunda especificación de la dirección, también por eso se utiliza el término root para referirse a la columna completa (sino se referiría solamente a la fila actual).
Otros ejemplos
Pueden especificarse otros valores para los límites del rango:
Ejemplo |
Descripción |
---|---|
["Litros Vendidos", root.range(1, currentLeaf())] |
Evita la primer fila |
["Litros Vendidos", root.range(0, currentLeaf() - 1)] |
Incluye desde la primer fila hasta la fila anterior a la actual |
["Litros Vendidos", root.range(1)] |
El segundo argumento del operador range es opcional, en este caso se especifica el rango desde la segunda fila inclusive hasta el final |
["Litros Vendidos", root.range(currentLeaf())] |
Especifica el rango desde la fila actual (inclusive) hasta el final |
size=@Cant_i(1); Valor(size - 1) |
Especifica la última fila |