Objective
The objective of automatic ranking is to improve the response time that the user experiences, by providing a partial view of the data, in order to remain within certain defined limits.
This is accomplished by executing a set of predefined rankings on the dimensions involved in the analysis. It is possible to specify a filter for each dimension in the axes to reduce the number of elements involved.
When O3 detects that an axis will hold more than the predefined number of elements (specified in rows and columns with the properties o3.client.maxXSize and o3.client.maxYSize), O3 Server automatically applies rankings on the dimensions in the axes.
The model can specify, for each dimension, whether this ranking will be activated or not, as well as the number of elements to display.
All four construction modes (See Construction Modes) allow the specification of this Ranking criteria.
Configuring the Automatic Ranking
Cuando se detecta que un eje va a exceder el límite predefinido, el servidor impone rankings en las dimensiones que estén incluídas en ese eje, los rankings se imponen considerando las dimensiones en el siguiente orden:
- Si el usuario definió un ranking para alguna de las dimensiones, se considera esta primero (actualmente el usuario puede definir un ranking solo para una dimension a la vez).
- Luego se consideran las dimensiones en el orden inverso a la anidacion, es decir las que estan más "adentro" en la anidación se consideran antes.
El orden en que son consideradas las dimensiones es importante porque en dicho orden se intenta mantener el "preferred size" definido para la dimension (el "preferred size" es el filtro estipulado por el usuario en el ranking definido en el browser/portal o en el designer).
Los rankings automáticos se activan en el menú Explorar del O3Browser o en el menú Opciones del O3Portal, por defecto están deshabilitados y se pueden forzar con la property o3.force.restrictions.ranking=true en GServer_custom.properties.
Actualmente solo se soportan rankings en uno de los ejes a la vez, es decir que no se pueden ejecutar rankings tanto en las filas como en las columnas. Esto implica que si ambos ejes son más grandes que el límite, sólo uno de ellos será restringido por rankings automáticos.
Existe la posibilidad de mostrar los elementos filtrados por el ranking como un elemento más, que aparece como "Otros", y cuyo valor es la suma de los elementos que el ranking filtró.
Así, por ejemplo, si hay un ranking por países que muestra los mayores 10 elementos de la medida por país (por ejemplo, los 10 países donde las ventas fueron más altas), va a aparecer un décimoprimer elemento "Otros" cuyo valor es la suma de las ventas del resto de los países, mostrando así el peso relativo de esas ventas en el total.
Example:
Se tiene dos dimensiones: Paises con 219 elementos y Productos con 98.
- Al anidar Productos bajo Paises el tamaño del eje es 21462 que excede el límite en el modo análisis (2500) por lo tanto se aplica el siguiente ranking: los primeros 25 Paises. Se aplica en Paises porque es la dimension que esta más "afuera" en la anidación.
- Si Paises tuviera un ranking especificado en el modelo que indica mostrar los primeros 10, entonces el anidamiento anterior no aplicaria ningun ranking extra, dejaria los primeros 10 Paises y los 98 Productos.
- Si tanto Paises como Productos tuvieran ranking especificado en el modelo, se aplicará este orden si es que se excede el tamaño, reduciendo la cantidad de elementos de la dimensión de mas afuera.