Criar um botão de drill-through no Power BICreate a drill-through button in Power BI

Você pode criar um botão de detalhamento no Power BI que faça o detalhamento em uma página com dados filtrados para um contexto específico.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.

Uma maneira de fazer o detalhamento em um relatório é clicar com o botão direito do mouse em um visual.One way to drill through in a report is to right-click in a visual. Se você quiser que a ação de detalhar seja mais óbvia, poderá criar um botão para isso.If you want the drill-through action to be more obvious, you can create a drill-though button instead. Um botão pode aumentar a capacidade de descoberta de cenários de detalhamento importantes em seus relatórios.The button can increase the discoverability of important drill-through scenarios in your reports. Você pode determinar condicionalmente grande parte do visual e da ação do botão.You can conditionally determine much of how the button looks and acts. Por exemplo, você poderá mostrar texto diferente em um botão se determinadas condições forem atendidas.For example, you can show different text on a button if certain conditions are met. Leia para mais detalhes.Read on for details.

Neste exemplo, depois que você selecionar a barra de palavras no gráfico, o botão Ver detalhes estará habilitado.In this example, after you select the Word bar in the chart, the See details button is enabled.

Botão Ver detalhes

Ao selecionar o botão Ver detalhes, você detalhará a página Análise da cesta de compras.When you select the See details button, you drill through to the Market Basket Analysis page. Como você pode ver no visual à esquerda, a página de drill-through agora está filtrada para o Word.As you can see from the visual on the left, the drill-through page is now filtered for Word.

Visual filtrado

Configurar um botão de drill-throughSet up a drill-through button

Para configurar um botão de drill-through, primeiro você precisa configurar uma página de drill-through válida dentro do seu relatório.To set up a drill-through button, you first need to set up a valid drill-through page within your report. Em seguida, você precisará criar um botão com Executar consulta drill-through como o tipo de ação e selecionar a página de drill-through como o Destino.Then, you need to create a button with Drill through as the action type and select the drill-through page as the Destination.

Como o botão de detalhamento tem dois estados (habilitado versus desabilitado), você vê duas opções de dica de ferramenta.Because the drill-through button has two states, enabled vs. disabled, you see two tooltip options.

Configurar o botão de drill-through

Se você deixar as caixas de dicas de ferramenta em branco, o Power BI vai gerar automaticamente as dicas de ferramenta.If you leave the tooltips boxes blank, Power BI automatically generates tooltips. Essas dicas de ferramenta são baseadas nos campos de destino e drill-through.Those tooltips are based on the destination and drill-through field(s).

Veja um exemplo da dica de ferramenta gerada automaticamente quando o botão é desabilitado:Here's an example of the autogenerated tooltip when the button is disabled:

"Para detalhar a Análise da cesta de compras (a página de destino), selecione um único ponto de dados do produto (o campo de detalhamento).""To drill through to Market Basket Analysis [the destination page], select a single data point from Product [the drill-through field]."

Dica de ferramenta gerada automaticamente desabilitada

Além disso, veja um exemplo da dica de ferramenta gerada automaticamente quando o botão é habilitado:And here's an example of the autogenerated tooltip when the button is enabled:

"Clique para detalhar a Análise da cesta de compras (a página de destino).""Click to drill through to Market Basket Analysis [the destination page]."

Dica de ferramenta gerada automaticamente habilitada

No entanto, se você quiser fornecer dicas de ferramenta personalizadas, sempre poderá inserir uma cadeia de caracteres estática.However, if you'd like to provide custom tooltips, you can always input a static string. Você também pode aplicar a formatação condicional a dicas de ferramenta.You can also apply conditional formatting to tooltips.

Passar contexto do filtroPass filter context

O botão funciona como o detalhamento regular: você pode passar filtros em campos adicionais realizando a filtragem cruzada dos visuais que contêm o campo de detalhamento.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. Por exemplo, usando Ctrl + clique e a filtragem cruzada, você pode passar vários filtros na Loja para a página de drill-through porque suas seleções realizam filtragem cruzada com o visual que contém o Produto, o campo de 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:

Passar contexto de filtro

Após selecionar o botão de detalhamento, você vê filtros na Loja e no Produto sendo transmitidos por meio da página de destino:After you select the drill-through button, you see filters on both Store and Product being passed through to the destination page:

Filtros nesta página

Contexto de filtro ambíguoAmbiguous filter context

Como o botão de drill-through não está vinculado a um único visual, se a sua seleção for ambígua, o botão será desabilitado.Since the drill-through button isn't tied to a single visual, if your selection is ambiguous, then the button is disabled.

Neste exemplo, o botão está desabilitado porque dois visuais contêm uma única seleção no Produto.In this example, the button is disabled because two visuals both contain a single selection on Product. Há uma ambiguidade sobre qual ponto de dados de qual visual para associar a ação de drill-through para:There's ambiguity about which data point from which visual to tie the drill-through action to:

Contexto de filtro ambíguo

Personalizar a formatação de botões desabilitadosCustomize formatting for disabled buttons

Você pode personalizar as opções de formatação para o estado desabilitado dos botões de detalhamento.You can customize the formatting options for the disabled state of drill-through buttons.

Personalizar a formatação do botão desabilitado

Essas opções de formatação incluem:These formatting options include:

  • Controles de texto do botão: texto, cor, preenchimento, alinhamento, tamanho e família de fontesButton text controls: text, color, padding, alignment, size, and font family

    Formatar texto do botão desabilitado

  • Controles de preenchimento do botão: cor, transparência e nova imagem de preenchimento (confira na próxima seção)Button fill controls: color, transparency, and new fill image (more on this in the next section)

    Preenchimento do botão desabilitado

  • Controles de ícone: forma, preenchimento, alinhamento, cor da linha, transparência e pesoIcon controls: shape, padding, alignment, line color, transparency, and weight

    Ícones do botão desabilitado

  • Controles de contorno: cor, transparência, peso, bordas arredondadasOutline controls: color, transparency, weight, round edges

    Contorno do botão desabilitado

Definir condicionalmente a formatação para o texto do botãoSet formatting for button text conditionally

Você pode usar a formatação condicional para alterar o texto do botão com base no valor selecionado de um campo.You can use conditional formatting to change the button text based on the selected value of a field. Para fazer isso, você precisa criar uma medida que gere a cadeia de caracteres desejada com base na função DAX SELECTEDVALUE.To do this, you need to create a measure that outputs the desired string based on the DAX function SELECTEDVALUE.

Veja uma medida de exemplo que vai gerar “Ver detalhes de produto” se um único valor Produto NÃO estiver selecionado; caso contrário, ela vai gerar “Ver detalhes para [o Produto selecionado]”: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]))

Depois de criar essa medida, selecione a opção Formatação condicional do texto do botão:Once you've created this measure, you select the Conditional formatting option for the button text:

Selecione a Formatação condicional

Em seguida, selecione a medida que você criou para o texto do botão:Then, you select the measure you created for the button text:

Valor baseado em campo

Quando um único produto está selecionado, no texto do botão se lê:When a single product is selected, the button text reads:

"Ver detalhes para Word""See details for Word"

Quando um único valor é selecionado

Quando nenhum ou mais de um produto está selecionado, o botão é desabilitado.When either no products are selected, or more than one product is selected, the button is disabled. O texto do botão indica:The button text reads:

"Ver detalhes do produto""See product details"

Quando vários valores estão selecionados

Definir condicionalmente a formatação para dicas de ferramentaSet formatting for tooltips conditionally

Você poderá formatar condicionalmente a dica de ferramenta para o botão de detalhamento quando ele estiver habilitado ou desabilitado.You can conditionally format the tooltip for the drill-through button when it's enabled or disabled. Se você usou a formatação condicional para definir dinamicamente o destino do detalhamento, talvez queira que a dica de ferramenta para o estado do botão seja mais informativa, com base na seleção do usuário final.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. Aqui estão alguns exemplos:Here are some examples:

  • Você pode definir a dica de ferramenta de estado desabilitado para ser prescritiva dependendo do caso, usando uma medida personalizada.You can set the disabled state tooltip to be prescriptive on a case-by-case basis using a custom measure. Por exemplo, se você quiser que o usuário selecione um único produto e uma única loja antes que possa detalhar a página Análise de mercado, poderá criar uma medida com a seguinte lógica: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 o usuário não tiver selecionado um único produto ou uma única loja, a medida retornará: "Selecione um único produto, Ctrl + clique para selecionar também uma única loja."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 o usuário tiver selecionado um único produto, mas não uma única loja, a medida retornará: "Ctrl + clique para selecionar também uma única loja."If the user has selected a single product, but not a single store, the measure returns: “Ctrl + click to also select a single store.”

  • Da mesma forma, você pode definir a dica de ferramenta de estado habilitado para que seja específica da seleção do usuário.Similarly, you can set the enabled-state tooltip to be specific the user’s selection. Por exemplo, se você quiser que o usuário saiba para qual produto e loja a página de detalhamento será filtrada, poderá criar uma medida que retorna: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:

    "Clique para detalhar o [nome da página de detalhamento] para ver mais detalhes sobre vendas do [nome do produto] em lojas [nome da loja]."“Click to drill through to [drill-through page name] to see more details on sales for [product name] at [store name] stores.”

Configurar o destino do detalhamento condicionalmenteSet the drill-through destination conditionally

Você pode usar a formatação condicional para definir o destino do detalhamento com base no resultado de uma medição.You can use conditional formatting to set the drill-through destination based on the output of a measure.

Aqui estão alguns cenários em que você pode desejar que o botão de destino do detalhamento seja condicional:Here are some scenarios where you might want the button drill-through destination to be conditional:

  • Convém habilitar o detalhamento de uma página quando várias condições são atendidas.You only want to enable drill through to a page when multiple conditions have been met. Caso contrário, o botão será desabilitado.Otherwise the button is disabled.

    Por exemplo, você deseja que os usuários selecionem um único produto e uma única loja antes que possam detalhar a página de detalhes do mercado.For example, you want users to select a single product and a single store before they can drill through to the Market details page. Caso contrário, o botão será desabilitado.Otherwise the button is disabled.

    Selecionar um produto e uma loja

  • Você deseja que o botão dê suporte a vários destinos de detalhamento com base nas seleções do usuário.You want the button to support multiple drill-through destinations based on user selections.

    Por exemplo, digamos que você tenha vários destinos (detalhes do mercado e detalhes da loja) que os usuários podem detalhar.For example, say you have multiple destinations (Market details and Store details) that users can drill through to. Você pode fazer com que eles selecionem um destino específico para detalhar antes que o botão se torne habilitado para esse destino de detalhamento.You can have them select a specific destination to drill through to before the button becomes enabled for that drill-through destination.

    Selecionar produto e destino

  • Você também pode ter casos interessantes de um cenário híbrido para dar suporte a vários destinos de detalhamento e condições específicas em que deseja que o botão seja desabilitado.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. Leia os detalhes sobre essas três opções.Read on for details about these three options.

Desabilitar o botão até que várias condições sejam atendidasDisable the button until multiple conditions are met

Vamos examinar o primeiro caso, em que você deseja manter o botão desabilitado até que condições adicionais sejam atendidas.Let's look at the first case, where you want to keep the button disabled until additional conditions are met. Você precisa criar uma medida DAX básica que produza uma cadeia de caracteres vazia (""), a menos que a condição tenha sido atendida.You need to create a basic DAX measure that outputs an empty string (“”) unless the condition has been met. Quando é atendida, gera o nome da página de destino de detalhamento.When it's met, it then outputs the name of the drill-through destination page.

Aqui está um exemplo de medida DAX que requer a seleção de uma loja antes que o usuário possa detalhar um produto na página de detalhes da loja: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”)

Depois de criar essa medida, selecione o botão de formatação condicional (fx) ao lado de Destino para o botão:When you've created the measure, you select the conditional formatting (fx) button next to Destination for the button:

Selecionar o botão de formatação condicional

Para a última etapa, selecione a medida DAX criada como o valor de campo para o destino:For the last step, you select the DAX measure you created as the field value for the destination:

Destino com base no campo

Agora você vê que o botão está desabilitado mesmo quando um único produto é selecionado porque a medida também exige que você selecione uma única loja: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:

Botão de detalhamento desabilitado

Suporte para vários destinosSupport multiple destinations

Para o outro caso comum em que você deseja dar suporte a vários destinos, comece criando uma tabela de coluna única com os nomes dos destinos de detalhamento: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:

Criar uma tabela

O Power BI usa correspondência exata da cadeia de caracteres para definir o destino de detalhamento. Portanto, verifique novamente se os valores inseridos estão alinhados de forma exata com os nomes da página de detalhamento.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.

Depois de criar a tabela, adicione à página como uma segmentação de seleção única:After you've created the table, add it to the page as a single-select slicer:

Segmentação do detalhamento

Se você precisar de mais espaço vertical, converta a segmentação em uma lista suspensa.If you need more vertical space, convert the slicer to a dropdown. Remova o cabeçalho da segmentação e adicione uma caixa de texto com o título ao lado:Remove the slicer header and add a text box with the title next to it:

Segmentação do detalhamento sem cabeçalho

Como alternativa, altere a segmentação de lista da orientação vertical para horizontal:Alternatively, change the list slicer from vertical to horizontal orientation:

Segmentação horizontal

Para a entrada de destino da ação de detalhamento, selecione o botão de formatação condicional (fx) ao lado de Destino para o botão:For the destination input for the drill-through action, select the conditional formatting (fx) button next to Destination for the button:

Selecionar o botão de formatação condicional

Selecione o nome da coluna que você criou. Nesse caso, Selecionar um destino:Select the name of the column you created, in this case, Select a destination:

Selecionar um destino

Agora, você vê que o botão de detalhamento só é habilitado com a seleção de um produto e um destino:Now you see that the drill-through button is only enabled when you've selected a product and a destination:

Selecionar produto e destino

Híbrido dos dois cenáriosHybrid of the two scenarios

Se você estiver interessado em um híbrido dos dois cenários, poderá criar e fazer referência a uma medida DAX para adicionar mais lógica à seleção de destino.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.

Aqui está um exemplo de medida DAX que requer que o usuário selecione uma loja antes que possa detalhar um produto em qualquer página de detalhamento: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]))

Selecione a medida DAX criada como o valor de campo para o destino.Then you select the DAX measure you created as the field value for the destination. Neste exemplo, o usuário precisaria selecionar um produto, uma loja e uma página de destino antes que o botão de detalhamento fosse habilitado:In this example, the user would need to select a Product, a Store, and a destination page before the drill-through button is enabled:

Selecionar produto, loja e destino

LimitaçõesLimitations

  • Esse botão não permite vários destinos usando um único botão.This button doesn't allow for multiple destinations using a single button.
  • Esse botão só dá suporte a drill-throughs dentro do mesmo relatório; em outras palavras, ele não dá suporte ao drill-through de relatório cruzado.This button only supports drill throughs within the same report; in other words, it doesn't support cross-report drill through.
  • A formatação de estado desabilitada para o botão está associada às classes de cor em seu tema de relatório.The disabled state formatting for the button is tied to the color classes in your report theme. Saiba mais sobre classes de cor.Learn more about color classes.
  • A ação de drill-through funciona para todos os visuais internos e com alguns visuais importados do AppSource.The drill-through action works for all built-in visuals, and works with some visuals imported from AppSource. No entanto, não há garantia de que funcione com todos os visuais importados do AppSource.However, it isn't guaranteed to work with all visuals imported from AppSource.

Próximas etapasNext steps

Para obter mais informações sobre os recursos que são semelhantes ou interagem com botões, consulte os seguintes artigos:For more information about features that are similar or interact with buttons, take a look at the following articles: