Rangos numéricos

Una columna numérica suele crear una barra para cada valor que contiene — una tabla de edades con una barra para 23, otra para 24, y así sucesivamente. Agrupada en rangos, forma una barra para cada tramo de la columna en su lugar: 20 – 24, 25 – 29, 30 – 34. Establece GroupByRangeSize (groupByRangeSize en React) para las barras, o SeriesRangeSize (seriesRangeSize) para dividir cada barra en un conjunto de datos para cada rango. Es el mismo agrupamiento que obtienen las filas de una cuadrícula de RangeSize, por lo que un gráfico y una cuadrícula junto agrupan una columna por igual.

Cómo funciona

Dataverse agrupa un agregado por un valor, nunca por un rango de valores, así que el gráfico pide una fila para cada valor — o cada par de valores, cuando una serie los divide — y el servidor suma las filas en sus rangos antes de que el gráfico las dibuje. Un rango comienza en un múltiplo de su tamaño: con un tamaño de 5, 23 cae en 20 – 24.

  • No hay huecos. Cada rango desde el valor más bajo hasta el más alto tiene una barra, y un rango en el que no cae ningún registro es una barra de cero, así que el eje se lee como una escala continua. Una serie recibe un conjunto de datos solo para los rangos en los que se encuentran sus registros, primero el más bajo.
  • Etiquetas. Una columna de números enteros en rangos enteros se etiqueta desde el primer valor hasta el último, 20 – 24. Una columna con decimales, o un tamaño con ellos, se lee desde el principio hasta debajo del final, 1.0 to under 1.5, con tantos decimales como la columna conserve. Establece GroupByFormat o SeriesFormat para mostrar los extremos en un formato propio, como N1.
  • Cifras. Un recuento o total es la suma de los valores del rango, un mínimo o máximo el mínimo o la mayoría, y un promedio el total del rango dividido por su recuento — no el promedio del promedio de cada valor.
  • ¿Qué columnas? Cualquier número entero, decimal, coma flotante o columna de moneda, en la tabla del gráfico o en una unida. El tamaño se ignora para cualquier otra columna — las opciones de una elección también son números, pero no las que se suman en rangos — y para una columna agrupada por fecha.

Agrupación de barras en cordilleros

Ajusta GroupByRangeSize en y AggregateDataverseChartDataSource al tamaño de cada rango. Las barras vuelven en orden de sus rangos, primero la más baja, con la barra de los discos que no tienen valor liderándolas.

React Blazor

Contactos por edad

Los contactos contados por edad. Elige cuántos años cubre cada barra, o una barra para cada edad. Cada selección construye una nueva fuente de datos, y el gráfico carga de nuevo porque su fuente pide otra cosa.

Ejemplo de reacción Ejemplo de Blazor React TypeScript Razor
Una época5 años10 años20 años

División de una serie en rangos

Establezca SeriesRangeSize cuando la columna en rangos es la serie en lugar de las barras: el gráfico agrupa sus barras por GroupByColumn y divide cada una en un conjunto de datos para cada rango de SeriesColumn. Apilada, cada barra muestra cómo se divide su total entre los rangos. Ambas pueden estar en rangos a la vez: edad a lo largo del eje, rangos salariales apilados en cada barra.

React Blazor

Contactos por género y edad

Los contactos contados por género, cada barra apilada por rango de edad. Elige cuántos años cubre cada rango; la leyenda enumera los rangos, primero el más bajo.

Ejemplo de reacción Ejemplo de Blazor React TypeScript Razor
10 años20 años30 años

Discos sin valor

Los registros sin valor en la columna son una barra propia, etiquetada (Blank) — o en una serie, un (Blank) conjunto de datos. Eso se cumple para cualquier agrupación, no solo para rangos. Establecer GroupByIncludeBlank o SeriesIncludeBlank para false dejarlos fuera del gráfico.

React Blazor

Cartas encuadernadas a una cuadrícula

Un gráfico que comparte a ViewDataSource con una cuadrícula agrupa en rangos de la misma manera: establecido RangeSize en sus agregaciones GroupBy (o Series). Al hacer clic en una barra, se resalta cada fila de la cuadrícula cuyo valor está en el rango de esa barra, y al hacer clic en la (Blank) barra se resalta las filas sin valor.

React Blazor

Cuántos valores muestra un gráfico

Un gráfico en rangos lee hasta 10.000 filas de valores — valores distintos, o pares de valores cuando una serie los separa. Uno con más valores muestra un error que lo indica en lugar de un gráfico incompleto. Configura RangeGroupingOptions.MaximumRangedValues en el inicio del host para cambiar ese límite para cada cuadrícula y gráfico en el portal. Un gráfico puede pedir un límite inferior propio con MaximumRangedValues (maximumRangedValues); uno que pida más que el del portal se mantiene en el del portal.

React Blazor

Dataverse devuelve como máximo 5.000 filas a una consulta, así que después de 4.999 los valores se leen 5.000 a la vez. Aumentar el límite tiene estos costes para cada cuadrícula o gráfico cuya columna tenga ese número de valores:

  • Solicitudes. Cada página es una petición contra la asignación de la API de Dataverse del portal, y Dataverse calcula todo el agregado de nuevo para cada una: 20.000 valores son cuatro solicitudes, cada una sobre cada registro que coincide el gráfico.
  • Tiempo. Las páginas se leen una tras otra, por lo que el gráfico tarda aproximadamente una página más en aparecer en cada página.
  • Memoria. Las filas se almacenan en la memoria del servidor mientras se suman — unos cientos de bytes cada una, así que decenas de megabytes a unos cientos de miles.
  • Límite de registros de Dataverse. Dataverse sigue rechazando un agregado que lea más de 50.000 registros, sea cual sea el límite. Un gráfico puede separar dicha consulta con SplitOverRecordLimit, lo que multiplica de nuevo las solicitudes.

Una columna con tantos valores suele agruparse mejor en rangos más grandes, que lee las mismas filas pero dibuja menos barras, o filtrada primero, que lee menos filas.

Véase también