Abfrageeditor für Datenquellen
Erstellen Sie Datenquellenabfragen für Tabellen- und Diagramm-Widgets, um bestimmte Daten aus einer Datenbank auszuwählen. Abfragen werden in Form eines Datenbankfelds erstellt, gefolgt vom =
-Zeichen und einem Operator , einer Zahl oder einer Zeichenfolge:
database_string=my string database_number=1234 database_numger=BETWEEN(3, 6)
Die Abfragen können durch spezifischen JavaScript-Code angereichert werden:
Zeit- und Datumsberechnung mit momentjs
Operatoren
Operator | Beschreibung |
---|---|
| Bereich vom Start- bis zum Endwert. Start- und Endwerte sind durch Komma getrennt |
| Durch Kommas getrennte Liste von Zahlen oder Zeichenfolgen zum Vergleichen |
| Größer als der Wert |
| Niedriger als der Wert |
| Negation eines Ausdrucks |
| Liste mit durch Kommas getrennten Ausdrücken. Alle müssen erfüllt sein |
| Liste mit durch Kommas getrennten Ausdrücken. Mindestens einer muss erfüllt sein |
| Überprüft, ob ein Wert NULL ist |
Beispiele
Wählen Sie alle Datensätze mit einem Gehalt über 40000 aus:
salary=GT(40000)
Wählen Sie alle Datensätze mit anderen Namen als James , John und Joe aus:
name=NOT(IN(James%2CJohn%2CJoe))
Wählen Sie alle Datensätze mit einer Kunden-ID ungleich NULL aus:
customerId=NOT(NULL())
Kommas in Argumenten sollten maskiert werden:
.
-> %2C
Dies ist erforderlich, wenn verschachtelte Operatoren wie im obigen Beispiel verwendet werden.
Beispiele mit momentjs
In den folgenden Beispielen wird params.interval durch ein Datumsauswahl-Widget gesetzt
Wählt nur Datensätze mit einem Datum zwischen dem Datums-/Uhrzeitparameter „Begin“ und „Ende“ aus, der von einem Datumsauswahl-Widget bereitgestellt wird. „begin “, „end “ und „format()“ werden aus der Momentjs-Bibliothek verwendet:
date=BETWEEN(${interval(params.interval).begin.format()}, ${interval(params.interval).end.format()})
Wählen Sie Datensätze aus dem Vorjahr aus:
year=${interval(params.interval).begin.subtract(1, 'years').format('YYYY')}
Abfrage desselben Monats vom Vorjahr, wobei der Monat ohne führende Nullen formatiert ist:
month=${interval(params.interval).begin.subtract(params.sub, 'years').format('M')}
Abfrage des Wochentags (0-6):
weekday=${interval(params.interval).begin.day()}
Parameterabhängige Abfrage
Wenn eine Abfrage nur ausgeführt werden soll, wenn ein bestimmter Parameter gesetzt ist (z. B. eine Filtermatrixabfrage), können sowohl die Spalte als auch die Abfragezeichenfolge in if-Anweisungen eingeschlossen werden:
${filterMatrix.device_name ? 'device_name' : 'none'}=${filterMatrix.device_name ? filterMatrix.device_name : ''}
Wenn der Parameter filterMatrix.device_name definiert ist, wird die Spalte auf „device_name“ und die Abfragezeichenfolge auf „filterMatrix.device_name“ gesetzt:
device_name=filterMatrix.device_name
Wenn der gleiche Parameter nicht definiert ist, wird die resultierende Abfrage für die wahrscheinlich nicht vorhandene Spalte „none“ konfiguriert:
none=''