使用选择器控制哪些视觉对象生效
某些功能允许你使用选择器来控制哪些视觉对象生效。 选择器是可选的,如果未显示,设置适用于报表中的所有视觉对象。
支持的功能
可在以下功能中使用选择器:
- 修改菜单命令
- 隐藏或显示视觉对象标头
- 报表加载 时
切片器
选择器类型
视觉对象名称
仅对指定视觉对象应用设置。
selector: {
$schema: "http://powerbi.com/product/schema#visualSelector",
visualName: <a visual name> // You can retrieve the name using `getVisuals`
}
若要查找视觉对象名称,可以在页面上使用 getVisuals()
API 并获取视觉对象的 name
属性。 视觉对象名称是唯一标识符。
视觉对象类型
将设置应用于指定类型中的所有视觉对象。
selector: {
$schema: "http://powerbi.com/product/schema#visualTypeSelector",
visualType: <a visual type> // You can retrieve the type using `getVisuals`
}
若要查找视觉对象类型,可以在页面上使用 getVisuals()
API,并获取视觉对象的 type
属性。
切片器目标
仅对具有指定目标的切片器应用切片器状态。
selector: {
$schema: "http://powerbi.com/product/schema#slicerTargetSelector",
target: <target data field>
}
例子
视觉对象标头设置
隐藏报表中的所有视觉对象标题。
let config = { … settings: { … visualSettings: { visualHeaders: [ { settings: { visible: false } /* No selector - Hide visual header for all the visuals in the report */ } ] } } };
使用视觉选择器隐藏特定视觉对象的视觉对象标头。
let config = { … settings: { … visualSettings: { visualHeaders: [ { settings: { visible: false } selector: { $schema: "http://powerbi.com/product/schema#visualSelector", visualName: "VisualContainer1", } } ] } } };
菜单命令设置
菜单命令扩展和内置命令都显示支持选择器。
将扩展命令添加到特定视觉对象选项菜单。
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, } } } }, ], } }
为所有具有
table
类型的视觉对象隐藏一些内置命令。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, }, } ] }, };
加载时切片器
注意
负载切片器不支持视觉对象类型选择器
按名称设置特定切片器
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, ... };
按目标设置切片器
// 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, ... };