Partager via


Configurer des champs de données

Lorsque vous créez une visualisation, le visuel est rendu en fonction des champs de données attribués. Cet article explique comment utiliser les API de création de rapports Power BI pour interagir avec les champs de données et les affecter aux rôles de données. Pour déterminer les rôles de données qu’un visuel a, utilisez la méthode getCapabilities.

Ajouter un champ de données

Pour ajouter un champ de données à un rôle de données visuels, appelez la méthode addDataField du visuel.

addDataField(dataRole: string, dataField: models.IBaseTarget, index?: number): Promise<models.IError>

Cette méthode comporte les variables suivantes :

  • dataRole : nom du rôle de données auquel le champ de données doit être affecté. Le paramètre dataRole équivaut à la propriété name de rôle de données. Pour récupérer les rôles et noms de données disponibles, utilisez la méthode getCapabilities.
  • dataField : champ de données à ajouter au rôle de données. Le champ de données est un objet cible, qui peut être une colonne avec agrégation, mesure, hiérarchie ou hiérarchie avec agrégation. Pour plus d’informations sur les cibles, consultez Utiliser des cibles pour sélectionner le champ de données à agir sur.
  • index (facultatif) : index auquel le champ de données doit être ajouté. Le comportement par défaut est que le champ doit être ajouté en dernier.

Par exemple:

const dataField = {
  $schema: "http://powerbi.com/product/schema#column",
  table: "Store",
  column: "Name"
};

await visual.addDataField('Category', dataField);

Obtenir des champs de données

Pour obtenir la liste des champs de données définis dans un rôle de données, appelez la méthode getDataFields du visuel.

getDataFields(dataRole: string): Promise<models.IBaseTarget>

Cette méthode a la variable dataRole, qui est le nom du rôle de données à partir duquel récupérer les champs de données.

Par exemple:

let dataField = await visual.getDataFields('Category');

Supprimer des champs de données

Pour supprimer un champ de données appliqué à un rôle de données, appelez la méthode removeDataField du visuel.

removeDataField(dataRole: string, index: number): Promise<models.IError>

Cette méthode a les paramètres suivants :

  • dataRole : nom du rôle de données cible auquel le champ de données est associé.
  • index : index du champ de données à supprimer.

Par exemple:

await visual.removeDataField('Category', 2);

Pour obtenir l’index du champ de données, vous pouvez utiliser l’index de la cible dans le tableau de résultats getDataFields.