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ètredataRole
é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éthodegetCapabilities
. -
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
.