Rank - función de gráfico
Rank() evalúa las filas del gráfico en la expresión, y para cada fila muestra la posición relativa del valor de la dimensión evaluada en la expresión. Esta función, cuando evalúa la expresión, compara el resultado con el resultado de las otras filas que contienen el segmento de columna actual y devuelve la clasificación de la fila actual dentro del segmento.
Para gráficos que no sean tablas, se define el segmento de columna actual tal como aparece en su equivalente en la tabla simple.
Syntax:
Rank([TOTAL] expr[, mode[, fmt]])
Return data type: dual
Arguments:
Argumento | Descripción |
---|---|
expr | La expresión o el campo que contiene los datos que se han de medir. |
mode | Especifica la representación numérica del resultado de la función. |
fmt | Especifica la representación de texto del resultado de la función. |
TOTAL |
Si el gráfico es unidimensional o si la expresión va precedida por el cualificador TOTAL, la función se evalúa en toda la columna. Si la tabla o el equivalente de tabla tiene múltiples dimensiones verticales, el segmento de columna actual incluirá sólo filas con los mismos valores que la fila actual en todas las columnas de dimensión, excepto para la columna que muestra la última dimensión en el orden de campos interno. |
El ranking se devuelve como un valor dual, el cual, en el caso de que cada fila tenga una clasificación única será un entero entre 1 y el número de filas del segmento de columna actual.
En caso de que varias filas compartan el mismo ranking, el texto y la representación numérica se pueden controlar con los parámetros mode y fmt.
mode
El segundo argumento, mode, puede tomar los siguientes valores:
Valor | Descripción |
---|---|
0 (por defecto) |
Si todos los rangos dentro del grupo compartido caen dentro del extremo más bajo del valor de en medio del ranking entero, todas las filas reciben el rango menor dentro del grupo compartido. Si todos los rangos dentro del grupo compartido caen dentro del extremo más alto del valor de en medio del ranking entero, todas las filas reciben el rango menor dentro del grupo compartido. Si todos los rangos dentro del grupo compartido se salen del valor central del ranking completo, todas las filas reciben el valor correspondiente a la media del ranking superior e inferior en el segmento de columna completo. |
1 | Rango más bajo en todas las filas. |
2 | Rango promedio en todas las filas. |
3 | Rango más alto en todas las filas. |
4 | Rango más bajo en la primera fila, incrementado por uno para cada fila. |
fmt
El tercer argumento, fmt, puede tomar los siguientes valores:
Valor | Descripción |
---|---|
0 (por defecto) | Valor bajo - valor alto en todas las filas (por ejemplo 3 - 4). |
1 | Valor bajo en todas las filas. |
2 | Valor más bajo en la primera fila, espacio en blanco en las siguientes filas. |
El orden de las filas para mode 4 y fmt 2 viene determinado por el orden de clasificación de las dimensiones del gráfico.
Examples and results:
Cree dos visualizaciones a partir de las dimensiones
Ejemplos | Resultados |
---|---|
Ejemplo 1. Cree una tabla con las dimensiones |
El resultado depende del orden de las dimensiones. Si la tabla se ordena por Si la tabla se ordena por |
Ejemplo 2. Reemplace la dimensión Cliente por Producto y agregue la medida |
Esto devuelve 1 en la primera fila en cada segmento de columna y deja en blanco todas las demás filas, porque los argumentos |
Resultados para el ejemplo 1, con tabla ordenada por
Customer | Sales | Rank(Sales) |
---|---|---|
Astrida | 12 | 10 |
Astrida | 13 | 9 |
Astrida | 20 | 8 |
Astrida | 22 | 7 |
Astrida | 45 | 6 |
Astrida | 46 | 5 |
Astrida | 60 | 4 |
Astrida | 65 | 3 |
Astrida | 70 | 2 |
Astrida | 78 | 1 |
Betcab | 12 | 11 |
Resultados para el ejemplo 1, con tabla ordenada por
Customer | Sales | Rank(Sales) |
---|---|---|
Astrida | 12 | 1-2 |
Betacab | 12 | 1-2 |
Astrida | 13 | 1 |
Betacab | 15 | 1 |
Astrida | 20 | 1 |
Astrida | 22 | 1-2 |
Betacab | 22 | 1-2 |
Betacab | 24 | 1-2 |
Canutility | 24 | 1-2 |
Datos utilizados en los ejemplos:
ProductData:
Load * inline [
Customer|Product|UnitSales|UnitPrice
Astrida|AA|4|16
Astrida|AA|10|15
Astrida|BB|9|9
Betacab|BB|5|10
Betacab|CC|2|20
Betacab|DD|0|25
Canutility|AA|8|15
Canutility|CC|0|19
] (delimiter is '|');
Sales2013:
crosstable (Month, Sales) LOAD * inline [
Customer|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
Astrida|46|60|70|13|78|20|45|65|78|12|78|22
Betacab|65|56|22|79|12|56|45|24|32|78|55|15
Canutility|77|68|34|91|24|68|57|36|44|90|67|27
Divadip|57|36|44|90|67|27|57|68|47|90|80|94
] (delimiter is '|');