Sdílet prostřednictvím


Úprava příkazů nabídky pro vizuál sestavy

Vizuály v Power BI mají nabídky, které uživatelům aplikace umožňují změnit způsob, jakým vidí svá data. Například pomocí nabídky kontextových lze datové body zahrnout nebo vyloučit z vizuálu. Nabídku Možnosti lze použít k exportu dat obsažených ve vizuálu do tabulky.

Otevřete místní nabídku tak, že kliknete pravým tlačítkem myši na vizuál nebo na konkrétní datový bod v rámci vizuálu.

Snímek obrazovky znázorňující vizuál Power BI s otevřenou a zvýrazněnou místní nabídkou v pravém horním rohu

Výběrem tří teček v pravém horním rohu vizuálu otevřete nabídku Možnosti.

Poznámka

Pokud je záhlaví vizuálu pro vizuál skryté, tři tečky se nezobrazí.

Snímek obrazovky znázorňující vizuál Power BI s otevřenou a zvýrazněnou nabídkou možností v pravém horním rohu

Toto rozhraní API nabízí způsob, jak tyto nabídky rozšířit, abyste mohli přidávat příkazy pro uživatele a vylepšit prostředí aplikace. Nabídky můžete dále přizpůsobit skrytím nebo zakázáním akcí. Můžete například skrýt Spotlight integrovaný příkaz pro nabídku možností.

Jak upravit příkazy nabídky

Upravte nabídky pomocí extensions pro přidání příkazů a commands změnit způsob zobrazení předdefinovaných příkazů.

Rozhraní API můžete nakonfigurovat tak, aby fungovalo při načítání sestavy (konfigurace vložení), nebo můžete volat metodu updateSettings sestavy, která aktualizuje přidané položky po načtení sestavy. Další informace najdete v tématu Konfigurace nastavení sestavy a Skrýt nebo zobrazit záhlaví vizuálů.

Nová nastavení nabídky se použijí pro všechny vizuály v sestavě. Pokud chcete použít nastavení pro konkrétní vizuál, použijte selektory.

Rozšíření příkazů nabídky

K vytvoření definice příkazu použijte následující parametry:

  • název – název příkazu.
  • název – název příkazu. To se používá jako výchozí, pokud uvnitř visualContextMenu a visualOptionsMenuneexistuje žádné přepsání .
  • ikona(volitelné) – obrázek, který chcete zobrazit jako ikonu. Ikony jsou podporované pouze v nabídce možností.
  • rozšířit – definujte nabídku, kterou příkaz rozšiřuje. Příkaz můžete přidat do místní nabídky vizuálu, nabídku možností vizuálunebo obojí. Vlastnosti v každé nabídce je také možné přizpůsobit, například název nabídky nebo umístění ikony.

Přidejte definici příkazu do pole příkazů v objektu rozšíření, který se předá nastavení sestavy. Příkazy je pole ICommandExtension uvnitř rozšíření, což je typ IExtensions.

let embedConfig = {
    ...
    settings: {
        extensions: {
            commands: [...]
        }
    }
};

Měli byste také zpracovat událost commandTriggered pro nový příkaz. Tato událost se aktivuje speciálně pro commandName.

report.on("commandTriggered", function(event) {
    let commandName = event.detail.command;
    ...
    if (commandName === "command name") {
        // Handler code
    }
});

Další informace o zpracování událostí naleznete v tématu Zpracování událostí.

Ikony jsou volitelné. Pokud se rozhodnete použít jeden, musí být převeden na základní verzi 64. Příklad platné ikony Base 64 najdete v následujícím kódu.

"data:image/png;base64,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"

Následující kód je úplný příklad kódu pro přidání rozšíření příkazu nabídky.

// Get models. Models contain enums that can be used.
let models = window['powerbi-client'].models;

let embedConfiguration = {
    type: 'report',
    id: '5dac7a4a-4452-46b3-99f6-a25915e0fe55',
    embedUrl: 'https://app.powerbi.com/reportEmbed',
    tokenType: models.TokenType.Aad,
    accessToken: 'e4...rf',
    settings: {
        ...
        extensions: {
            commands: [{
                name: "command name",
                title: "command title",
                icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEU...AAABJRU5ErkJggg==",
                extend: {
                    visualContextMenu: {
                        title: "context menu title",
                    },
                    visualOptionsMenu: {
                        title: "options menu title",
                    }
                }
            }]
        }
    }
};

...

// Embed the report and display it within the div container.
let report = powerbi.embed(embedContainer, embedConfiguration);

// Report.on will add an event handler to commandTriggered event which prints to console window.
report.on("commandTriggered", function (command) {
    console.log(command);
});

Nastavení umístění položky nabídky

Příkazy se ve výchozím nastavení přidají do dolní části nabídky. U neskupených příkazů můžete pomocí vlastnosti menuLocation vybrat, zda je příkaz umístěn v horní nebo dolní části nabídky.

Poznámka

Když do horní části nabídky přidáte více než jedno rozšíření, bude poslední přidané rozšíření nahoře.

snímek obrazovky zobrazící tabulku Power BI s přidaným příkazem nabídky Start Campaign

Například následující kód umožňuje nastavit rozšíření příkazů nabídky možností v horní části nabídky a příkaz místní nabídky v dolní části nabídky.

extensions: {
    commands: [{
       name: "command name",
       title: "command title",
       icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEU...AAABJRU5ErkJggg==",
       extend:
       {
           visualContextMenu: {
               title: "context menu title",
               menuLocation: models.MenuLocation.Bottom
           },
           visualOptionsMenu: {
               title: "options menu title",
               menuLocation: models.MenuLocation.Top
           }
       }
    }]
}

Seskupení příkazů v podnabídce

Můžete vytvořit podnabídku pro seskupení příkazů s následujícími parametry:

  • název – název skupiny. Toto je jedinečný identifikátor skupiny.
  • název – název, který se má zobrazit v nabídce.
  • menuLocation(volitelné) – Zvolte, jestli je skupina umístěná v horní nebo dolní části nabídky.

Definice skupiny by měla být přidána do pole skupin, což je pole IMenuGroupExtensionuvnitř objektu rozšíření.

Snímek obrazovky znázorňující vizuál Power BI se dvěma příkazy přidanými pod podnabídkou

Pokud se rozhodnete použít hodnotu umístění nabídky, Top umístí skupinu do horní části nabídky v okamžiku přidání prvního příkazu skupiny. Pokud se nepoužívá nebo pokud používáte hodnotu Bottom, přidá se skupina v dolní části nabídky v době přidání prvního příkazu skupiny.

Pokud chcete přidat příkaz do skupiny definované v poli skupin, přidejte do příkazu vlastnost groupName.

Níže uvedený kód představuje úplný příklad kódu, jak do nabídky možností přidat podnabídku se dvěma příkazy.

extensions: {
    commands: [
        {
            name: "Command 1",
            title: "Command 1",
            extend: {
                visualOptionsMenu: {
                    groupName: "group-unique-identifier"
                }
            }
        },
        {
            name: "Command 2",
            title: "Command 2",
            extend: {
                visualOptionsMenu: {
                    groupName: "group-unique-identifier"
                }
            }
        }
    ],
    groups: [{
        name: "group-unique-identifier",
        title: "Group title",
        menuLocation: models.MenuLocation.Top
    }]
}

Přizpůsobení příkazů nabídky

Zobrazení předdefinovaných příkazů má tři režimy zobrazení.

  • Povoleno – příkaz se zobrazí, pokud je pro vizuál dostupný.
  • Zakázáno – příkaz se zobrazí, pokud je dostupný pro vizuál, ale je neaktivní (uživatel nemůže příkaz vybrat).
  • Skrytý – příkaz se nezobrazí.

Aktuálně dostupné předdefinované příkazy jsou:

  • kopírování – kopírovat hodnotu, výběr nebo vizuál. K dispozici pouze v místní nabídce (vizuál je k dispozici pouze v režimu úprav).
  • přechodu k podrobnostem – použijterežimu přechodu k podrobnostem . K dispozici pouze v místní nabídce.
  • podrobné analýzy – použijte funkci podrobné analýzy . K dispozici pouze v místní nabídce.
  • expandCollapse – rozbalení nebo sbalení výběru, celé úrovně nebo celé hierarchie. K dispozici pouze v místní nabídce.
  • exportData – exportujte data použitá k vytvoření vizualizace. K dispozici pouze v nabídce možností.
  • includeExclude – Zahrnout nebo vyloučit datové body. K dispozici pouze v místní nabídce.
  • removeVisual – odstraňte vizuál. K dispozici pouze v nabídce možností v režimu úprav.
  • hledání – Přepněte možnost hledání průřezu. K dispozici pouze v režimu úprav.
  • seeData – zobrazí data použitá k vytvoření vizualizace (označuje se také jako Zobrazit jako tabulku).
  • řazení – seřaďte a vyberte pořadí řazení hodnot podle vybraného datového pole. K dispozici pouze v nabídce možností.
  • spotlight – spotlight vizuálu K dispozici pouze v nabídce možností.
  • insightsAnalysis – zobrazí přehledy o vizuálu. K dispozici pouze v nabídce možností.
  • addComment – přidejte do vizuálu komentář. K dispozici pouze v nabídce možností.
  • groupVisualContainers – k dispozici pouze v místní nabídce v režimu úprav.
  • sumarizovat – zobrazí souhrn vizualizace. K dispozici pouze v místní nabídce.
  • clearSelection – k dispozici pouze v místní nabídce.

Pokud chcete přizpůsobit zobrazení předdefinovaných příkazů, definujte a předejte objekt příkazu v nastavení konfigurace vložení. Příkazy jsou pole ICommandsSettings.

let embedConfig = {
    ...
    settings: {
        commands: [...]
    }
};

Následující kód je úplný příklad kódu pro přidání předdefinovaných příkazů.

// The new settings that you want to apply to the report.
const newSettings = {
    commands: [
        {
            spotlight: {
                displayOption: models.CommandDisplayOption.Hidden,
            },
            drill: {
                displayOption: models.CommandDisplayOption.Disabled,
            }
        }
    ]
};

// Update the settings by passing in the new settings you have configured.
await report.updateSettings(newSettings);