Utiliser des cibles pour sélectionner le champ de données sur lequel agir
En mode édition Power BI, le volet Champs affiche toutes les tables du modèle avec tous leurs champs de données. Vous pouvez trier, filtrer ou découper des données dans les champs de données pour affecter la façon dont les données s’affichent dans les rapports, les pages ou les visuels.
Un filtre d’analytique incorporée Power BI, un segment ou un tri nécessite un objet cible qui spécifie le champ de données sur lequel agir. Utilisez ITarget pour fournir le champ de données cible lorsque vous :
- Construire un filtre avec l’interface IFilter
- définir un segment sur le de charge
- Trier un visuel
- Ajouter un champ de données à une visualisation
Types cibles
Un champ de données peut être une colonne, un niveau hiérarchique, une agrégée colonne ou un niveau de hiérarchie, ou une mesure calculée. Les types cibles de l’interface ITarget
sont les suivants :
IColumnTarget
IHierarchyLevelTarget
IMeasureTarget
IColumnAggrTarget
IHierarchyLevelAggrTarget
Colonne
Utilisez IColumnTarget pour cibler la colonne spécifiée dans une table :
target: {
$schema: "http://powerbi.com/product/schema#column",
table: "<table name>",
column: "<column name>"
}
Niveau de hiérarchie
Utilisez IHierarchyLevelTarget pour cibler le niveau de hiérarchie spécifié dans une hiérarchie dans une table :
target: {
$schema: "http://powerbi.com/product/schema#hierarchyLevel",
table: "<table name>",
hierarchy: "<hierarchy name>",
hierarchyLevel: "<hierarchy level name>"
}
Mesurer
Utilisez IMeasureTarget pour cibler la mesure spécifiée dans une table. La valeur de percentOfGrandTotal
est définie sur true si la cible est liée à un visuel et que ses valeurs sont affichées sous la forme d’un pourcentage du total général.
target: {
$schema: "http://powerbi.com/product/schema#measure",
table: "<table name>",
measure: "<measure name>",
percentOfGrandTotal?: boolean
}
Fonctions d’agrégation
Vous pouvez spécifier des fonctions d’agrégation pour les cibles au niveau des colonnes et des hiérarchies. La variable aggregationFunction
est facultative et, si vous ne le fournissez pas, les champs de données utilisent la fonction d’agrégation par défaut Sum
. D’autres valeurs prises en charge pour aggregationFunction
sont les suivantes :
Avg
DoNotSummarize
Count
CountNonNull
Max
Median
Min
StandardDeviation
Variance
Colonne agrégée
Utilisez IColumnAggrTarget pour spécifier une fonction d’agrégation sur la colonne spécifiée dans une table. La valeur de 'percentOfGrandTotal' est définie sur true si la cible est liée à un visuel et ses valeurs sont affichées sous la forme d’un pourcentage du total général.
target: {
$schema: "http://powerbi.com/product/schema#columnAggr",
table: "<table name>",
column: "<column name>",
aggregationFunction: "<aggregation function>", // Optional, default is Sum.
percentOfGrandTotal?: boolean
}
Niveau de hiérarchie agrégé
Utilisez IHierarchyLevelAggrTarget pour spécifier une fonction d’agrégation au niveau de hiérarchie spécifié dans une hiérarchie d’une table. La valeur de 'percentOfGrandTotal' est définie sur true si la cible est liée à un visuel et ses valeurs sont affichées sous la forme d’un pourcentage du total général.
target: {
$schema: "http://powerbi.com/product/schema#hierarchyLevelAggr",
table: "<table name>",
hierarchy: "<hierarchy name>",
hierarchyLevel: "<hierarchy level name>",
aggregationFunction: "<aggregation function>", // Optional, default is Sum.
percentOfGrandTotal?: boolean
}
Exemples
Les exemples de code suivants utilisent l’objet target
pour spécifier le champ de données sur lequel un filtre doit agir.
Exemple de cible de colonne
L’exemple de code suivant applique un filtre de base avec une cible de colonne à un rapport. Le code agit sur la colonne région
let filter = {
$schema: "http://powerbi.com/product/schema#basic",
target: {
$schema: "http://powerbi.com/product/schema#column",
table: "Geo",
column: "Region"
},
operator: "In",
values: ["West"]
};
Exemple de cible au niveau de la hiérarchie
L’exemple de code suivant applique un filtre de base avec une cible au niveau de la hiérarchie à un rapport. Le code agit sur le niveau mois
let filter = {
$schema: "http://powerbi.com/product/schema#basic",
target: {
$schema: "http://powerbi.com/product/schema#hierarchyLevel",
table: "Sales",
hierarchy: "OrderDate",
hierarchyLevel: "Month"
},
operator: "In",
values: ["West"]
};
Exemple de cible de mesure
L’exemple de code suivant applique un filtre avancé avec une cible de mesure à un visuel. Le code agit sur la mesure
let filter = {
$schema: "http://powerbi.com/product/schema#advanced",
target: {
$schema: "http://powerbi.com/product/schema#measure",
table: "SalesFact",
measure: "Total Category Volume"
},
filterType: models.FilterType.AdvancedFilter,
logicalOperator: "And",
conditions: [{
operator: "IsNotBlank"
}]
}
Exemple de cible de colonne agrégée
Le code suivant définit une cible d’agrégation de colonnes qui correspond à la somme des valeurs dans la colonne
let columnAggregation = {
$schema: "http://powerbi.com/product/schema#columnAggr",
table: "Store",
column: "Sales",
aggregationFunction: "Sum"
};