Utiliser des sélecteurs pour contrôler les visuels qui sont affectés
Certaines fonctionnalités vous permettent d’utiliser des sélecteurs pour contrôler les visuels qui sont affectés. Le sélecteur est facultatif et, lorsqu’il n’apparaît pas, les paramètres s’appliquent à tous les visuels du rapport.
Fonctionnalités prises en charge
Les sélecteurs peuvent être utilisés dans les fonctionnalités suivantes :
- Modifier les commandes de menu
- Masquer ou afficher des en-têtes visuels
- segments sur la charge de rapport
Types de sélecteurs
Nom visuel
Appliquez les paramètres uniquement pour le visuel spécifié.
selector: {
$schema: "http://powerbi.com/product/schema#visualSelector",
visualName: <a visual name> // You can retrieve the name using `getVisuals`
}
Pour trouver un nom visuel, vous pouvez utiliser l’API getVisuals()
sur une page et obtenir la propriété name
du visuel. Le nom visuel est un identificateur unique.
Type de visuel
Appliquez les paramètres à tous les visuels du type spécifié.
selector: {
$schema: "http://powerbi.com/product/schema#visualTypeSelector",
visualType: <a visual type> // You can retrieve the type using `getVisuals`
}
Pour trouver un type de visuel, vous pouvez utiliser l’API getVisuals()
sur une page et obtenir la propriété type
du visuel.
Cible de segment
Appliquez l’état du segment uniquement pour les segments avec la cible spécifiée.
selector: {
$schema: "http://powerbi.com/product/schema#slicerTargetSelector",
target: <target data field>
}
Exemples
Paramètres d’en-tête visuel
Masquer tous les en-têtes visuels dans le rapport.
let config = { … settings: { … visualSettings: { visualHeaders: [ { settings: { visible: false } /* No selector - Hide visual header for all the visuals in the report */ } ] } } };
Masquez un en-tête visuel pour un visuel spécifique à l’aide du sélecteur visuel.
let config = { … settings: { … visualSettings: { visualHeaders: [ { settings: { visible: false } selector: { $schema: "http://powerbi.com/product/schema#visualSelector", visualName: "VisualContainer1", } } ] } } };
Paramètres des commandes de menu
Les extensions de commande de menu et les commandes intégrées affichent des sélecteurs de prise en charge.
Ajout d’une commande d’extension à un menu d’options visuelles spécifique.
let config = { ... settings: { ... // Adding the extension command to the options menu extensions: [ { command: { name: "campaign", title: "Start campaign", icon: base64Icon, selector: { $schema: "http://powerbi.com/product/schema#visualSelector", visualName: tableVisualName }, extend: { visualOptionsMenu: { title: "Start campaign", menuLocation: models.MenuLocation.Top, } } } }, ], } }
Masquez quelques commandes intégrées pour tous les visuels avec
table
type.let tableSelector = { $schema: "http://powerbi.com/product/schema#visualTypeSelector", visualType: 'table' }; let config = { ... settings: { ... // Hiding built-in commands on the options menu commands: [ { spotlight: { selector: tableSelector, displayOption: models.CommandDisplayOption.Hidden, }, exportData: { selector: tableSelector, displayOption: models.CommandDisplayOption.Hidden, }, seeData: { selector: tableSelector, displayOption: models.CommandDisplayOption.Hidden, }, } ] }, };
Segments en charge
Note
Les segments en charge ne prennent pas en charge le sélecteur de type visuel
Définir un segment spécifique par nom
let slicers = [ { selector: { $schema: "http://powerbi.com/product/schema#visualSelector", visualName: "d1feb8891635af3b335a" }, state: { filters: [ { $schema:"http://powerbi.com/product/schema#advanced", target: { table: "Store", column: "StoreNumber" }, filterType: models.FilterType.AdvancedFilter, logicalOperator: "And", conditions: [ { operator: "GreaterThanOrEqual", value: 37 }, { operator: "LessThanOrEqual", value: 576 }] }] } } ]; embedConfig = { slicers: slicers, ... };
Définir des segments par cible
// We want to slice all slicers with "StoreNumber" column target let target = { table: "Store", column: "StoreNumber" }; let slicers = [ { selector: { $schema: "http://powerbi.com/product/schema#slicerTargetSelector", target: target }, state: { filters: [ { $schema:"http://powerbi.com/product/schema#advanced", target: target, filterType: models.FilterType.AdvancedFilter, logicalOperator: "And", conditions: [ {operator: "GreaterThanOrEqual", value: 37 }, {operator: "LessThanOrEqual", value: 576 }] }] } } ]; embedConfig = { slicers: slicers, ... };