Freigeben über


Verwenden von Selektoren, um zu steuern, welche visuellen Elemente wirksam sind

Mit einigen Features können Sie Selektoren verwenden, um zu steuern, welche visuellen Elemente wirksam sind. Die Auswahl ist optional, und wenn sie nicht angezeigt wird, gelten die Einstellungen für alle visuellen Elemente im Bericht.

Unterstützte Features

Selektoren können in den folgenden Features verwendet werden:

Selektortypen

Visueller Name

Wenden Sie die Einstellungen nur für das angegebene visuelle Element an.

selector: {
    $schema: "http://powerbi.com/product/schema#visualSelector",
    visualName: <a visual name> // You can retrieve the name using `getVisuals`
}

Um einen visuellen Namen zu finden, können Sie die getVisuals()-API auf einer Seite verwenden und die name Eigenschaft des visuellen Elements abrufen. Der visuelle Name ist ein eindeutiger Bezeichner.

Visueller Typ

Wenden Sie die Einstellungen auf alle visuellen Elemente des angegebenen Typs an.

selector: {
    $schema: "http://powerbi.com/product/schema#visualTypeSelector",
    visualType: <a visual type> // You can retrieve the type using `getVisuals`
}

Um einen visuellen Typ zu finden, können Sie die getVisuals()-API auf einer Seite verwenden und die type-Eigenschaft des visuellen Elements abrufen.

Datenschnittziel

Wenden Sie den Datenschnittstatus nur für die Datenschnitte mit dem angegebenen Ziel an.

selector: {
    $schema: "http://powerbi.com/product/schema#slicerTargetSelector",
    target: <target data field>  
}

Beispiele

Visuelle Kopfzeileneinstellungen

  • Blenden Sie alle visuellen Kopfzeilen im Bericht aus.

    let config = {
        …
        settings: {
            …
            visualSettings: {
                visualHeaders: [
                    {
                        settings: {
                            visible: false
                        }
                        /* No selector - Hide visual header for all the visuals in the report */
                    }
                ]
            }
        }
    };
    
  • Blenden Sie eine visuelle Kopfzeile für ein bestimmtes visuelles Element mithilfe der visuellen Auswahl aus.

    let config = {
        …
        settings: {
            …
            visualSettings: {
                visualHeaders: [
                    {
                        settings: {
                            visible: false
                        }
                        selector: {
                            $schema: "http://powerbi.com/product/schema#visualSelector",
                            visualName: "VisualContainer1",
                        }
                    }
                ]
            }
        }
    };
    

Sowohl Menübefehlserweiterungen als auch integrierte Befehle zeigen Unterstützungsmarkierer an.

  • Hinzufügen eines Erweiterungsbefehls zu einem bestimmten Menü mit visuellen Optionen.

    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,
                            }
                        }
                    }
                },
            ],
        }
    }
    
  • Blenden Sie einige integrierte Befehle für alle visuellen Elemente mit table Typ aus.

    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,
                    },
                }
            ]
        },
    };
    

Datenschnitte beim Laden

Anmerkung

Datenschnitte beim Laden unterstützen keine visuelle Typauswahl

  • Festlegen eines bestimmten Datenschnitts anhand des Namens

    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,
        ...
    };
    
  • Festlegen von Datenschnitten nach Ziel

    // 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,
        ...
    };