Creare un pulsante di drill-through in Power BICreate a drill-through button in Power BI

In Power BI è possibile creare un pulsante di drill-through che genera una nuova pagina contenente i dettagli filtrati in un contesto specifico.You can create a drill-through button in Power BI, a button that drills through to a page with details that are filtered to a specific context.

Un modo per eseguire il drill-through in un report è fare clic con il pulsante destro del mouse in un oggetto visivo.One way to drill through in a report is to right-click in a visual. Se si vuole che l'azione di drill-through sia più evidente, è possibile creare invece un pulsante di drill-through.If you want the drill-through action to be more obvious, you can create a drill-though button instead. Questo pulsante può rendere più facilmente individuabili scenari di drill-through importanti nei report.The button can increase the discoverability of important drill-through scenarios in your reports. È possibile determinare in modo condizionale l'aspetto e la funzionalità del pulsante.You can conditionally determine much of how the button looks and acts. Ad esempio, è possibile che sul pulsante vengano visualizzati testi diversi se vengono soddisfatte determinate condizioni.For example, you can show different text on a button if certain conditions are met. Continuare a leggere per informazioni dettagliate.Read on for details.

In questo esempio, quando si seleziona la barra di Word nel grafico, viene abilitato il pulsante See details (Visualizza dettagli).In this example, after you select the Word bar in the chart, the See details button is enabled.

Pulsante See details

Quando viene selezionato il pulsante See details (Visualizza dettagli), viene eseguito il drill-through nella pagina Market basket analysis.When you select the See details button, you drill through to the Market Basket Analysis page. Come si può notare dall'oggetto visivo a sinistra, la pagina di drill-through è ora filtrata per Word.As you can see from the visual on the left, the drill-through page is now filtered for Word.

Oggetto visivo filtrato

Configurare un pulsante di drill-throughSet up a drill-through button

Per configurare un pulsante di drill-through, è prima necessario configurare una pagina di drill-through valida all'interno del report.To set up a drill-through button, you first need to set up a valid drill-through page within your report. È poi necessario creare un pulsante con tipo di azione Drill-through e selezionare la pagina di drill-through come Destinazione.Then, you need to create a button with Drill through as the action type and select the drill-through page as the Destination.

Poiché il pulsante di drill-through ha due stati, abilitato o disabilitato, sono disponibili due opzioni per la descrizione comando.Because the drill-through button has two states, enabled vs. disabled, you see two tooltip options.

Configurare il pulsante di drill-through

Se si lasciano vuote le caselle delle descrizioni comando, Power BI le genera automaticamenteIf you leave the tooltips boxes blank, Power BI automatically generates tooltips. in base ai campi di destinazione e di drill-through.Those tooltips are based on the destination and drill-through field(s).

Di seguito è riportato un esempio della descrizione comando generata automaticamente quando il pulsante è disabilitato:Here's an example of the autogenerated tooltip when the button is disabled:

"To drill through to Market Basket Analysis [the destination page], select a single data point from Product [the drill-through field]. (Per eseguire il drill-through in Market basket analysis [pagina di destinazione], selezionare un singolo punto dati da Product [campo di drill-through])."To drill through to Market Basket Analysis [the destination page], select a single data point from Product [the drill-through field]."

Descrizione comando generata automaticamente per il pulsante disabilitato

Di seguito è riportato un esempio della descrizione comando generata automaticamente quando il pulsante è abilitato:And here's an example of the autogenerated tooltip when the button is enabled:

"Click to drill through to Market Basket Analysis [the destination page]."(Fare clic per eseguire il drill-through in Market basket analysis [pagina di destinazione])."Click to drill through to Market Basket Analysis [the destination page]."

Descrizione comando generata automaticamente per il pulsante abilitato

Per fornire descrizioni comando personalizzate, è comunque sempre possibile immettere una stringa statica.However, if you'd like to provide custom tooltips, you can always input a static string. È anche possibile applicare la formattazione condizionale alle descrizioni comandi.You can also apply conditional formatting to tooltips.

Passare il contesto di filtroPass filter context

Il pulsante funziona come il drill-through normale: è possibile passare filtri per campi aggiuntivi applicando il filtro incrociato agli oggetti visivi che contengono il campo di drill-through.The button works like the regular drill through: You can pass filters on additional fields by cross-filtering the visuals that contain the drill-through field. Ad esempio, usando CTRL + clic e filtro incrociato, è possibile passare più filtri per Store nella pagina di drill-through, perché le selezioni applicano il filtro incrociato all'oggetto visivo che contiene Product, ovvero il campo di drill-through:For example, using Ctrl + click and cross-filtering, you can pass multiple filters on Store to the drill-through page because your selections cross-filter the visual that contains Product, the drill-through field:

Passaggio del contesto di filtro

Dopo aver selezionato il pulsante di drill-through, vengono passati i filtri sia per il negozio che per il prodotto alla pagina di destinazione:After you select the drill-through button, you see filters on both Store and Product being passed through to the destination page:

Filtri in questa pagina

Contesto di filtro ambiguoAmbiguous filter context

Poiché il pulsante di drill-through non è associato a un singolo oggetto visivo, se la selezione è ambigua, il pulsante viene disabilitato.Since the drill-through button isn't tied to a single visual, if your selection is ambiguous, then the button is disabled.

In questo esempio il pulsante è disabilitato perché due oggetti visivi contengono entrambi una singola selezione per Product.In this example, the button is disabled because two visuals both contain a single selection on Product. L'ambiguità riguarda a quale punto dati di quale oggetto visivo associare l'azione drill-through:There's ambiguity about which data point from which visual to tie the drill-through action to:

Contesto di filtro ambiguo

Personalizzare la formattazione per i pulsanti disabilitatiCustomize formatting for disabled buttons

È possibile personalizzare le opzioni di formattazione per lo stato disabilitato dei pulsanti di drill-through.You can customize the formatting options for the disabled state of drill-through buttons.

Personalizzare la formattazione dei pulsanti disabilitati

Le opzioni di formattazione includono:These formatting options include:

  • Controlli del testo dei pulsanti: testo, colore, spaziatura interna, allineamento, dimensioni e famiglia di caratteriButton text controls: text, color, padding, alignment, size, and font family

    Formattare il testo dei pulsanti disabilitati

  • Controlli di riempimento dei pulsanti: colore, trasparenza e nuova immagine di riempimento (altre informazioni sono presenti nella sezione successiva)Button fill controls: color, transparency, and new fill image (more on this in the next section)

    Riempimento pulsanti disabilitati

  • Controlli delle icone: forma, spaziatura interna, allineamento, colore linea, trasparenza e pesoIcon controls: shape, padding, alignment, line color, transparency, and weight

    Icone pulsanti disabilitati

  • Controlli del contorno: colore, trasparenza, peso, bordi arrotondatiOutline controls: color, transparency, weight, round edges

    Contorno dei pulsanti disabilitati

Impostare la formattazione per il testo del pulsante in modo condizionaleSet formatting for button text conditionally

È possibile usare la formattazione condizionale per modificare il testo del pulsante in base al valore selezionato di un campo.You can use conditional formatting to change the button text based on the selected value of a field. A tale scopo, è necessario creare una misura che restituisce la stringa desiderata in base alla funzione DAX SELECTEDVALUE.To do this, you need to create a measure that outputs the desired string based on the DAX function SELECTEDVALUE.

Di seguito è riportato un esempio di misura che restituisce "See product details" (Vedere i dettagli del prodotto) se NON è selezionato un singolo valore Product e che in caso contrario restituisce "See details for [the selected Product]" (Vedere i dettagli per [prodotto selezionato]):Here's an example measure that outputs "See product details" if a single Product value is NOT selected; otherwise, it outputs "See details for [the selected Product]":

String_for_button = If(SELECTEDVALUE('Product'[Product], 0) == 0, "See product details", "See details for " & SELECTEDVALUE('Product'[Product]))

Dopo aver creato questa misura, selezionare l'opzione Formattazione condizionale per il testo del pulsante:Once you've created this measure, you select the Conditional formatting option for the button text:

Selezionare la formattazione condizionale

Selezionare quindi la misura creata per il testo del pulsante:Then, you select the measure you created for the button text:

Valore basato sul campo

Quando viene selezionato un singolo prodotto, il testo del pulsante sarà:When a single product is selected, the button text reads:

"See details for Word""See details for Word"

Quando viene selezionato un singolo valore

Quando non viene selezionato alcun prodotto oppure vengono selezionati più prodotti, il pulsante è disabilitatoWhen either no products are selected, or more than one product is selected, the button is disabled. e il testo è:The button text reads:

"See product details""See product details"

Quando vengono selezionati più valori

Impostare la formattazione per la descrizione dei comandi in modo condizionaleSet formatting for tooltips conditionally

È possibile formattare in modo condizionale la descrizione comando per il pulsante di drill-through per quando è abilitato e disabilitato.You can conditionally format the tooltip for the drill-through button when it's enabled or disabled. Se è stata usata la formattazione condizionale per impostare dinamicamente la destinazione di drill-through, è possibile che la descrizione comando per lo stato del pulsante contenga maggiori informazioni, in base alla selezione dell'utente finale.If you've used conditional formatting to dynamically set the drill-through destination, you may want the tooltip for the button state to be more informative, based on your end user’s selection. Di seguito sono riportati alcuni esempi:Here are some examples:

  • È possibile impostare la descrizione comando per lo stato disabilitato in modo che sia prescrittivo caso per caso usando una misura personalizzata.You can set the disabled state tooltip to be prescriptive on a case-by-case basis using a custom measure. Se, ad esempio, si vuole che l'utente selezioni un singolo prodotto e un singolo negozio prima di poter eseguire il drill-through nella pagina dell'analisi di mercato, è possibile creare una misura con la logica seguente:For example, if you want the user to select a single product and a single store before they can drill through to the Market Analysis page, you can create a measure with the following logic:

    Se l'utente non ha selezionato un singolo prodotto o un singolo negozio, la misura restituisce: "Select a single product and Ctrl + click to also select a single store." (Selezionare un singolo prodotto e CTRL+clic per selezionare un singolo negozio).If the user hasn't selected either a single product or a single store, the measure returns: “Select a single product and Ctrl + click to also select a single store.”

    Se l'utente ha selezionato un singolo prodotto ma non un singolo negozio, la misura restituisce: "Ctrl + click to also select a single store." (CTRL+clic per selezionare anche un singolo negozio).If the user has selected a single product, but not a single store, the measure returns: “Ctrl + click to also select a single store.”

  • Analogamente, è possibile impostare la descrizione comando dello stato abilitato in modo da essere specifica per la selezione dell'utente.Similarly, you can set the enabled-state tooltip to be specific the user’s selection. Se ad esempio si vuole che l'utente visualizzi il prodotto e il negozio in base ai quali la pagina di drill-through applicherà i filtri,è possibile creare una misura che restituisca:For example, if you want the user to know which product and store the drill-through page will be filtered to, you can create a measure that returns:

    "Click to drill through to [drill-through page name] to see more details on sales for [product name] at [store name] stores." (Fare clic per eseguire il drill-through in [pagina di drill-through] per visualizzare maggiori dettagli sulle vendite di [nome prodotto] nei negozi [nome negozio]).“Click to drill through to [drill-through page name] to see more details on sales for [product name] at [store name] stores.”

Impostare la destinazione del drill-through in modo condizionaleSet the drill-through destination conditionally

È possibile usare la formattazione condizionale per impostare la destinazione di drill-through in base all'output di una misura.You can use conditional formatting to set the drill-through destination based on the output of a measure.

Di seguito sono riportati alcuni scenari in cui potrebbe essere necessario che la destinazione del pulsante di drill-through sia condizionale:Here are some scenarios where you might want the button drill-through destination to be conditional:

  • Si vuole abilitare il drill-through solo in una pagina quando sono state soddisfatte più condizioni.You only want to enable drill through to a page when multiple conditions have been met. In caso contrario, il pulsante è disabilitato.Otherwise the button is disabled.

    Si vuole, ad esempio, che gli utenti selezionino un singolo prodotto e un singolo negozio prima di poter eseguire il drill-through nella pagina dei dettagli di mercato.For example, you want users to select a single product and a single store before they can drill through to the Market details page. In caso contrario, il pulsante è disabilitato.Otherwise the button is disabled.

    Selezionare un prodotto e un negozio

  • Si vuole che il pulsante supporti più destinazioni di drill-through in base alle selezioni dell'utente.You want the button to support multiple drill-through destinations based on user selections.

    Si immagini, ad esempio, di avere più destinazioni (dettagli sul mercato e dettagli sui negozi) in cui gli utenti possono eseguire il drill-through.For example, say you have multiple destinations (Market details and Store details) that users can drill through to. È possibile fare in modo che possano selezionare una destinazione specifica in cui eseguire il drill-through prima che il pulsante venga abilitato per quella destinazione di drill-through.You can have them select a specific destination to drill through to before the button becomes enabled for that drill-through destination.

    Selezionare prodotto e destinazione

  • È anche possibile avere casi interessanti di uno scenario ibrido per supportare più destinazioni di drill-through e condizioni specifiche in cui si vuole disabilitare il pulsante.You may also have interesting cases for a hybrid scenario to support both multiple drill-through destinations and specific conditions where you want the button to be disabled. Informazioni dettagliate su queste tre opzioni sono riportate in seguito.Read on for details about these three options.

Disabilitare il pulsante fino a quando non vengono soddisfatte più condizioniDisable the button until multiple conditions are met

Si osservi il primo caso, in cui si vuole lasciare il pulsante disabilitato fino a quando non vengono soddisfatte le condizioni aggiuntive.Let's look at the first case, where you want to keep the button disabled until additional conditions are met. È necessario creare una misura DAX di base che restituisce una stringa vuota (""), a meno che la condizione non sia stata soddisfatta.You need to create a basic DAX measure that outputs an empty string (“”) unless the condition has been met. Quando questa viene soddisfatta, viene restituito il nome della pagina di destinazione di drill-through.When it's met, it then outputs the name of the drill-through destination page.

Di seguito è riportato un esempio di misura DAX che richiede la selezione di un negozio prima che l'utente possa eseguire il drill-through di un prodotto in una pagina di dettagli dei negozi:Here’s an example DAX measure that requires a Store to be selected before the user can drill through on a Product to Store details page:

Destination logic = If(SELECTEDVALUE(Store[Store], “”)==””, “”, “Store details”)

Dopo aver creato la misura, selezionare il pulsante di formattazione condizionale (fx) accanto a Destinazione per il pulsante:When you've created the measure, you select the conditional formatting (fx) button next to Destination for the button:

Selezionare il pulsante di formattazione condizionale

Per l'ultimo passaggio, selezionare la misura DAX creata come valore del campo per la destinazione:For the last step, you select the DAX measure you created as the field value for the destination:

Destinazione in base al campo

Si noterà che il pulsante è disabilitato anche quando è selezionato un singolo prodotto, perché la misura richiede anche la selezione di un singolo negozio:Now you see the button is disabled even when a single product is selected, because the measure also requires you to select a single store:

Pulsante di drill-through disabilitato

Supportare più destinazioniSupport multiple destinations

Per l'altro caso comune in cui si vogliono supportare più destinazioni, per prima cosa creare una tabella a colonna singola con i nomi delle destinazioni di drill-through:For the other common case where you want to support multiple destinations, you start by creating a single-column table with the names of the drill-through destinations:

Creare una tabella

Power BI usa la corrispondenza esatta della stringa per impostare la destinazione di drill-through, quindi verificare che i valori immessi siano esattamente allineati con i nomi delle pagine di drill-through.Power BI uses exact string match to set the drill-through destination, so double-check that the entered values exactly align with your drill-through page names.

Dopo aver creato la tabella, aggiungerla alla pagina come filtro dei dati a selezione singola:After you've created the table, add it to the page as a single-select slicer:

Filtro dei dati di drill-through

Se è necessario più spazio verticale, convertire il filtro dei dati in un elenco a discesa.If you need more vertical space, convert the slicer to a dropdown. Rimuovere l'intestazione del filtro dei dati e aggiungere una casella di testo con il titolo accanto:Remove the slicer header and add a text box with the title next to it:

Filtro dei dati di drill-through senza intestazione

In alternativa, modificare il filtro dei dati dell'elenco dall'orientamento verticale a quello orizzontale:Alternatively, change the list slicer from vertical to horizontal orientation:

Filtro dei dati orizzontale

Per l'input di destinazione per l'azione di drill-through, selezionare il pulsante della formattazione condizionale (fx) accanto a Destinazione per il pulsante:For the destination input for the drill-through action, select the conditional formatting (fx) button next to Destination for the button:

Selezionare il pulsante di formattazione condizionale

Selezionare il nome della colonna creata, in questo caso Select a destination (Selezionare una destinazione):Select the name of the column you created, in this case, Select a destination:

Selezionare una destinazione

A questo punto si noterà che il pulsante di drill-through viene abilitato solo dopo aver selezionato un prodotto e una destinazione:Now you see that the drill-through button is only enabled when you've selected a product and a destination:

Selezionare prodotto e destinazione

Ibrido dei due scenariHybrid of the two scenarios

Se si è interessati a un ibrido dei due scenari, è possibile creare una misura DAX e farvi riferimento per aggiungere logica aggiuntiva per la selezione della destinazione.If you're interested in a hybrid of the two scenarios, you can create and reference a DAX measure to add additional logic for the destination selection.

Di seguito è riportato un esempio di misura DAX che richiede la selezione di un negozio prima che l'utente possa eseguire il drill-through di un prodotto in una qualsiasi pagina di drill-through:Here’s an example DAX measure that requires the user to select a Store before they can drill through on a Product to any of drill-through pages:

Destination logic = If(SELECTEDVALUE(Store[Store], “”)==””, “”, SELECTEDVALUE(‘Table'[Select a destination]))

In seguito selezionare la misura DAX creata come valore del campo per la destinazione.Then you select the DAX measure you created as the field value for the destination. In questo esempio l'utente deve selezionare un prodotto, un negozio e una pagina di destinazione prima che il pulsante drill-through sia abilitato:In this example, the user would need to select a Product, a Store, and a destination page before the drill-through button is enabled:

Selezionare prodotto e destinazione

LimitazioniLimitations

  • Questo pulsante non consente più destinazioni usando un solo pulsante.This button doesn't allow for multiple destinations using a single button.
  • Questo pulsante supporta solo i drill-through all'interno dello stesso report. In altre parole, non supporta il drill-through tra report.This button only supports drill throughs within the same report; in other words, it doesn't support cross-report drill through.
  • La formattazione dello stato disabilitato per il pulsante è associata alle classi di colore nel tema del report.The disabled state formatting for the button is tied to the color classes in your report theme. Altre informazioni sulle classi di colori.Learn more about color classes.
  • L'azione drill-through funziona per tutti gli oggetti visivi predefiniti e funziona con alcuni oggetti visivi importati da AppSource.The drill-through action works for all built-in visuals, and works with some visuals imported from AppSource. Tuttavia, non è garantito che funzioni con tutti gli oggetti visivi importati da AppSource.However, it isn't guaranteed to work with all visuals imported from AppSource.

Passaggi successiviNext steps

Per altre informazioni sulle funzionalità simili o su come interagire con i pulsanti, vedere gli articoli seguenti:For more information about features that are similar or interact with buttons, take a look at the following articles: