Éditeur de requêtes pour les sources de données
Créez des requêtes de source de données pour les widgets de tableau et de graphique afin de sélectionner des données spécifiques dans une base de données. Les requêtes sont construites sous la forme d'un champ de base de données suivi du signe d'= et d'un opérateur, d'un nombre ou d'une chaîne :
database_string=my string database_number=1234 database_numger=BETWEEN(3, 6)
Les requêtes peuvent être enrichies par un code JavaScript spécifique :
Calcul de l'heure et de la date avec momentjs
Operateurs
Operateur | Description |
|---|---|
| Plage comprise entre la valeur de départ et la valeur finale. Les valeurs de départ et finale sont séparées par des virgules |
| Liste séparée par des virgules de nombres ou de chaînes à comparer |
| Supérieur à la valeur |
| Inférieur à la valeur |
| Négation d'une expression |
| Liste d'expressions séparées par des virgules. Toutes doivent être remplies |
| Liste d'expressions séparées par des virgules. Au moins une doit être remplie |
| Vérifie si une valeur est NULL |
Exemples
Sélectionner tous les enregistrements dont le salaire est supérieur à 40 000 :
salary=GT(40000)
Sélectionner tous les enregistrements dont le nom n'est ni James, ni John, ni Joe :
name=NOT(IN(James%2CJohn%2CJoe))
Sélectionner tous les enregistrements dont le customerId n'est pas NULL :
customerId=NOT(NULL())
Les virgules dans les arguments doivent être échappées :
. -> %2C
Cela est nécessaire si des opérateurs imbriqués sont utilisés comme dans l'exemple ci-dessus.
Exemples avec momentjs
Dans les exemples suivants, params.interval est défini par un widget de sélection de date
Sélectionnez uniquement les enregistrements dont la date se situe entre les paramètres de date et d'heure de début et de fin fournis par un widget de sélection de date. Begin, end et format() sont utilisés à partir de la bibliothèque momentjs :
date=BETWEEN(${interval(params.interval).begin.format()}, ${interval(params.interval).end.format()})
Sélectionnez les enregistrements datant d'un an auparavant :
year=${interval(params.interval).begin.subtract(1, 'years').format('YYYY')}
Recherchez le même mois un an auparavant avec le mois formaté sans zéros en tête :
month=${interval(params.interval).begin.subtract(params.sub, 'years').format('M')}
Rechercher le jour de la semaine (0-6) :
weekday=${interval(params.interval).begin.day()}
Requête dépendante des paramètres
Si une requête ne doit être appliquée que si un paramètre spécifique est défini (par exemple, une requête de matrice de filtrage), la colonne ainsi que la chaîne de requête peuvent être encapsulées dans des instructions if :
${filterMatrix.device_name ? 'device_name' : 'none'}=${filterMatrix.device_name ? filterMatrix.device_name : ''}
Si le paramètre filterMatrix.device_name est défini, la colonne sera définie sur « device_name » et la chaîne de requête sur « filterMatrix.device_name ») :
device_name=filterMatrix.device_name
Si le même paramètre n'est pas défini, la requête résultante sera configurée pour la colonne « none » probablement inexistante :
none=''