Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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énamede 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. 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}])`;