Selection par widget: double filtrage (2 colonnes)

Récemment, j’avais besoin de filtrer une table par 2 critères à la fois, de manière interactive.
Pour rendre cela concret, disons que j’ai une table « Taches » avec un colonne « Priorité » et une colonne « Catégorie », qui sont chacun des références vers des tables prédéfinies.

D’habitude, cette tâche est assez simple: 1) créer une nouvelle page, 2) ajouter la vue de la table par laquelle on veut filtrer, et 3) ajouter la table que l’on veut filtrer en sélectionnant « sélectionner par … »

Mais le fait d’avoir 2 critères semblait rendre la tâche impossible. J’ai même ouvert une issue sur gristlabs. Mais finalement, je me suis rendu compte que c’était déjà possible avec Grist !

Il faut au préalable faire un choix: est-ce que le critère principal est la priorité ou la catégorie ? Je vais supposer ici que c’est la catégorie. Voici la marche à suivre:

  1. Créer une vue avec la table « Catégories »
  2. Ajouter une vue de « Taches » en agrégeant par « Catégorie » ET par « Priorité »
  3. Ajouter un sélecteur de cette vue par « Catégorie »
  4. Ajouter une nouvelle vue de « Taches »
  5. Dans cette nouvelle vue, ajouter un sélecteur par « Taches [by Priorité, Catégorie] »

Étape 3 et 4:

Étape 5:

Le résultat:

(Note: on remarque dans le menu à droite que la dernière vue applique effectivement 2 filtres: Priorité et Catégorie)

J’espère que cette astuce pourra servir à certains !

1 « J'aime »

J’ai aussi ouvert un ticket sur le dépôt grist, pour centraliser les discussions sur le sujet: Select a table by multiple widgets · Issue #1892 · gristlabs/grist-core · GitHub