Partager via


API Filtre d’identité

L’API Filtre d’identité vous permet de créer un visuel qui peut filtrer des données catégorielles en utilisant une requête sémantique.
Elle filtre les données par points de données plutôt que par expressions mathématiques.

L’API effectue un suivi des sélections d’utilisateurs et des points de données à afficher. Les points de données sont enregistrés dans un tableau et référencés par leur position dans le tableau.

L’API est utile dans les cas suivants :

  • Pour les visuels personnalisés qui utilisent des modèles sémantiques avec un groupe sur des clés
  • Migration des visuels qui utilisaient une API plus ancienne (antérieure à la version 2.2) vers une API plus récente
  • Autoriser des sélections en utilisant des tableaux d’index d’identification

Notes

L’API Filtre d’identité est disponible à partir de l’API version 5.1. Pour connaître la version que vous utilisez, consultez le apiVersion dans le fichier pbiviz.json.

Le modèle Filtre d’identité est basé sur l’interface IIdentityFilter.

    private filter: IIdentityFilter = {
        $schema: “”,
        filterType: FilterType.Identity,
        operator: "In",
        target: []
    }

Par exemple, si le visuel a reçu la mise à jour de la vue de données suivante :

Screenshot of sample array.

Le tableau est de type number[] et il contient les champs d’identité des éléments sélectionnés par l’utilisateur.

IdentityIndex correspond à l’index de la valeur dans le tableau de valeurs du modèle sémantique (voir l’exemple suivant).

Screenshot showing array values of names.

Dans l’exemple ci-dessus : {identityIndex: 0} = « Aaliyah » {identityIndex: 1} = « Aaliyah » {identityIndex: 02 = « Aaliyah », etc.

Comment utiliser l’API Filtre d’identité

Pour utiliser l’API Filtre d’identité, votre version powerbi-models doit être 1.9.1 ou ultérieure.

  • Ajoutez la propriété suivante en tant que membre de la classe visual.ts :

        private filter: IIdentityFilter = {
            $schema: “”,
            filterType: FilterType.Identity,
            operator: "In",
            target: []
        }
    
  • Pour gérer des mises à jour de Power BI, lisez le tableau cible à partir de « jsonFilters » dans « VisualUpdateOptions » et traduisez-le en valeurs correspondantes. Ces valeurs sont celles qui ont été sélectionnées. Dans l’exemple précédent, un tableau cible de [0,10] correspond aux valeurs d’Aliyah et d’Abigail.

  • Pour gérer des sélections d’utilisateurs, dans l’exemple précédent, cliquez sur le premier Abigail pour ajouter la valeur 8 au tableau cible de filtre et l’envoyer à l’aide de la commande suivante :

this.visualHost.applyJsonFilter(this.filter, "general", "filter", powerbi.FilterAction.merge);

Migration de visuels avec une ancienne API

À partir de l’API 5.1.0, pour prendre en charge le filtre d’identité sur des visuels créés à l’aide d’une version antérieure à 2.2, ajoutez les lignes suivantes à votre fichier capabilities.json :

    "migration": {
        "filter": {
            "shouldUseIdentityFilter": true
        }
    }

Ces lignes convertissent les sélections en filtres d’identité.

Remarque

Cette étape est uniquement nécessaire pour des visuels existants créés avec des API plus anciennes. Les visuels plus récents n’ont pas besoin d’ajouter ces éléments.

Étapes suivantes

Ajouter de l’interactivité à un visuel en utilisant des sélections de visuels Power BI

D’autres questions ? Essayez la communauté Power BI.