Filtrage des données

Il y a différentes solutions pour filtrer les données affichées dans un dashboard :

  • Filtre statique par widget : permet de filtrer en dur le contenu d'un widget. Un viewer ne peut pas modifier ce filtrage.
  • Filtre dynamique dans un widget : permet au viewer de modifier les données filtrées dans un widget.
  • Filtre dynamique global : permet au viewer de modifier le filtrage de tous les widgets d'un onglet.
  • Filtre statique global : permet de filtrer en dur tous les widgets d'un dashboard. La valeur utilisée dans un filtre peut être une option du dashboard ou elle peut lui être passée dynamiquement. Dans ce cas, on parle de dashboard template (voir ici pour la documentation sur ce sujet).

Filtre statique dans un widget

Un widget peut être filtré de manière statique via la section Filtrage dans sa configuration. Il suffit de choisir la dimension de la datasource à filtrer, l'opérateur et la valeur.

Utiliser un filtre temporel

Pour une mesure de type date/heure, vous pouvez utiliser des filtres dédiés : les mêmes que dans les formules sur les sources de données.

Utiliser un filtre In/Not in

Pour utiliser l'opérateur In dans un filtre, il faut fournir une liste d'entiers ou de chaînes de caractères.

Exemples :

  • filtrer des ids spécifiques :
1
[42, 567, 4095]
  • filtrer des trimestres spécifiques :
1
["Q1", "Q3"]

Quand vous utilisez un dashboard template, vous pouvez utiliser la valeur spéciale "$$all$$" dans la payload des filtres In pour qu'un utilisateur admin puisse consulter toutes les données.

Filtre dynamique dans un widget

Dans la section Filtrage de la configuration d'un widget, il faut utiliser le menu filtre dynamique. Il suffit de choisir la dimension à filter et automatiquement un filtre à choix multiples apparaitra en haut du widget sélectionné.

Filtre dynamique appliqué à tout un onglet

Pour créer un tel filtre, il faut ajouter un widget de type filtre. Dans la configuration de ce widget, il faut sélectionner les sources et les dimensions à filtrer (on peut ajouter autant de filtres que souhaité).

Pour un même filtre, vous pouvez choisir plusieurs paires de sources-dimensions à filtrer. La première paire sera utilisée par le filtre pour générer les valeurs à proposer à l'utilisateur. Mais le filtre sera appliqué à toutes les sources indiquées. Cela est utile si par exemple vous avez une dimensions Pays présente dans de nombreuses sources (et que parmi ces sources, cette dimension est parfois nommée country, parfois pays).

Utiliser un filtre dynamique pour définir une variable

Par défaut, quand un filtre dynamique est utilisé, le(s) widget(s) sont automatiquement filtrés avec la valeur du filtre.

Si vous activez l'option Stocker la valeur sélectionnée dans une variable, la valeur du filtre sera stockée dans une variable, mais ne sera pas appliquée aux widgets.

Pour l'appliquer, vous devez utiliser la variable ainsi définie dans les filtres statiques des widgets. Cela vous permet d'appliquer une formule à la valeur choisie dans le filtre avant de la passer au filtre statique.

Exemple:

Prenons le cas où les données contiennent une colonne mois avec le format YYYY-MM (e.g. 2017-07) et un filtre dynamique est créé sur cette colonne, en activant l'option Stocker la valeur sélectionnée dans une variable (en appelant la variable associée varMois).

Pour afficher les données du mois choisi dans un premier widget, il faut ajouter un filtre statique dans ce widget, sur la colonne mois, avec l'opérateur == et qui a comme valeur {{varMois}}.

Pour afficher les données du mois précédent le mois choisi dans un second widget, il faut ajouter un filtre statique à ce widget, sur la colonne mois avec l'opérateur == et qui a comme valeur {{dateAdd(varMois, -1, "month", "YYYY-MM")}}.

Spécifier la liste des widgets à filtrer

Par défaut, un filtre dynamique s'applique à tous les widgets de son onglet. Il est toutefois possible de limiter son filtrage à certains widgets.

Pour cela, dans le champ IDs des widgets à filtrer, vous devez entrer la liste des IDs des widgets à filtrer. Les IDs doivent être séparés par des virgules (par exemple 3,10,7 pour filter uniquement les widgets 3, 10 et 7).

Pour obtenir l'ID d'un widget, il faut le sélectionner puis aller dans le menu Design, dans la section Editeur de style avancé. L'ID du widget sélectionné est alors affiché.

Filtres statiques globaux

Dans les options globales du dashboard (dernier onglet de configuration), dans la section Filtres globaux, vous pouvez ajouter des filtres par datasource qui seront appliqués à tout le dashboard.

Dans la liste des datasources, seules celles utilisées dans le dashboard sont affichées. Et une icône ✓ indique que cette datasource contient un filtre global.

Utiliser des variables dans les global static filters

Au lieu de fournir manuellement une valeur pour chaque filtre, vous pouvez utiliser une variable. Par exemple, vous pouvez entrer {{myId}} dans le champ valeur du filtre.

Ensuite, il y a deux façons de fournir cette variable au dashboard:

  • dans la section Variables du dashboard, vous pouvez fournir un JSON avec ces valeurs, par exemple :
1
2
3
4
{
  "myId": 10,
  "myOtherParameters": "France",
}

C'est particulièrement pratique lorsque vous cloner un dashboard. Vous pouvez ensuite changer la valeur de cette variable et cela sera appliqué automatiquement à toutes les sources filtrées.

  • ou vous pouvez passer dynamiquement une payload avec la valeur de cette variable au dashboard ("dynamiquement" car la payload doit être passée au moment de l'ouverture du dashboard dans l'application viewer). Dans ce cas, on parle de dashboard template. La documentation complète sur ce sujet est ici.