config
Beschreibung
Optional. Definiert die Struktur der Pivot-Tabelle und die Art der Datenaggregation
Verwendung
config?: {
rows?: string | {field: string, method?: string}[],
columns?: string | {field: string, method?: string}[],
values?: string | {field: string, method?: string}[],
filters?: {}
};
Parameter
Die config-Parameter legen fest, welche Felder als Zeilen und Spalten verwendet werden und welche zusätzlichen Datenaggregationsmethoden auf Zeilen/Spalten angewendet werden sollen.
rows- (optional) definiert die Zeilen der Pivot-Tabelle. Der Standardwert ist ein leeres Array. Es kann ein String sein, der eine einzelne Feld-ID repräsentiert, oder ein Objekt mit der Feld-ID und einer Methode zur Datenextraktion; die Objektparameter sind folgende:field- (erforderlich) die ID eines Feldesmethod- (optional) definiert eine Methode zur Datenaggregation im Feld; Methoden für zeitbasierte Datenfelder sind standardmäßig verfügbar: "year", "quarter", "month", "week", "day", "hour", "minute", die Daten entsprechend gruppieren; hier können Sie auch den Namen einer benutzerdefinierten Methode angeben (siehepredicates) für Felder beliebiger Datentypen
columns- (optional) definiert Spalten für die Pivot-Tabelle. Standardmäßig ist es ein leeres Array. Es kann eine einzelne Feld-ID oder ein Objekt mit der Feld-ID und einer Methode zur Datenextraktion sein; die Objektparameter sind folgende:field- (erforderlich) die ID eines Feldesmethod- (optional) definiert eine Methode zur Datenverarbeitung (für zeitbasierte Datenfelder). Standardmäßig sind Methoden für zeitbasierte Felder (Typ date) mit folgenden Werten verfügbar: "year", "quarter", "month", "week", "day", "hour", "minute". Hier können Sie auch den Namen einer benutzerdefinierten Methode angeben (siehepredicates) für Felder beliebiger Datentypen
values- (optional) definiert die Datenaggregation für die Zellen der Pivot-Tabelle. Standardmäßig ist es ein leeres Array. Jedes Element kann ein String sein, der eine Datenfeld-ID und eine Aggregationsmethode repräsentiert, oder ein Objekt, das die Feld-ID und die Methode zur Datenaggregation enthält. Die Objektparameter sind folgende:field- (erforderlich) die ID eines Feldesmethod- (erforderlich) definiert eine Methode zur Datenextraktion; Informationen zu Methodentypen und deren Beschreibung finden Sie unter Methoden anwenden
Optionen zur Definition von Werten
Sie können values auf eine von zwei gleichwertigen Arten definieren:
- Option 1 ist ein String, der die Feld-ID repräsentiert
- Option 2 ist ein Objekt, das die Feld-ID und die Methode zur Datenaggregation enthält
Beispiel
values: [
"sum(sales)", // Option 1
{ field: "sales", method: "sum" }, // Option 2
]
filters- (optional) legt fest, wie Daten in der Tabelle gefiltert werden; es ist ein Objekt mit Feld-IDs und einer Filterregel. Der Standardwert ist ein leeres Objekt. Die Objektparameter sind folgende:field- (optional) der Filterschlüssel, der die ID eines Feldes oder ein Array von IDs mit den Filterkriterien ist:equal- (optional) akzeptiert Zahlen, Strings und DatumswertenotEqual- (optional) akzeptiert Zahlen, Strings und Datumswertegreater- (optional) akzeptiert Zahlen und DatumswertegreaterOrEqual- (optional) akzeptiert Zahlen und Datumswerteless- (optional) akzeptiert Zahlen und DatumswertelessOrEqual- akzeptiert Zahlen und Datumswertebetween- ein Objekt mit folgenden Parametern:start- Dateend- Date
notBetween- ein Objekt mit folgenden Parametern:start- Dateend- Date
contains- akzeptiert Strings und ZahlennotContains- akzeptiert Strings und ZahlenbeginsWith- akzeptiert Strings und ZahlennotBeginsWith- akzeptiert Strings und ZahlenendsWith- akzeptiert Strings und ZahlennotEndsWith- akzeptiert Strings und Zahlenincludes- (optional) ein Array von Werten, die aus den bereits gefilterten angezeigt werden sollen; verfügbar für Text- und Datumswerte
Info
Wenn die Konfiguration von Pivot verarbeitet wird, erhalten ihre Eigenschaften zusätzliche Daten. Wenn Sie den Konfigurationszustand über die Methode api.getState() abrufen, sieht das vollständige Objekt wie folgt aus:
interface IParsedField {
id: string,
field: string,
method: string | null,
area: 'rows'|'columns'|'values',
base?: string,
label: string,
type: 'number'|'date'|'text'
}
interface IParsedConfig {
rows: IParsedField[],
columns: IParsedField[],
values: IParsedField[],
filters: {
[field: string]: number | string | [] |
{ [operation: string]: number | string | [] | { start:Date, end: Date} }
}
}
Parameter:
id- eine eindeutige ID des verarbeiteten Feldesfield- ein Feldnamemethod- der für die Aggregation verwendete Operationsname. Eine Methode ist bei Zeilen und Spalten optional; wenn angegeben, wirkt sie als Prädikat und legt fest, wie die Felddaten vor der Aggregation vorverarbeitet werden. Bei Werten ist die Methode ein Pflichtparameter.area- der Bereich, dem das Feld hinzugefügt wirdbase- wird in Spalten und Zeilen für Felder mit einem Prädikat verwendet. Definiert den ursprünglichen Feldnamen, während der Feldname nach dem Muster "field_by_predicate" gebildet wirdlabel- Text-Labeltype- Datentyp
Beispiel
const table = new pivot.Pivot("#root", {
fields,
data: dataset,
config: {
rows: ["studio", "genre"],
values: [
{
field: "title",
method: "count"
},
{
field: "score",
method: "max"
}
],
filters: {
genre: {
contains: "D",
includes: ["Drama"]
},
title: {
// Filter für ein weiteres Feld ("title")
contains: "A"
}
}
}
});