Usar selectores para controlar qué objetos visuales se aplican
Algunas características permiten usar selectores para controlar qué objetos visuales se aplican. El selector es opcional y, cuando no aparece, la configuración es aplicable a todos los objetos visuales del informe.
Características admitidas
Los selectores se pueden usar en las siguientes características:
- comandos de menú Modificar
- Ocultar o mostrar encabezados visuales
- segmentaciones en la carga de informes
Tipos de selector
Nombre del objeto visual
Aplique la configuración solo para el objeto visual especificado.
selector: {
$schema: "http://powerbi.com/product/schema#visualSelector",
visualName: <a visual name> // You can retrieve the name using `getVisuals`
}
Para buscar un nombre visual, puede usar la API de getVisuals()
en una página y obtener la propiedad name
del objeto visual. El nombre visual es un identificador único.
Tipo de objeto visual
Aplique la configuración a todos los objetos visuales del tipo especificado.
selector: {
$schema: "http://powerbi.com/product/schema#visualTypeSelector",
visualType: <a visual type> // You can retrieve the type using `getVisuals`
}
Para encontrar un tipo de objeto visual, puede usar la API de getVisuals()
en una página y obtener la propiedad type
del objeto visual.
Destino de segmentación de datos
Aplique el estado de segmentación solo para las segmentaciones con el destino especificado.
selector: {
$schema: "http://powerbi.com/product/schema#slicerTargetSelector",
target: <target data field>
}
Ejemplos
Configuración del encabezado visual
Ocultar todos los encabezados visuales del informe.
let config = { … settings: { … visualSettings: { visualHeaders: [ { settings: { visible: false } /* No selector - Hide visual header for all the visuals in the report */ } ] } } };
Ocultar un encabezado visual para un objeto visual específico mediante el selector de objetos visuales.
let config = { … settings: { … visualSettings: { visualHeaders: [ { settings: { visible: false } selector: { $schema: "http://powerbi.com/product/schema#visualSelector", visualName: "VisualContainer1", } } ] } } };
Configuración de comandos de menú
Tanto las extensiones de comandos de menú como los comandos integrados muestran selectores de compatibilidad.
Agregar un comando de extensión a un menú de opciones visuales específicos.
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, } } } }, ], } }
Oculte algunos comandos integrados para todos los objetos visuales con
table
tipo.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, }, } ] }, };
Segmentaciones de datos en carga
Nota
Las segmentaciones de datos en carga no admiten el selector de tipos visuales
Establecimiento de una segmentación específica por nombre
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, ... };
Establecimiento de segmentaciones por destino
// 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, ... };