Plages de numéros

Une colonne numérique forme généralement une barre pour chaque valeur qu’elle contient — un tableau d’âge avec une barre pour 23, une autre pour 24, et ainsi de suite. Regroupé en plages, il produit une barre pour chaque portée de la colonne : 20 – 24, 25 – 29, 30 – 34. Définissez GroupByRangeSize (groupByRangeSize dans React) pour les barres, ou SeriesRangeSize (seriesRangeSize) pour diviser chaque barre en un jeu de données pour chaque plage. C’est le même regroupement que les lignes d’une grille obtiennent de RangeSize, donc un graphique et une grille à côté regroupent une colonne de la même façon.

Comment ça fonctionne

Dataverse regroupe un agrégat par une valeur, jamais par une plage de valeurs, donc le graphique demande une ligne pour chaque valeur — ou chaque paire de valeurs, lorsqu’une série les sépare — et le serveur additionne les lignes dans leurs plages avant que le graphique ne les dessine. Une plage commence à un multiple de sa taille : avec une taille de 5, 23 se divise en 20 – 24.

  • Pas de trous. Chaque plage des valeurs les plus basses à la plus haute reçoit une barre, et une plage dans laquelle aucun enregistrement ne tombe est une barre de zéro, donc l’axe se lit comme une échelle continue. Une série ne reçoit un jeu de données que pour les plages dans lesquelles ses enregistrements se situent, la plus basse en premier.
  • Étiquettes. Une colonne de nombres entiers dans des plages de nombres entiers est étiquetée de la première à la dernière valeur de la plage, 20 – 24. Une colonne avec des décimales, ou une taille avec celles-ci, se lit du début à la fin, 1.0 to under 1.5, avec autant de décimales que la colonne en conserve. Placez GroupByFormat ou SeriesFormat pour afficher les extrémités dans un format qui vous est propre, tel que N1.
  • Des chiffres. Un comptage ou un total est la somme des valeurs de la plage, un minimum ou un maximum le minimum ou la plupart, et une moyenne est le total de la plage divisé par son nombre — et non la moyenne de la moyenne de chaque valeur.
  • Quelles colonnes. Tout nombre entier, décimal, virgule flottante ou colonne de monnaie, sur le tableau du graphique ou une colonne jointe. La taille est ignorée pour toute autre colonne — les options d’un choix sont aussi des chiffres, mais pas celles à additionner en plages — et pour une colonne regroupée par date.

Regroupement des barres en chaînes

Fixez GroupByRangeSize sur an AggregateDataverseChartDataSource à la taille de chaque plage. Les barres reviennent dans l’ordre de leur plage, la plus basse en premier, avec la barre des disques sans valeur en tête.

React Blazor

Contacts par âge

Les contacts comptabilisés par âge. Choisissez le nombre d’années couvert par chaque barre, ou une barre pour chaque âge. Chaque choix construit une nouvelle source de données, et le graphique se charge à nouveau car sa source demande autre chose.

Exemple de réaction Exemple de Blazor React TypeScript Razor
Un seul âge5 ans10 ans20 ans

Séparer une série en gammes

Définissez SeriesRangeSize lorsque la colonne dans les plages est la série plutôt que les barres : le graphique regroupe ses barres par GroupByColumn et divise chacune en un jeu de données pour chaque plage de SeriesColumn. Empilée, chaque barre montre comment son total se divise entre les plages. Les deux peuvent être dans des plages en même temps — l’âge selon l’axe, les fourchettes de salaire empilées dans chaque barre.

React Blazor

Contacts par genre et âge

Les contacts comptabilisés par sexe, chaque barre empilée par tranche d’âge. Choisissez le nombre d’années couvert par chaque plage ; la légende liste les plages, les plus bas en premier.

Exemple de réaction Exemple de Blazor React TypeScript Razor
10 ans20 ans30 ans

Des disques sans valeur

Les enregistrements sans valeur dans la colonne sont une barre à part entière, étiquetée (Blank) — ou dans une série, un (Blank) jeu de données. Cela s’applique à tout groupement, pas seulement aux plages. Définissez GroupByIncludeBlank ou SeriesIncludeBlank à false pour les exclure du tableau.

React Blazor

Cartes reliées à une grille

Un graphique qui partage a ViewDataSource avec une grille regroupe les plages de la même manière : défini RangeSize sur ses agrégations GroupBy (ou Series). Cliquer sur une barre met alors en surbrille chaque ligne de la grille dont la valeur se trouve dans l’intervalle de cette barre, et cliquer sur la (Blank) barre met en évidence les lignes sans valeur.

React Blazor

Combien de valeurs affiche un graphique

Un graphique dans les plages affiche jusqu’à 10 000 lignes de valeurs — des valeurs distinctes, ou des paires de valeurs lorsqu’une série les sépare. Un graphique avec plus de valeurs affiche une erreur indiquant cela plutôt qu’un graphique incomplet. Configurez RangeGroupingOptions.MaximumRangedValues dans le démarrage de l’hôte pour modifier cette limite pour chaque grille et graphique dans le portail. Un graphique peut demander une limite inférieure avec MaximumRangedValues (maximumRangedValues) ; celle qui demande plus que celle du portail est tenue à celle du portail.

React Blazor

Dataverse renvoie au maximum 5 000 lignes par requête, donc après 4 999 les valeurs sont lues 5 000 à la fois. Augmenter la limite comporte ces coûts pour chaque grille ou graphique dont la colonne contient autant de valeurs :

  • Requêtes. Chaque page est une requête contre l’allocation API Dataverse du portail, et Dataverse calcule à nouveau l’ensemble de l’agrégat pour chacune : 20 000 valeurs correspondent à quatre requêtes, chacune sur chaque enregistrement correspondant au graphique.
  • Temps. Les pages sont lues les unes après les autres, donc le tableau met environ une page de plus à apparaître pour chaque page.
  • Mémoire. Les lignes sont conservées dans la mémoire du serveur pendant leur additionnement — quelques centaines d’octets chacune, donc des dizaines de mégaoctets pour quelques centaines de milliers.
  • Limite d’enregistrement de Dataverse. Dataverse refuse toujours un agrégat qui lit plus de 50 000 enregistrements, quelle que soit la limite. Un graphique peut diviser une telle requête par SplitOverRecordLimit, ce qui multiplie à nouveau les requêtes.

Une colonne avec autant de valeurs est souvent mieux regroupée dans des plages plus grandes, qui lit les mêmes lignes mais en dessine moins de barres, ou filtrée en premier, qui lit moins de lignes.

Voir aussi