Faixas numéricas

Uma coluna numérica geralmente forma uma barra para cada valor que contém — um gráfico de idade com uma barra para 23, outra para 24 e assim por diante. Agrupado em intervalos, ele forma uma barra para cada faixa da coluna: 20 – 24, 25 – 29, 30 – 34. Define GroupByRangeSize (groupByRangeSize no React) para as barras, ou SeriesRangeSize (seriesRangeSize) para dividir cada barra em um conjunto de dados para cada intervalo. É o mesmo agrupamento que as linhas de uma grade recebem de RangeSize, então um gráfico e uma grade ao lado agrupam uma coluna igualmente.

Como Funciona

O Dataverse agrupa um agregado por um valor, nunca por um intervalo de valores, então o gráfico pede uma linha para cada valor — ou cada par de valores, quando uma série os divide — e o servidor soma as linhas em seus intervalos antes que o gráfico as desenhe. Um intervalo começa em múltiplo do seu tamanho: com tamanho 5, 23 cai em 20 – 24.

  • Sem lacunas. Cada intervalo do menor ao maior recebe uma barra, e um intervalo em que nenhum registro cai é uma barra de zero, então o eixo é uma escala contínua. Uma série recebe um conjunto de dados apenas para os intervalos em que seus registros se encaixam, primeiro o menor.
  • Rótulos. Uma coluna de números inteiros em intervalos de números inteiros é rotulada do primeiro valor do intervalo até o último, 20 – 24. Uma coluna com decimais, ou um tamanho com eles, lê-se do início até abaixo do final, 1.0 to under 1.5, com tantos decimais quanto a coluna manter. Defina GroupByFormat ou SeriesFormat para mostrar os finais em um formato próprio, como N1.
  • Números. Uma contagem ou total é a soma dos valores do intervalo, um mínimo ou máximo o menor ou a maioria deles, e uma média do total do intervalo dividido pela contagem — não a média da média de cada valor.
  • Quais colunas. Qualquer número inteiro, decimal, ponto flutuante ou coluna de moeda, na tabela do gráfico ou em uma coluna unida. O tamanho é ignorado para qualquer outra coluna — as opções de uma escolha também são números, mas não as que devem somar em intervalos — e para uma coluna agrupada por data.

Agrupamento das barras em faixas de tiro

Ajustado GroupByRangeSize em e AggregateDataverseChartDataSource ao tamanho de cada faixa. As barras voltam na ordem de seus alcances, mais baixas primeiro, com a barra dos discos sem valor liderando-as.

React Blazor

Contatos por Idade

Os contatos contados pela idade. Escolha quantos anos cada barra cobre, ou uma barra para cada idade. Cada escolha constrói uma nova fonte de dados, e o gráfico carrega novamente porque a fonte pede outra coisa.

Exemplo de reação Exemplo de Blazor React TypeScript Razor
Uma era5 anos10 anos20 anos

Divisão de uma Série em Intervalos

Definido SeriesRangeSize quando a coluna em intervalos é a série em vez das barras: o gráfico agrupa suas barras por GroupByColumn e divide cada uma em um conjunto de dados para cada faixa de SeriesColumn. Empilhadas, cada barra mostra como seu total se divide entre os intervalos. Ambas podem estar em intervalos ao mesmo tempo — idade ao longo do eixo, faixas salariais empilhadas em cada barra.

React Blazor

Contatos por Gênero e Idade

Os contatos contados por gênero, cada barra empilhada por faixa etária. Escolha quantos anos cada faixa cobre; a legenda lista os intervalos, o menor primeiro.

Exemplo de reação Exemplo de Blazor React TypeScript Razor
10 anos20 anos30 anos

Discos sem valor

Registros sem valor na coluna são uma barra própria, rotulada (Blank) — ou, em uma série, um (Blank) conjunto de dados. Isso vale para qualquer agrupamento, não apenas para intervalos. Definir GroupByIncludeBlank ou SeriesIncludeBlank para false deixá-los fora do gráfico.

React Blazor

Cartas Vinculadas a uma Grade

Um gráfico que compartilha a ViewDataSource com uma grade agrupa em intervalos da mesma forma: definido RangeSize em suas agregações GroupBy (ou Series). Clicando em uma barra destaca cada linha da grade cujo valor está no intervalo daquela barra, e clicando na (Blank) barra destaca as linhas sem valor.

React Blazor

Quantos valores um gráfico mostra

Um gráfico em intervalos lê até 10.000 linhas de valores — valores distintos, ou pares de valores quando uma série os divide. Um com mais valores mostra um erro dizendo isso, em vez de um gráfico incompleto. Configurado RangeGroupingOptions.MaximumRangedValues na inicialização do host para alterar esse limite para cada grade e gráfico no portal. Um gráfico pode pedir um limite inferior próprio com MaximumRangedValues (maximumRangedValues); um que peça mais do que o do portal é mantido no do portal.

React Blazor

O Dataverse retorna no máximo 5.000 linhas por consulta, então após 4.999 os valores são lidos em 5.000 de cada vez. Aumentar o limite tem esses custos para cada grade ou gráfico cuja coluna tenha esse número de valores:

  • Solicitações. Cada página é uma solicitação contra a permissão da API do Dataverse do portal, e o Dataverse calcula todo o agregado novamente para cada uma: 20.000 valores são quatro requisições, cada uma para cada registro que o gráfico corresponde.
  • Tempo. As páginas são lidas uma após a outra, então o gráfico demora cerca de uma página a mais para aparecer em cada página.
  • Memória. As linhas ficam armazenadas na memória do servidor enquanto são somadas — algumas centenas de bytes cada, então dezenas de megabytes a algumas centenas de milhares.
  • Limite de registros do Dataverse. O Dataverse ainda recusa um agregado que leia mais de 50.000 registros, seja qual for o limite. Um gráfico pode dividir tal consulta com SplitOverRecordLimit, o que multiplica novamente as solicitações.

Uma coluna com tantos valores geralmente é melhor agrupada em intervalos maiores, que lê as mesmas linhas mas desenha menos barras, ou filtrada primeiro, que lê menos linhas.

Veja também