Nummernbereiche

Eine Zahlenspalte bildet normalerweise einen Balken für jeden Wert, den sie hält – ein Altersdiagramm mit einem Balken für 23, einem weiteren für 24 und so weiter. In Bereiche gruppiert, bildet sie stattdessen einen Balken für jede Spaltenspanne: 20 – 24, 25 – 29, 30 – 34. Setzen GroupByRangeSize Sie (groupByRangeSize in React) für die Balken oder SeriesRangeSize (seriesRangeSize), um jeden Balken in einen Datensatz für jeden Bereich aufzuteilen. Es handelt sich um dieselbe Gruppierung, aus der die Zeilen eines Rasters stammen RangeSize, also bilden ein Diagramm und ein Raster daneben eine Spalte gleichermaßen.

Wie es funktioniert

Dataverse gruppiert ein Aggregat nach einem Wert, niemals nach einem Wertebereich, sodass das Diagramm für jeden Wert – oder jedes Wertepaar, wenn eine Reihe sie aufteilt – nach einer Zeile fragt, und der Server die Zeilen in ihre Bereiche addiert, bevor das Diagramm sie zeichnet. Ein Bereich beginnt mit einem Vielfachen seiner Größe: Bei einer Größe von 5 liegt 23 in 20–24.

  • Keine Lücken. Jeder Bereich vom niedrigsten bis zum höchsten Wert erhält einen Balken, und ein Bereich, in dem kein Datensatz liegt, ist ein Balken von null, sodass die Achse als kontinuierliche Skala gelesen wird. Eine Serie erhält einen Datensatz nur für die Bereiche, in denen ihre Datensätze liegen, mit dem niedrigsten zuerst.
  • Beschriftungen. Eine Spalte mit ganzen Zahlen in ganzzahligen Bereichen ist vom ersten bis zum letzten Wert des Bereichs beschriftet. 20 – 24Eine Spalte mit Dezimalzahlen oder einer Größe mit ihnen liest sich vom Anfang bis unter das Ende, 1.0 to under 1.5, mit so vielen Dezimalstellen, wie die Spalte beibehält. Setzen GroupByFormat Sie oder SeriesFormat um die Enden in einem eigenen Format anzuzeigen, wie zum Beispiel N1.
  • Abbildungen. Eine Zählung oder eine Summe ist die Summe der Werte des Bereichs, ein Minimum oder Maximum der wenigsten oder die meisten davon, und ein Durchschnitt der Gesamtzahl der Spanne geteilt durch die Anzahl – nicht der Durchschnitt jedes Wertes.
  • Welche Spalten. Jede ganze Zahl, Dezimalzahl, Gleitkomma- oder Währungsspalte, in der Tabelle des Diagramms oder in einer zusammengehängten. Die Größe wird für jede andere Spalte ignoriert – die Optionen einer Wahl sind ebenfalls Zahlen, aber keine zum Addieren in Bereiche – und für eine Spalte, die nach Datum gruppiert ist.

Gruppierung der Bars in Ranges

Setzen GroupByRangeSize Sie auf ein AggregateDataverseChartDataSource auf die Größe jedes Bereichs. Die Balken kommen in der Reihenfolge ihrer Bereiche zurück, am niedrigsten zuerst, wobei die Leiste der Schallplatten, die keinen Wert haben, sie anführt.

React Blazor

Kontakte nach Alter

Die Kontakte wurden nach Alter gezählt. Wähle, wie viele Jahre jeder Balken abdeckt, oder einen Balken für jedes Alter. Jede Auswahl erstellt eine neue Datenquelle, und das Diagramm lädt erneut, weil die Quelle nach etwas anderem fragt.

React-Beispiel Blazor-Beispiel React TypeScript Razor
Ein Zeitalter5 Jahre10 Jahre20 Jahre

Eine Serie in Ranges aufteilen

Wenn die Spalte SeriesRangeSize in den Bereichen die Reihe und nicht die Balken ist: Das Diagramm gruppiert seine Balken nach GroupByColumn und teilt jede in einen Datensatz für jeden Bereich von SeriesColumnauf. Gestapelt zeigt jeder Balken, wie sich sein Gesamtwert über die Bereiche verteilt. Beide können gleichzeitig in Bereichen liegen – Alter entlang der Achse, Gehaltsspannen in jedem Balken.

React Blazor

Kontakte nach Geschlecht und Alter

Die Kontakte wurden nach Geschlecht gezählt, jeder Balken nach Altersgruppe gestapelt. Wähle aus, wie viele Jahre jeder Bereich abdeckt; die Legende listet die Bereiche auf, zuerst die niedrigsten.

React-Beispiel Blazor-Beispiel React TypeScript Razor
10 Jahre20 Jahre30 Jahre

Rekorde ohne Wert

Datensätze ohne Wert in der Spalte sind ein eigener Balken, beschriftet (Blank) – oder in einer Serie ein (Blank) Datensatz. Das gilt für jede Gruppierung, nicht nur für Bereiche. Setzen GroupByIncludeBlank Sie sie auf SeriesIncludeBlank false oder lassen Sie sie aus dem Diagramm heraus.

React Blazor

Karten, die an ein Gitter gebunden sind

Ein Diagramm, das ein ViewDataSource mit einem Raster teilt, gruppiert die Bereiche auf die gleiche Weise: Gesetzt RangeSize auf seine Aggregation GroupBy (oder Series). Das Klicken auf eine Leiste markiert dann jede Zeile des Rasters, deren Wert im Bereich dieser Leiste liegt, und das Klicken auf die (Blank) Leiste markiert die Zeilen ohne Wert.

React Blazor

Wie viele Werte ein Diagramm liest

Ein Diagramm in Bereichen liest bis zu 10.000 Wertezeilen – unterschiedliche Werte oder Wertepaare, wenn eine Reihe sie aufteilt. Eines mit mehr zeigt einen Fehler, der dies angibt, statt eines unvollständigen Diagramms. Stellen Sie im Start des Hosts so ein, RangeGroupingOptions.MaximumRangedValues dass dieses Limit für jedes Raster und jedes Diagramm im Portal geändert wird. Ein Diagramm kann mit (maximumRangedValues) eine eigene MaximumRangedValues untere Grenze verlangen; eine, die mehr verlangt als die des Portals, wird an die des Portals gebunden.

React Blazor

Dataverse gibt höchstens 5.000 Zeilen an eine Abfrage zurück, sodass nach 4.999 Zeilen jeweils 5.000 Zeilen gelesen werden. Das Anheben des Limits hat folgende Kosten für jedes Raster oder Diagramm, dessen Spalte so viele Werte hat:

  • Anfragen. Jede Seite ist eine Anfrage gegen die Dataverse-API-Berechtigung des Portals, und Dataverse berechnet für jede einzelne die gesamte Aggregate erneut: 20.000 Werte ergeben vier Anfragen, jeweils über jeden Datensatz, mit dem das Diagramm übereinstimmt.
  • Zeit. Die Seiten werden nacheinander gelesen, sodass das Diagramm etwa eine Seite länger braucht, um für jede Seite zu erscheinen.
  • Speicher. Die Zeilen werden im Speicher des Servers gespeichert, während sie addiert werden – jeweils ein paar hundert Bytes, also Dutzende Megabyte bei ein paar hunderttausend.
  • Das Datensatzlimit von Dataverse. Dataverse weigert sich weiterhin ein Aggregat, das mehr als 50.000 Datensätze liest, unabhängig vom Limit. Ein Diagramm kann eine solche Abfrage mit SplitOverRecordLimitaufteilen, was die Anfragen erneut multipliziert.

Eine Spalte mit so vielen Werten ist oft besser in größere Bereiche gruppiert, die dieselben Zeilen liest, aber weniger Balken zeichnet, oder zuerst gefiltert, was weniger Zeilen liest.

Siehe auch