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. La liste contient des champs masqués et visibles.

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.

Définir la visibilité d’un champ de données

Pour contrôler la visibilité des champs de données, utilisez la setFieldHidden méthode sur le visuel. Seuls les champs, mesures et calculs visuels agrégés peuvent être masqués ou affichés. Cette action équivaut à basculer la visibilité des champs en mode d’édition de calcul visuel.

setFieldHidden(dataRole: string, index: number, isHidden: boolean): 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 à masquer ou à afficher.
  • isHidden - Valeur booléenne pour déterminer où elle doit être masquée ou non

Par exemple:

await visual.setFieldHidden('Values', 0, /*isHidden*/ true);

Définir la chaîne de format d’un champ de données

Pour mettre en forme les données affichées à partir d’un champ particulier, appelez la setFieldFormatString méthode du visuel.

setFieldFormatString(dataRole: string, index: number, formatString: string): 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 à définir la chaîne de format
  • formatString - Attendre une chaîne de format .NET

Par exemple : Si vous souhaitez que chaque valeur du champ ait $ au début, procédez comme suit :

await visual.setFieldFormatString('Values', 0, /*formatString*/ "$0.00");

Obtenir la chaîne de format d’un champ de données

Pour récupérer la chaîne de format d’un champ, appelez la getFieldFormatString méthode du visuel.

getFieldFormatString(dataRole: string, index: number): Promise<string>

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 pour obtenir la chaîne de format
let formatString = await visual.getFieldFormatString('Values', 0);

Obtenir le nom d’un champ de données

Chaque champ d’un visuel a un nom unique dérivé de son nom complet. Cet identificateur unique permet de référencer le champ dans les expressions DAX lors de la création de calculs visuels. Pour récupérer ce nom unique, appelez la getDataFieldName méthode du visuel.

getDataFieldName(dataRole: string, index: number): Promise<string>

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 pour obtenir le nom du champ
let dataFieldName = await visual.getDataFieldName('Values', 0);
let visualCalcDax = `RUNNINGSUM([${dataFieldName}])`;