Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Excerpt

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.

No Format
Prom(["Litros Vendidos",root.range(0,currentLeaf())])
{noformat}

!O3Browser-RangosExpresiones01.png|align=center!


h3. Otros ejemplos

Pueden especificarse otros valores para los límites del rango:

|| Ejemplo || Descripción ||
| {code}

Image Added

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:

Code Block

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

Code Block
["Litros Vendidos", root.range(1, currentLeaf())]

...

Evita la primer fila

Code Block
["Litros Vendidos", root.range(0, currentLeaf() - 1)]

...

Incluye desde la primer fila hasta la fila anterior a la actual

Code Block
["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

Code Block
["Litros Vendidos", root.range(currentLeaf())]

...

Especifica el rango desde la fila actual (inclusive)

...

hasta

...

el

...

final

Code Block
size=@Cant_i(1); Valor(size - 1)

Especifica la última fila