{"componentChunkName":"component---src-templates-blog-post-js","path":"/blog/power-bi-report-page-tooltips-drill-contextual/","result":{"data":{"markdownRemark":{"frontmatter":{"title":"Power BI: tooltips de pagina para drill contextual sem poluir","description":"Report page tooltips transformam o hover em uma mini-dashboard de contexto. Veja como configurar, filtrar e evitar os erros que derrubam a performance.","date":"11 de outubro de 2026","thumbnail":null},"html":"<p>Quem constroi relatorios Power BI para usuarios exigentes conhece o dilema: o tomador de decisao quer densidade de informacao, mas uma pagina com vinte visuais vira um painel ilegivel. O instinto comum e empilhar cards, matrizes e botoes de drillthrough em uma mesma tela. Existe um recurso subutilizado que resolve boa parte disso sem poluir o layout: os <strong>report page tooltips</strong>, ou tooltips de pagina.</p>\n<p>Em vez da tooltip default (que mostra apenas os valores do ponto de dado), voce desenha uma pagina inteira do relatorio e a vincula como tooltip de um visual. Quando o usuario passa o mouse sobre uma barra, uma fatia de pizza ou uma celula, o Power BI renderiza essa pagina filtrada pelo contexto daquele ponto. E uma mini-dashboard contextual que so aparece no hover e some quando o mouse sai.</p>\n<p><strong>Como configurar na pratica</strong></p>\n<p>O fluxo tem quatro passos que precisam estar todos corretos, ou a tooltip simplesmente nao aparece:</p>\n<ol>\n<li>Crie uma pagina nova e, em Format > Page information, ative <strong>Allow use as tooltip</strong>.</li>\n<li>Em Page size, escolha o tipo <strong>Tooltip</strong> (320x240 por padrao) ou defina um canvas custom pequeno. Paginas grandes demais ficam cortadas ou lentas.</li>\n<li>Monte os visuais dessa pagina normalmente: um card, um grafico de tendencia, uma pequena matriz.</li>\n<li>No visual de origem (a pagina principal), em Format > Tooltip, troque o tipo de <strong>Default</strong> para <strong>Report page</strong> e selecione a pagina criada.</li>\n</ol>\n<p>O ponto que mais gera confusao e o <strong>filtro de contexto</strong>. A tooltip so recebe o contexto da coluna que esta no eixo ou na legenda do visual de origem automaticamente. Se a sua pagina de tooltip usa uma medida que depende de uma dimensao diferente, nada filtra e voce ve o total geral em todo hover. A solucao e adicionar, no Filters pane da pagina de tooltip, a coluna pela qual voce quer filtrar no bucket <strong>Keep all filters</strong> apropriado, ou garantir que o campo de categoria esteja no mesmo caminho de relacionamento.</p>\n<p><strong>Tooltips condicionais por medida</strong></p>\n<p>Um uso avancado pouco conhecido: voce pode definir, via Field > tooltip, qual pagina de tooltip aparece com base em uma medida que retorna o nome da pagina. Isso permite mostrar uma tooltip diferente para registros em alerta (ex.: margem negativa) versus registros normais, sem duplicar o visual. A medida precisa retornar exatamente o nome da pagina de tooltip como string; qualquer divergencia faz cair no comportamento default silenciosamente.</p>\n<p><strong>Os erros que derrubam a performance</strong></p>\n<p>Tooltips de pagina sao poderosas, mas cada hover dispara a renderizacao de uma pagina inteira. Em modelos DirectQuery ou com medidas DAX pesadas, isso significa uma query ao backend a cada passada de mouse. Alguns cuidados obrigatorios em producao:</p>\n<ul>\n<li><strong>Mantenha a tooltip enxuta.</strong> Um ou dois visuais no maximo. Uma matriz com dezenas de linhas na tooltip e um convite a lentidao e, pior, so cabe uma fracao dela na tela.</li>\n<li><strong>Cuidado com medidas caras no hover.</strong> DISTINCTCOUNT, time intelligence complexo e iteradores sobre tabelas grandes multiplicam o custo porque disparam a cada movimento do cursor. Em DirectQuery, considere pre-agregar.</li>\n<li><strong>Evite slicers e interatividade</strong> dentro da pagina de tooltip; eles nao funcionam no hover e so adicionam peso.</li>\n<li><strong>Teste em touch devices.</strong> Tooltips de hover nao existem em mobile por tap; se o relatorio e consumido em tablets, a informacao da tooltip nao pode ser critica, precisa haver um caminho alternativo (drillthrough, por exemplo).</li>\n</ul>\n<p><strong>Tooltip de pagina vs drillthrough vs visual dedicado</strong></p>\n<p>O criterio de decisao e o nivel de interacao esperado:</p>\n<ul>\n<li><strong>Report page tooltip</strong> quando o usuario so precisa espiar contexto rapido sem clicar e sem sair da pagina. Leitura, nao navegacao.</li>\n<li><strong>Drillthrough</strong> quando ele precisa investigar a fundo, filtrar, ordenar e permanecer no detalhe. Hover nao basta.</li>\n<li><strong>Visual dedicado na propria pagina</strong> quando a informacao e importante o suficiente para estar sempre visivel, sem depender de interacao.</li>\n</ul>\n<p>Tooltips de pagina sao, no fim, uma ferramenta de densidade sem poluicao: entregam a camada de contexto que o executivo quer sem transformar a tela principal em um amontoado de visuais.</p>\n<p>Se a sua empresa precisa de relatorios Power BI que equilibrem profundidade analitica e performance em escala, a Dynamic Solucoes atua desde a modelagem do dataset ate o design de experiencia do relatorio, com planos de suporte continuo e consultoria especializada para o ecossistema Microsoft.</p>\n<p>Anyone who builds Power BI reports for demanding users knows the dilemma: decision-makers want information density, but a page with twenty visuals becomes an unreadable dashboard. The common instinct is to stack cards, matrices, and drillthrough buttons on a single screen. There is an underused feature that solves much of this without cluttering the layout: <strong>report page tooltips</strong>.</p>\n<p>Instead of the default tooltip (which only shows the values of the data point), you design an entire report page and bind it as the tooltip of a visual. When the user hovers over a bar, a pie slice, or a cell, Power BI renders that page filtered by the context of that point. It is a contextual mini-dashboard that appears only on hover and disappears when the mouse leaves.</p>\n<p><strong>How to set it up in practice</strong></p>\n<p>The flow has four steps that all need to be correct, or the tooltip simply will not appear:</p>\n<ol>\n<li>Create a new page and, under Format > Page information, enable <strong>Allow use as tooltip</strong>.</li>\n<li>Under Page size, choose the <strong>Tooltip</strong> type (320x240 by default) or define a small custom canvas. Pages that are too large get cut off or slow.</li>\n<li>Build the visuals for that page normally: a card, a trend chart, a small matrix.</li>\n<li>On the source visual (the main page), under Format > Tooltip, switch the type from <strong>Default</strong> to <strong>Report page</strong> and select the page you created.</li>\n</ol>\n<p>The point that causes the most confusion is <strong>context filtering</strong>. The tooltip only automatically receives the context of the column that is on the axis or legend of the source visual. If your tooltip page uses a measure that depends on a different dimension, nothing filters and you see the grand total on every hover. The fix is to add, in the Filters pane of the tooltip page, the column you want to filter by in the appropriate <strong>Keep all filters</strong> bucket, or make sure the category field is on the same relationship path.</p>\n<p><strong>Conditional tooltips by measure</strong></p>\n<p>A little-known advanced use: you can define, via Field > tooltip, which tooltip page appears based on a measure that returns the page name. This lets you show a different tooltip for records in alert state (e.g., negative margin) versus normal records, without duplicating the visual. The measure must return exactly the tooltip page name as a string; any mismatch silently falls back to the default behavior.</p>\n<p><strong>The mistakes that kill performance</strong></p>\n<p>Page tooltips are powerful, but each hover triggers the rendering of an entire page. In DirectQuery models or with heavy DAX measures, that means a backend query on every mouse pass. Some mandatory precautions in production:</p>\n<ul>\n<li><strong>Keep the tooltip lean.</strong> One or two visuals at most. A matrix with dozens of rows in the tooltip is an invitation to slowness and, worse, only a fraction of it fits on screen.</li>\n<li><strong>Watch out for expensive measures on hover.</strong> DISTINCTCOUNT, complex time intelligence, and iterators over large tables multiply the cost because they fire on every cursor movement. In DirectQuery, consider pre-aggregating.</li>\n<li><strong>Avoid slicers and interactivity</strong> inside the tooltip page; they do not work on hover and only add weight.</li>\n<li><strong>Test on touch devices.</strong> Hover tooltips do not exist on mobile via tap; if the report is consumed on tablets, the tooltip information cannot be critical, there must be an alternate path (drillthrough, for example).</li>\n</ul>\n<p><strong>Page tooltip vs drillthrough vs dedicated visual</strong></p>\n<p>The decision criterion is the level of interaction expected:</p>\n<ul>\n<li><strong>Report page tooltip</strong> when the user just needs a quick peek at context without clicking and without leaving the page. Reading, not navigation.</li>\n<li><strong>Drillthrough</strong> when they need to dig deep, filter, sort, and stay in the detail. Hover is not enough.</li>\n<li><strong>Dedicated visual on the page itself</strong> when the information is important enough to always be visible, without depending on interaction.</li>\n</ul>\n<p>Page tooltips are, in the end, a tool for density without clutter: they deliver the layer of context the executive wants without turning the main screen into a pile of visuals.</p>\n<p>If your company needs Power BI reports that balance analytical depth and performance at scale, Dynamic Solucoes works from dataset modeling all the way to report experience design, with continuous support plans and specialized consulting for the Microsoft ecosystem.</p>"}},"pageContext":{"slug":"/blog/power-bi-report-page-tooltips-drill-contextual/","previousPost":null,"nextPost":{"frontmatter":{"title":"Dataverse: concurrency com row versioning e optimistic locking"},"fields":{"slug":"/blog/dataverse-optimistic-concurrency-row-version/"}}}},"staticQueryHashes":["2269431855"]}