fx

Power BI

Boas Práticas

Regras de modelagem, relatório e comunicação para Power BI, com severidade, exemplos e fontes, cross-linkadas às funções DAX que citam.

Regras

90 regras em 8 categorias

Performance

  • #1

    Evite tipos de dados de ponto flutuante

    Microsoft BPA
    media

    O que

    O tipo Número decimal (`Double` no TOM/TMDL) é ponto flutuante: guarda um valor aproximado, não exato.

    Por que

    Pode gerar erros de arredondamento imprevisíveis (comparações de igualdade, RANKX, somas grandes com valores positivos e negativos) e pior desempenho em alguns cenários, segundo a própria regra do BPA.

    Como

    Use Número inteiro (`Int64`) ou Número decimal fixo (`Decimal` no TOM, 4 casas decimais) quando a precisão permitir. No Power Query, use Table.TransformColumnTypes com Int64.Type ou Currency.Type.

    Evite

    Número decimal (Double)  3.14159265358979

    Prefira

    Número decimal fixo (Decimal)  3.1416  — ou Número inteiro para chaves e contagens

    Fonte: Microsoft (ID: AVOID_FLOATING_POINT_DATA_TYPES)

  • #2

    Defina IsAvailableInMdx como false em colunas não utilizadas em MDX

    Microsoft BPA
    media

    O que

    A propriedade IsAvailableInMdx determina se uma coluna está disponível para consultas MDX (usadas pelo Excel e outras ferramentas OLAP). Manter essa propriedade ativa em colunas desnecessárias consome recursos.

    Por que

    Colunas marcadas como disponíveis em MDX são processadas adicionalmente durante a criação de hierarquias de atributos, aumentando o tempo de processamento e o tamanho do modelo.

    Como

    No Tabular Editor, selecione colunas que não serão usadas em análises Excel/OLAP e defina IsAvailableInMdx = false. Boas candidatas: colunas ocultas, como chaves e colunas técnicas, desde que não sejam usadas em "Classificar por coluna" nem em hierarquias. Essas precisam continuar com true (ver Prevenção de Erros #7).

    Fonte: Microsoft (ID: ISAVAILABLEINMDX_FALSE_NONATTRIBUTE_COLUMNS)

  • #3

    Evite relacionamentos bidirecionais em colunas de alta cardinalidade

    Microsoft BPA
    media

    O que

    Relacionamentos bidirecionais (com filtro cruzado em ambas as direções) em colunas com muitos valores únicos forçam o mecanismo a processar um volume muito maior de combinações durante a filtragem.

    Por que

    A performance de consultas pode degradar exponencialmente. Um relacionamento bidirecional entre duas tabelas com 100.000 registros cada pode gerar milhões de combinações a serem avaliadas.

    Como

    Mantenha relacionamentos como unidirecionais sempre que possível. Use CROSSFILTER() em DAX apenas nas medidas específicas que necessitam do filtro bidirecional.

    Prefira

    CALCULATE([Vendas], CROSSFILTER(Produtos[ID], Vendas[ProdutoID], Both))

    Fonte: Microsoft (ID: AVOID_BI-DIRECTIONAL_RELATIONSHIPS_AGAINST_HIGH-CARDINALITY_COLUMNS)

  • #4

    Reduza o uso de colunas calculadas com a função RELATED

    Microsoft BPA
    media

    O que

    Colunas calculadas que usam RELATED() buscam valores de tabelas relacionadas. Cada linha da tabela executa essa busca, o que é computacionalmente caro durante o processamento.

    Por que

    O uso extensivo de RELATED em colunas calculadas aumenta significativamente o tempo de refresh do modelo. Em tabelas com milhões de linhas, isso pode adicionar minutos ao processamento.

    Como

    Traga a coluna já pronta na origem: numa view do banco ou mesclando as consultas no Power Query. A junção passa a acontecer no ETL (de preferência dobrada para o banco, via Query Folding) e a coluna calculada com RELATED deixa de existir no modelo.

    Fonte: Microsoft (ID: REDUCE_USAGE_OF_CALCULATED_COLUMNS_THAT_USE_THE_RELATED_FUNCTION)

  • #5

    Prefira o esquema estrela ao invés de snowflake

    Microsoft BPA
    media

    O que

    O esquema estrela (star schema) possui tabelas de dimensão diretamente conectadas à tabela fato. O snowflake normaliza dimensões em múltiplas tabelas relacionadas, criando cadeias de relacionamentos.

    Por que

    O mecanismo VertiPaq é otimizado para star schema. Estruturas snowflake forçam navegação por múltiplos relacionamentos, reduzindo a eficiência da compressão e aumentando o tempo de consulta.

    Como

    Desnormalize dimensões no Power Query. Combine tabelas relacionadas (ex: Categoria → Subcategoria → Produto) em uma única tabela de dimensão achatada.

    Evite

    Snowflake:  Vendas → Produto → Subcategoria → Categoria

    Prefira

    Estrela:  Vendas → Produto (com Subcategoria e Categoria como colunas)

    Fonte: Microsoft (ID: SNOWFLAKE_SCHEMA_ARCHITECTURE)

  • #6

    Inclua uma tabela de datas dedicada no modelo

    Microsoft BPA
    media

    O que

    Uma tabela de datas (calendário) dedicada contém uma linha para cada dia do período de análise, com colunas como Ano, Mês, Trimestre, Semana, etc. Ela serve como base para toda inteligência temporal.

    Por que

    Sem uma tabela de datas adequada, funções de Time Intelligence (YTD, MTD, SAMEPERIODLASTYEAR) não funcionam corretamente ou apresentam resultados inconsistentes.

    Como

    Crie uma tabela de calendário usando CALENDAR() ou CALENDARAUTO() em DAX, ou importe uma tabela pronta. Garanta que cubra todo o período dos seus dados, sem lacunas.

    Prefira

    Calendario = CALENDAR(DATE(2020,1,1), DATE(2025,12,31))

    Fonte: Microsoft (ID: MODEL_SHOULD_HAVE_A_DATE_TABLE)

  • #7

    Marque tabelas de calendário como tabela de datas

    Microsoft BPA
    media

    O que

    O Power BI permite marcar oficialmente uma tabela como "Date Table". Isso ativa otimizações internas e garante o funcionamento correto das funções de Time Intelligence.

    Por que

    Tabelas não marcadas podem apresentar comportamento inconsistente em funções como TOTALYTD, DATEADD e PARALLELPERIOD. O Power BI também não consegue otimizar consultas temporais adequadamente.

    Como

    Clique com botão direito na tabela de datas → Marcar como tabela de datas → Selecione a coluna de data. Certifique-se que a coluna de data não tem valores nulos ou duplicados.

    Fonte: Microsoft (ID: DATE/CALENDAR_TABLES_SHOULD_BE_MARKED_AS_A_DATE_TABLE)

  • #8

    Desabilite a criação automática de tabelas de datas

    Microsoft BPA
    media

    O que

    Por padrão, o Power BI cria automaticamente tabelas de datas ocultas para cada coluna do tipo Date no modelo. Isso gera redundância quando você já possui uma tabela de calendário dedicada.

    Por que

    Cada tabela automática consome memória adicional e pode causar confusão em Time Intelligence. Um modelo com 10 colunas de data terá 10 tabelas ocultas desnecessárias.

    Como

    Vá em Arquivo → Opções → Arquivo Atual → Carregamento de Dados → desmarque "Tabela de datas automática para inteligência de tempo".

    Fonte: Microsoft (ID: REMOVE_AUTO-DATE_TABLE)

  • #9

    Evite excesso de relacionamentos bidirecionais ou muitos-para-muitos

    Microsoft BPA
    media

    O que

    Modelos com muitos relacionamentos bidirecionais ou muitos-para-muitos (M:M) criam múltiplos caminhos de filtragem e ambiguidades que o mecanismo precisa resolver a cada consulta.

    Por que

    Cada relacionamento complexo adicional aumenta exponencialmente as possibilidades de propagação de filtro. Isso resulta em consultas lentas e, frequentemente, em resultados inesperados.

    Como

    Revise seu modelo e elimine relacionamentos bidirecionais desnecessários. Para M:M, considere usar tabelas ponte ou reestruturar o modelo. Use CROSSFILTER() pontualmente em DAX quando necessário.

    Fonte: Microsoft (ID: AVOID_EXCESSIVE_BI-DIRECTIONAL_OR_MANY-TO-MANY_RELATIONSHIPS)

  • #10

    Minimize transformações complexas no Power Query

    Microsoft BPA
    media

    O que

    Transformações como parsing de JSON/XML, operações recursivas, e múltiplas mesclagens aninhadas no Power Query são executadas durante cada refresh, consumindo tempo e recursos.

    Por que

    Transformações complexas aumentam drasticamente o tempo de atualização. Em cenários de refresh incremental ou atualizações frequentes, isso pode tornar o modelo inviável.

    Como

    Mova transformações pesadas para a fonte de dados (SQL, Data Factory, etc.). Use staging tables no banco. No Power Query, prefira operações nativas como Table.TransformColumns sobre iterações.

    Fonte: Microsoft (ID: MINIMIZE_POWER_QUERY_TRANSFORMATIONS)

  • #11

    Configure relacionamentos muitos-para-muitos como unidirecionais

    Microsoft BPA
    media

    O que

    Relacionamentos M:M com filtro bidirecional propagam filtros em ambas as direções através da tabela ponte, criando loops de filtragem que degradam a performance.

    Por que

    Filtros bidirecionais em M:M podem causar resultados duplicados e consultas extremamente lentas. O mecanismo precisa resolver circularidades a cada interação do usuário.

    Como

    Mantenha relacionamentos M:M como Single (unidirecional). Use CROSSFILTER() em DAX apenas nas medidas que realmente necessitam propagação em ambas as direções.

    Fonte: Microsoft (ID: MANY-TO-MANY_RELATIONSHIPS_SHOULD_BE_SINGLE-DIRECTION)

  • #12

    Reduza o uso de tabelas calculadas

    Microsoft BPA
    media

    O que

    Tabelas calculadas são criadas via DAX e recalculadas durante cada refresh do modelo. Diferente de tabelas importadas, elas não se beneficiam de otimizações de carregamento.

    Por que

    Tabelas calculadas são processadas após todas as outras tabelas, adicionando tempo ao refresh. Além disso, o DAX usado para criá-las pode ser menos eficiente que operações de ETL.

    Como

    Substitua tabelas calculadas por tabelas criadas no Power Query sempre que possível. Use tabelas calculadas apenas para cenários específicos como CALENDAR(), SUMMARIZE() para grupos pequenos, ou tabelas de parâmetros.

    Fonte: Microsoft (ID: REDUCE_USAGE_OF_CALCULATED_TABLES)

  • #13

    Reduza o uso de colunas de texto longo com alta cardinalidade

    Microsoft BPA
    media

    O que

    Colunas de texto com muitos valores únicos e strings longas (descrições, comentários, URLs) ocupam espaço desproporcional no modelo e são difíceis de comprimir pelo VertiPaq.

    Por que

    Uma única coluna de descrição com 500.000 textos únicos de 200 caracteres pode ocupar mais espaço que todas as outras colunas numéricas combinadas.

    Como

    Remova colunas de texto longo que não serão usadas em análises. Se necessário mantê-las, considere truncar (Text.Start no Power Query) ou criar uma tabela separada carregada sob demanda.

    Fonte: Microsoft (ID: REDUCE_USAGE_OF_LONG-LENGTH_COLUMNS_WITH_HIGH_CARDINALITY)

  • #14

    Separe data e hora em colunas distintas

    Microsoft BPA
    media

    O que

    Colunas DateTime que contêm tanto data quanto hora têm cardinalidade muito maior que colunas de data pura. Cada combinação única de data+hora é um valor distinto.

    Por que

    Uma coluna de data com 3 anos tem ~1.095 valores únicos. A mesma coluna com timestamp de minuto tem ~1,5 milhão de valores únicos. Isso impacta diretamente a compressão e a memória.

    Como

    Crie colunas separadas para Data e Hora. Use Date.From() para extrair a data e Time.From() para a hora no Power Query. Relacione a tabela fato apenas pela coluna de data.

    Prefira

    Data = Date.From([DataHora])
    Hora = Time.From([DataHora])

    Fonte: Microsoft (ID: SPLIT_DATE_AND_TIME)

  • #15

    Particione tabelas com grande volume de dados

    Microsoft BPA
    media

    O que

    Particionamento divide uma tabela grande em segmentos menores que podem ser processados independentemente. Isso permite refresh incremental, atualizando apenas partições modificadas.

    Por que

    Sem particionamento, qualquer atualização recarrega a tabela inteira. Com tabelas de bilhões de linhas, isso pode levar horas. Particionamento reduz para minutos.

    Como

    Configure Incremental Refresh no Power BI Desktop (suportado em Pro, PPU, Premium e Embedded; as partições são criadas ao publicar no Service). Defina o período de refresh e o período histórico. O sistema criará partições automaticamente.

    Fonte: Microsoft (ID: LARGE_TABLES_SHOULD_BE_PARTITIONED)

  • #16

    Simplifique a lógica de Row Level Security

    Microsoft BPA
    media

    O que

    Row Level Security (RLS) filtra dados por usuário. Regras complexas com múltiplos OR, lookups em tabelas grandes, ou funções caras são avaliadas para cada consulta.

    Por que

    RLS é executado antes de qualquer agregação. Uma regra que verifica 10 condições em uma tabela de 10 milhões de linhas executa 100 milhões de verificações por consulta.

    Como

    Use tabelas de segurança dedicadas com relacionamentos simples. Prefira LOOKUPVALUE a filtros dinâmicos complexos. Denormalize atributos de segurança para a tabela fato quando possível.

    Prefira

    [RegiaoUsuario] = LOOKUPVALUE(Usuarios[Regiao], Usuarios[Email], USERPRINCIPALNAME())

    Fonte: Microsoft (ID: LIMIT_ROW_LEVEL_SECURITY_(RLS)_LOGIC)

  • #17

    Considere agregações ao utilizar DirectQuery

    Microsoft BPA
    baixa

    O que

    Agregações permitem criar resumos pré-calculados que o Power BI consulta primeiro. Se a agregação pode responder a pergunta, a query ao banco de origem é evitada.

    Por que

    DirectQuery sem agregações envia cada interação do usuário ao banco de dados, resultando em latência perceptível. Com agregações, 90%+ das consultas podem ser respondidas instantaneamente.

    Como

    Crie tabelas de agregação no modelo com granularidade apropriada (ex: vendas por dia/produto em vez de linha a linha). Configure a tabela para DirectQuery e vincule à agregação Import.

    Fonte: Microsoft (ID: MODEL_USING_DIRECT_QUERY_AND_NO_AGGREGATIONS)

  • #18

    Evite relacionamentos muitos-para-muitos em tabelas com RLS dinâmico

    Microsoft BPA
    alta

    O que

    Quando RLS dinâmico é aplicado a tabelas envolvidas em relacionamentos M:M, o mecanismo precisa resolver a segurança através de múltiplos caminhos, criando cenários de performance críticos.

    Por que

    A combinação de M:M com RLS pode fazer o tempo de consulta saltar de milissegundos para segundos ou até minutos, tornando o relatório inutilizável em produção.

    Como

    Reestruture o modelo para usar relacionamentos 1:N entre a tabela com RLS e a tabela fato. Se M:M for inevitável, aplique RLS na tabela fato diretamente, não nas dimensões.

    Fonte: Microsoft (ID: AVOID_USING_MANY-TO-MANY_RELATIONSHIPS_ON_TABLES_USED_FOR_DYNAMIC_ROW_LEVEL_SECURITY)

  • #19

    Despivote dados que estejam em formato de colunas

    Microsoft BPA
    media

    O que

    Dados "pivotados" têm meses, produtos ou categorias como colunas separadas. O formato adequado para análise tem esses valores como linhas, com uma coluna de atributo e uma de valor.

    Por que

    Dados pivotados impedem análises dinâmicas e forçam criação de medidas manuais para cada coluna. O modelo fica inflexível e medidas complexas desnecessariamente.

    Como

    Use "Transformar → Remover Pivô de Colunas" no Power Query. Selecione as colunas que devem ser mantidas e remova o pivô das demais.

    Evite

    Antes:  Jan, Fev, Mar  (colunas)

    Prefira

    Depois:  Mês (coluna) + Valor (coluna)

    Fonte: Microsoft (ID: UNPIVOT_PIVOTED_(MONTH)_DATA)

Expressões DAX

  • #1

    Evite medidas com definições duplicadas

    Microsoft BPA
    media

    O que

    Duas ou mais medidas que possuem exatamente a mesma expressão DAX representam redundância no modelo. Isso indica falta de reuso ou desorganização.

    Por que

    Medidas duplicadas dificultam manutenção (alterações precisam ser feitas em múltiplos lugares), confundem usuários, e aumentam a chance de inconsistências.

    Como

    Identifique medidas duplicadas e consolide em uma única medida. As demais podem referenciar a medida principal ou ser excluídas se redundantes. Exemplo: em vez de manter [Total Vendas] e [Vendas Total] com a mesma expressão, fique com uma só.

    Fonte: Microsoft (ID: AVOID_DUPLICATE_MEASURES)

  • #2

    Evite colunas calculadas com definições duplicadas

    Measure Killer
    baixa

    Nome na ferramenta: [DAX Expressions] No two calculated columns should have the same definition

    O que

    Colunas calculadas com a mesma expressão DAX em diferentes tabelas ou na mesma tabela representam redundância e potencial inconsistência.

    Por que

    Além do problema de manutenção, colunas calculadas duplicadas ocupam memória adicional. Cada instância é armazenada separadamente no modelo.

    Como

    Centralize a lógica em uma única coluna ou, preferencialmente, mova o cálculo para o Power Query onde será computado apenas uma vez durante o ETL.

    Fonte: Measure Killer (Gregor Brunner)

  • #3

    Use TREATAS ao invés de INTERSECT para relacionamentos virtuais

    Microsoft BPA
    media

    O que

    TREATAS aplica uma tabela como filtro de outra, simulando um relacionamento sem criá-lo fisicamente. INTERSECT também pode fazer isso, mas de forma menos eficiente.

    Por que

    TREATAS é otimizado para propagação de filtros e usa os índices do VertiPaq. INTERSECT força materialização de tabelas, consumindo mais memória e tempo.

    Como

    Substitua padrões com INTERSECT por TREATAS. A sintaxe é TREATAS(tabela_filtro, tabela_alvo[coluna]).

    Evite

    CALCULATE([Vendas], INTERSECT(VALUES(Datas[Ano]), Anos[Ano]))

    Prefira

    CALCULATE([Vendas], TREATAS(Anos, Datas[Ano]))

    Fonte: Microsoft (ID: USE_THE_TREATAS_FUNCTION_INSTEAD_OF_INTERSECT)

  • #4

    Use a função DIVIDE para operações de divisão

    Microsoft BPA
    media

    O que

    DIVIDE(numerador, denominador, alternativo) é uma função segura que trata divisão por zero automaticamente, retornando um valor alternativo (padrão: BLANK).

    Por que

    Com `/`, divisor 0 ou BLANK não gera erro: retorna Infinity ou NaN (ex.: 5 / BLANK() = Infinity). Esses valores aparecem no visual e contaminam totais e médias.

    Como

    Use DIVIDE() quando o denominador pode ser 0 ou BLANK. Com denominador constante (ex.: / 1000), mantenha `/`, que é mais rápido. Em medidas, prefira o retorno padrão BLANK a 0: os visuais ocultam grupos em branco.

    Evite

    [Receita] / [Quantidade]

    Prefira

    DIVIDE([Receita], [Quantidade])

    Fonte: Microsoft (ID: USE_THE_DIVIDE_FUNCTION_FOR_DIVISION)

  • #5

    Evite o uso da função IFERROR

    Microsoft BPA
    media

    O que

    IFERROR captura qualquer erro e retorna um valor alternativo. Embora útil, ela mascara problemas e força a avaliação completa da expressão mesmo quando vai falhar.

    Por que

    IFERROR é avaliado para cada linha, mesmo quando não há erro. Isso desperdiça processamento. Além disso, mascarar erros dificulta identificar problemas reais nos dados.

    Como

    Trate a causa raiz do erro. Para divisões, use DIVIDE(). Para lookups, use condicionais explícitos com IF ou COALESCE. Reserve IFERROR apenas para casos genuinamente imprevisíveis.

    Evite

    IFERROR([A]/[B], 0)

    Prefira

    DIVIDE([A], [B], 0)

    Fonte: Microsoft (ID: AVOID_USING_THE_IFERROR_FUNCTION)

  • #6

    Evite medidas que sejam apenas referências diretas de outras medidas

    Microsoft BPA
    media

    O que

    Uma medida que apenas chama outra medida sem adicionar lógica ([NovaVendas] = [Vendas]) é redundante e adiciona uma camada desnecessária de indireção.

    Por que

    Cada chamada de medida tem overhead. Medidas "wrapper" sem lógica adicional apenas complicam o modelo e confundem quem precisa entender o cálculo.

    Como

    Remova a medida redundante e use diretamente a medida original. Se o objetivo é ter nomes diferentes em pastas diferentes, use sinônimos ou reorganize as pastas de exibição.

    Fonte: Microsoft (ID: MEASURES_SHOULD_NOT_BE_DIRECT_REFERENCES_OF_OTHER_MEASURES)

  • #7

    Filtre valores de coluna com a sintaxe apropriada

    Microsoft BPA
    media

    O que

    Existem múltiplas formas de filtrar em DAX. A sintaxe Tabela[Coluna] = valor é mais eficiente que FILTER(ALL(Tabela), condição) para filtros simples.

    Por que

    FILTER itera sobre a tabela e avalia a condição para cada linha. Filtros diretos usam índices nativos do VertiPaq, sendo ordens de magnitude mais rápidos.

    Como

    Use a sintaxe direta Tabela[Coluna] = "valor" dentro de CALCULATE. Reserve FILTER para condições complexas que envolvem múltiplas colunas ou cálculos. ⚠️ As duas formas não são idênticas: ALL(Produtos) remove os filtros de todas as colunas de Produtos; o predicado direto remove só o filtro de Categoria. Ao trocar, confira se a remoção extra era intencional.

    Evite

    CALCULATE([Vendas], FILTER(ALL(Produtos), Produtos[Categoria]="A"))

    Prefira

    CALCULATE([Vendas], Produtos[Categoria]="A")

    Fonte: Microsoft (ID: FILTER_COLUMN_VALUES)

  • #8

    Filtre medidas por colunas, não por tabelas inteiras

    Microsoft BPA
    media

    O que

    Filtrar por uma coluna específica (CALCULATE([M], Tabela[Col]="X")) é mais eficiente que filtrar pela tabela (CALCULATE([M], Tabela)).

    Por que

    Filtros por tabela inteira não conseguem usar índices de coluna otimizados. O mecanismo precisa avaliar todas as colunas da tabela no contexto de filtro.

    Como

    Sempre especifique a coluna no filtro. Ao usar FILTER, retorne apenas as colunas necessárias, não a tabela inteira.

    Evite

    CALCULATE([Vendas], FILTER(Clientes, Clientes[Tipo]="VIP"))

    Prefira

    CALCULATE([Vendas], Clientes[Tipo]="VIP")

    Fonte: Microsoft (ID: FILTER_MEASURE_VALUES_BY_COLUMNS)

  • #9

    Remova relacionamentos inativos que nunca são ativados

    Microsoft BPA
    media

    O que

    Relacionamentos inativos (linha pontilhada) existem no modelo mas não propagam filtros por padrão. Se nunca são ativados via USERELATIONSHIP, são lixo no modelo.

    Por que

    Relacionamentos inativos ainda consomem metadados e podem confundir desenvolvedores. Se não há medida que os ative, eles não servem a nenhum propósito.

    Como

    Revise o modelo e identifique relacionamentos inativos. Verifique se alguma medida usa USERELATIONSHIP para ativá-los. Se não, exclua o relacionamento.

    Fonte: Microsoft (ID: INACTIVE_RELATIONSHIPS_THAT_ARE_NEVER_ACTIVATED)

  • #10

    Evite a sintaxe 1-(x/y) para cálculos de margem

    Microsoft BPA
    media

    O que

    A expressão 1-(x/y) para calcular margens (ex: margem bruta = 1 - custo/receita) é menos legível e não trata divisão por zero.

    Por que

    Além de menos legível, com y = 0 ou BLANK a expressão devolve -Infinity ou NaN em vez de BLANK e não deixa clara a intenção do cálculo. Dificulta a manutenção.

    Como

    Reescreva usando DIVIDE e deixando a lógica explícita. Use variáveis para melhorar legibilidade.

    Evite

    1 - [Custo]/[Receita]

    Prefira

    VAR Margem = DIVIDE([Receita] - [Custo], [Receita])
    RETURN Margem

    Fonte: Microsoft (ID: AVOID_USING_'1-(X/Y)'_SYNTAX)

  • #11

    Remova a função EVALUATEANDLOG em modelos de produção

    Microsoft BPA
    baixa

    O que

    EVALUATEANDLOG é uma função de debug que registra valores intermediários de expressões DAX. Ela não deve existir em modelos publicados.

    Por que

    Essa função impacta severamente a performance e gera logs massivos. Foi projetada exclusivamente para desenvolvimento e troubleshooting.

    Como

    Busque por EVALUATEANDLOG em todas as medidas e colunas calculadas. Remova completamente antes de publicar. ---

    Fonte: Microsoft (ID: EVALUATEANDLOG_SHOULD_NOT_BE_USED_IN_PRODUCTION_MODELS)

Prevenção de Erros

  • #1

    Garanta que colunas de dados tenham uma coluna de origem definida

    Microsoft BPA
    alta

    O que

    Colunas importadas devem ter uma referência válida à sua origem na fonte de dados. Colunas "órfãs" sem origem definida indicam problemas no ETL.

    Por que

    Colunas sem origem causam erros durante refresh. O modelo pode parecer funcionar no Desktop mas falhar ao atualizar no serviço.

    Como

    Verifique no Power Query se todas as colunas têm origem rastreável. Remova colunas que não mapeiam para nenhuma fonte ou recrie o mapeamento.

    Fonte: Microsoft (ID: DATA_COLUMNS_MUST_HAVE_A_SOURCE_COLUMN)

  • #2

    Garanta que objetos com expressão tenham a expressão definida

    Microsoft BPA
    alta

    O que

    Medidas e colunas calculadas precisam ter uma expressão DAX válida. Objetos com expressão vazia ou inválida quebram o modelo.

    Por que

    Expressões vazias ou mal-formadas geram erros de validação que impedem a publicação ou causam falhas em tempo de execução.

    Como

    No Tabular Editor, liste todos os objetos do tipo Measure e Calculated Column. Verifique se todos têm expressões válidas. Corrija ou remova os incompletos.

    Fonte: Microsoft (ID: EXPRESSION_RELIANT_OBJECTS_MUST_HAVE_AN_EXPRESSION)

  • #3

    Evite usar USERELATIONSHIP e RLS na mesma tabela

    Microsoft BPA
    alta

    O que

    USERELATIONSHIP ativa relacionamentos inativos temporariamente. Quando combinado com RLS na mesma tabela, pode haver conflitos na propagação de filtros de segurança.

    Por que

    O RLS pode não ser aplicado corretamente quando o contexto de filtro é alterado por USERELATIONSHIP, criando brechas de segurança ou resultados incorretos.

    Como

    Separe as responsabilidades: aplique RLS em tabelas que não precisam de relacionamentos alternativos, ou reestruture o modelo para evitar a necessidade de USERELATIONSHIP nessas tabelas.

    Fonte: Microsoft (ID: AVOID_THE_USERELATIONSHIP_FUNCTION_AND_RLS_AGAINST_THE_SAME_TABLE)

  • #4

    Use o mesmo tipo de dados em colunas de relacionamento

    Microsoft BPA
    alta

    O que

    Colunas que participam de um relacionamento devem ter exatamente o mesmo tipo de dados. Um lado Integer e outro Text, por exemplo, causa erro ou conversão implícita custosa.

    Por que

    Tipos diferentes impedem a criação do relacionamento ou forçam conversões em tempo de execução que degradam performance e podem causar resultados inesperados.

    Como

    Padronize os tipos de dados antes de criar relacionamentos. Prefira Integer para chaves. No Power Query, use Table.TransformColumnTypes para garantir consistência.

    Fonte: Microsoft (ID: RELATIONSHIP_COLUMNS_SAME_DATA_TYPE)

  • #5

    Evite caracteres inválidos em nomes de objetos

    Microsoft BPA
    alta

    O que

    Alguns caracteres especiais em nomes de tabelas, colunas e medidas podem causar problemas de parsing, especialmente em expressões DAX e integrações externas.

    Por que

    Caracteres como aspas, colchetes, tabs e quebras de linha podem quebrar expressões ou gerar comportamento inconsistente entre ferramentas.

    Como

    Use apenas letras, números, espaços e underscores em nomes. Evite caracteres como aspas, colchetes, chaves, barras, e caracteres de controle.

    Fonte: Microsoft (ID: AVOID_INVALID_NAME_CHARACTERS)

  • #6

    Evite caracteres inválidos em descrições

    Microsoft BPA
    alta

    O que

    Descrições de objetos também podem conter caracteres problemáticos que causam erros ao serializar o modelo ou exibir em ferramentas de documentação.

    Por que

    Caracteres de controle e certos símbolos podem corromper a serialização do modelo ou causar problemas ao exportar documentação.

    Como

    Mantenha descrições em texto simples. Evite copiar/colar de fontes que podem incluir formatação oculta. Use o Tabular Editor para verificar e limpar descrições.

    Fonte: Microsoft (ID: AVOID_INVALID_DESCRIPTION_CHARACTERS)

  • #7

    Defina IsAvailableInMdx como true em colunas necessárias para MDX

    Microsoft BPA
    alta

    O que

    Colunas que serão usadas em análises via Excel (Analisar no Excel) ou outras ferramentas MDX precisam ter IsAvailableInMdx = true para serem acessíveis.

    Por que

    Colunas com IsAvailableInMdx = false não aparecem em tabelas dinâmicas do Excel ou ferramentas OLAP, frustrando usuários que dependem dessas integrações.

    Como

    Identifique colunas de dimensão que serão usadas em análises Excel. No Tabular Editor, garanta IsAvailableInMdx = true para essas colunas.

    Fonte: Microsoft (ID: SET_ISAVAILABLEINMDX_TO_TRUE_ON_NECESSARY_COLUMNS)

  • #8

    Evite fontes de dados estruturadas com partições de provedor

    Microsoft BPA
    media

    O que

    Partições de provedor (Provider partitions) são um modo legado de conexão que pode causar comportamento inconsistente e limitar funcionalidades.

    Por que

    Esse tipo de partição pode não suportar query folding adequadamente e ter comportamento diferente entre desenvolvimento e publicação.

    Como

    Converta fontes de dados para usar partições M (Power Query). Recrie a conexão usando os conectores nativos do Power Query.

    Fonte: Microsoft (ID: AVOID_STRUCTURED_DATA_SOURCES_WITH_PROVIDER_PARTITIONS)

  • #9

    Avalie se RLS dinâmico é realmente necessário

    Microsoft BPA
    baixa

    O que

    RLS dinâmico usa funções como USERPRINCIPALNAME() para filtrar dados por usuário. Isso adiciona complexidade e overhead que podem ser evitados em muitos cenários.

    Por que

    RLS dinâmico com lookups em tabelas grandes pode degradar severamente a performance. Muitas vezes, múltiplos relatórios segmentados são mais eficientes.

    Como

    Avalie se os requisitos de segurança podem ser atendidos com relatórios separados, workspaces diferentes, ou RLS estático. Reserve RLS dinâmico para quando for genuinamente necessário.

    Fonte: Microsoft (ID: CHECK_IF_DYNAMIC_ROW_LEVEL_SECURITY_(RLS)_IS_NECESSARY)

  • #10

    Corrija violações de integridade referencial

    Microsoft BPA
    media

    O que

    Integridade referencial significa que cada valor de chave estrangeira tem um correspondente na tabela de dimensão. Valores órfãos indicam problemas nos dados.

    Por que

    Linhas com chaves estrangeiras sem correspondência são exibidas como "(Blank)" em visuais e podem distorcer totais se não tratadas adequadamente.

    Como

    Identifique valores órfãos comparando as chaves. Adicione registros "Unknown" nas dimensões para tratar valores não mapeados, ou limpe os dados na fonte. ---

    Fonte: Microsoft (ID: FIX_REFERENTIAL_INTEGRITY_VIOLATIONS)

Manutenção

  • #1

    Remova colunas que não são utilizadas no modelo

    Microsoft BPA
    media

    O que

    Colunas importadas que não são usadas em relacionamentos, medidas, colunas calculadas ou visuais ocupam espaço sem agregar valor.

    Por que

    Cada coluna consome memória RAM no modelo publicado. Colunas desnecessárias aumentam o tamanho do arquivo, o tempo de refresh e o custo de capacidade Premium.

    Como

    Use ferramentas como DAX Studio (View Metrics) ou Tabular Editor (Best Practice Analyzer) para identificar colunas não referenciadas. Remova no Power Query.

    Fonte: Microsoft (ID: UNNECESSARY_COLUMNS)

  • #2

    Remova medidas que não são utilizadas no modelo

    Microsoft BPA
    media

    O que

    Medidas que não aparecem em nenhum visual e não são referenciadas por outras medidas são código morto que polui o modelo.

    Por que

    Medidas órfãs confundem usuários que navegam no modelo e dificultam manutenção. Embora não consumam memória diretamente, poluem o namespace.

    Como

    Documente quais medidas são usadas onde. Use Tabular Editor para identificar medidas não referenciadas. Revise com a equipe antes de excluir.

    Fonte: Microsoft (ID: UNNECESSARY_MEASURES)

  • #3

    Garanta que todas as tabelas tenham pelo menos um relacionamento

    Microsoft BPA
    baixa

    O que

    Tabelas "ilhas" sem relacionamentos não podem ser filtradas por outras tabelas do modelo, limitando severamente sua utilidade analítica.

    Por que

    Seleções em slicers e filtros de outras tabelas não afetam tabelas isoladas. Isso causa confusão quando usuários esperam que filtros funcionem globalmente.

    Como

    Revise tabelas sem relacionamentos. Crie relacionamentos apropriados ou, se a tabela for realmente independente (ex: tabela de parâmetros), documente claramente.

    Fonte: Microsoft (ID: ENSURE_TABLES_HAVE_RELATIONSHIPS)

  • #4

    Adicione descrições a todos os objetos visíveis

    Microsoft BPA
    baixa

    O que

    Descrições em medidas, colunas e tabelas aparecem como tooltips quando usuários passam o mouse, fornecendo contexto valioso sobre o significado e uso.

    Por que

    Sem descrições, usuários precisam adivinhar o que cada objeto significa. Isso causa uso incorreto de métricas e reduz a adoção do relatório.

    Como

    Documente sistematicamente: o que o objeto representa, como é calculado, e quando usá-lo. Use o painel de propriedades no Power BI Desktop ou Tabular Editor para edição em lote.

    Fonte: Microsoft (ID: OBJECTS_WITH_NO_DESCRIPTION)

  • #5

    Remova grupos de cálculo sem itens de cálculo

    Microsoft BPA
    media

    O que

    Grupos de cálculo (Calculation Groups) são contêineres para itens de cálculo reutilizáveis. Um grupo vazio não serve a nenhum propósito.

    Por que

    Grupos vazios poluem o modelo e podem confundir desenvolvedores que esperam encontrar itens dentro. Indicam trabalho incompleto.

    Como

    Identifique grupos de cálculo vazios no Tabular Editor. Adicione os itens de cálculo planejados ou exclua o grupo se não for necessário.

    Fonte: Microsoft (ID: CALCULATION_GROUPS_WITH_NO_CALCULATION_ITEMS)

  • #6

    Remova fontes de dados não referenciadas por partições

    Microsoft BPA
    baixa

    O que

    Fontes de dados configuradas mas não usadas por nenhuma partição de tabela são conexões órfãs que podem conter credenciais desatualizadas.

    Por que

    Fontes de dados órfãs são risco de segurança (credenciais expostas) e causam confusão durante manutenção. Também podem causar falhas de validação.

    Como

    Liste todas as fontes de dados no modelo. Verifique quais são efetivamente usadas. Remova as não referenciadas pelo Power Query ou partições.

    Fonte: Microsoft (ID: REMOVE_DATA_SOURCES_NOT_REFERENCED_BY_ANY_PARTITIONS)

  • #7

    Remova roles sem membros atribuídos

    Microsoft BPA
    baixa

    O que

    Roles de RLS sem membros atribuídos são regras de segurança que não protegem ninguém. Podem ser trabalho em progresso abandonado ou obsoleto.

    Por que

    Roles vazios geram confusão sobre a arquitetura de segurança e podem indicar falhas na implementação do RLS.

    Como

    Revise todos os roles no modelo. Atribua membros aos roles que devem ter segurança, ou exclua roles obsoletos.

    Fonte: Microsoft (ID: REMOVE_ROLES_WITH_NO_MEMBERS)

  • #8

    Remova perspectives sem objetos

    Microsoft BPA
    baixa

    O que

    Perspectives são subconjuntos do modelo que mostram apenas tabelas e medidas relevantes para um público específico. Uma perspective vazia não tem utilidade.

    Por que

    Perspectives vazias confundem usuários que as selecionam esperando ver um subconjunto focado do modelo.

    Como

    Identifique perspectives no modelo. Adicione os objetos apropriados ou exclua perspectives desnecessárias. ---

    Fonte: Microsoft (ID: PERSPECTIVES_WITH_NO_OBJECTS)

Nomenclatura

  • #1

    Evite caracteres especiais em nomes de objetos

    Microsoft BPA
    media

    O que

    Nomes de tabelas, colunas e medidas devem usar apenas caracteres alfanuméricos seguros. Caracteres especiais podem causar problemas de parsing e compatibilidade.

    Por que

    Nomes com caracteres especiais podem quebrar em expressões DAX, URLs de API, exportações, e integrações com outras ferramentas.

    Como

    Renomeie objetos para usar apenas letras (incluindo acentos), números, espaços e underscore. Evite símbolos como parênteses, colchetes, chaves, barras e operadores.

    Evite

    Vendas ($)

    Prefira

    Vendas em Reais

    Fonte: Microsoft (ID: SPECIAL_CHARS_IN_OBJECT_NAMES)

  • #2

    Remova espaços em branco no início e fim dos nomes

    Microsoft BPA
    baixa

    O que

    Espaços em branco (leading/trailing spaces) no início ou fim de nomes de objetos são invisíveis mas causam problemas de referência e comparação.

    Por que

    Uma medida chamada " Vendas" (com espaço no início) não é encontrada ao buscar "Vendas". Isso causa frustração e erros difíceis de diagnosticar.

    Como

    Use TRIM() ou Text.Trim() no Power Query para limpar nomes de colunas. No Tabular Editor, use find/replace para identificar e corrigir. ---

    Fonte: Microsoft (ID: TRIM_OBJECT_NAMES)

Formatação

  • #1

    Defina string de formato para todas as medidas

    Microsoft BPA
    alta

    O que

    Format string define como valores são exibidos: número de decimais, separadores, símbolo de moeda, percentual, etc. Sem formato, o Power BI usa formatação genérica.

    Por que

    Medidas sem formato definido podem exibir decimais excessivos (3.14159265...) ou falta de separadores de milhar, dificultando a leitura.

    Como

    Defina a propriedade Formato de cada medida (Ferramentas de Medida → Formato, ou formatString no TMDL): "#,##0" para inteiros, "#,##0.00" para decimais, "0.0%" para percentuais, "R$ #,##0.00" para moeda. Não use FORMAT() dentro da medida: ele devolve texto, e texto não soma, não ordena como número e não entra em eixo de gráfico.

    Evite

    Vendas = FORMAT(SUM(Fato[Valor]), "R$ #,##0.00")   -- devolve texto

    Prefira

    measure Vendas = SUM(Fato[Valor])
        formatString: R$ #,##0.00

    Fonte: Microsoft (ID: PROVIDE_FORMAT_STRING_FOR_MEASURES)

  • #2

    Desabilite a sumarização automática em colunas numéricas

    Microsoft BPA
    alta

    O que

    Por padrão, colunas numéricas somam automaticamente quando arrastadas para visuais. Para colunas como IDs, anos ou códigos, isso é incorreto.

    Por que

    Usuários podem inadvertidamente arrastar uma coluna de ID e ver milhões como "total", pensando ser uma métrica válida. Isso gera confusão e erros de análise.

    Como

    Para colunas numéricas que não devem ser somadas, defina Summarization = None nas propriedades da coluna.

    Fonte: Microsoft (ID: NUMERIC_COLUMN_SUMMARIZE_BY)

  • #3

    Formate percentuais com separador de milhares e uma casa decimal

    Microsoft BPA
    media

    O que

    Percentuais devem ser exibidos de forma consistente em todo o modelo: 12,5% é mais legível que 0.125 ou 12.456789%.

    Por que

    Formatação inconsistente de percentuais dificulta comparações e pode levar a interpretações erradas (12,5 vs 0,125 = 100x diferença percebida).

    Como

    Use format string "0.0%" ou "#,##0.0%" para todas as medidas de percentual. O Power BI multiplica por 100 automaticamente.

    Fonte: Microsoft (ID: PERCENTAGE_FORMATTING)

  • #4

    Formate números inteiros com separador de milhares e sem decimais

    Microsoft BPA
    media

    O que

    Quantidades inteiras (unidades vendidas, clientes, transações) devem usar separador de milhar para legibilidade e não exibir casas decimais.

    Por que

    1000000 é difícil de ler rapidamente. 1.000.000 é imediatamente reconhecível como "um milhão". Decimais em inteiros (1000.00) são ruído visual.

    Como

    Use format string "#,##0" para medidas de contagem e quantidade. Configure a localidade corretamente para usar ponto ou vírgula como separador.

    Fonte: Microsoft (ID: INTEGER_FORMATTING)

  • #5

    Use tipo de dados inteiro em colunas de relacionamento

    Microsoft BPA
    baixa

    O que

    Chaves de relacionamento (IDs) devem ser do tipo Integer. Chaves de texto ocupam mais espaço e são comparadas mais lentamente.

    Por que

    Relacionamentos baseados em Integer são significativamente mais rápidos que baseados em texto. A diferença se amplifica com o volume de dados.

    Como

    Converta chaves de texto para Integer no Power Query. Se IDs contêm letras, crie chaves surrogate numéricas.

    Fonte: Microsoft (ID: RELATIONSHIP_COLUMNS_SHOULD_BE_OF_INTEGER_DATA_TYPE)

  • #6

    Oculte colunas de chave estrangeira

    Microsoft BPA
    media

    O que

    Colunas de FK (chave estrangeira) usadas apenas para relacionamentos não devem aparecer para usuários finais. Elas não agregam valor analítico.

    Por que

    Colunas de FK visíveis poluem a lista de campos e podem confundir usuários que as arrastam para visuais sem utilidade.

    Como

    Selecione a coluna de FK → Propriedades → Hidden = True. Isso mantém a coluna funcional para relacionamentos mas invisível para usuários.

    Fonte: Microsoft (ID: HIDE_FOREIGN_KEYS)

  • #7

    Identifique e marque colunas de chave primária

    Microsoft BPA
    baixa

    O que

    Marcar colunas como Key Column ajuda o Power BI a otimizar o modelo e serve como documentação da estrutura de dados.

    Por que

    Colunas de chave primária marcadas são tratadas especialmente pelo mecanismo e facilitam o entendimento do modelo por outros desenvolvedores.

    Como

    No Tabular Editor ou Power BI, identifique a coluna PK de cada dimensão e marque como Key Column nas propriedades.

    Fonte: Microsoft (ID: MARK_PRIMARY_KEYS)

  • #8

    Use letra maiúscula no início dos nomes de objetos

    Microsoft BPA
    baixa

    O que

    Nomes de tabelas, colunas e medidas devem iniciar com letra maiúscula para consistência visual e profissionalismo.

    Por que

    Nomenclatura inconsistente (vendas vs Vendas vs VENDAS) dificulta navegação e indica falta de padrões no desenvolvimento.

    Como

    Estabeleça um padrão de nomenclatura (PascalCase ou Title Case) e aplique consistentemente. Use Tabular Editor para renomeações em lote.

    Evite

    total vendas mensal

    Prefira

    Total Vendas Mensal

    Fonte: Microsoft (ID: FIRST_LETTER_OF_OBJECTS_MUST_BE_CAPITALIZED)

  • #9

    Formate colunas de flag como "Sim/Não"

    Microsoft BPA
    baixa

    O que

    Colunas booleanas (flag) que armazenam 0/1 ou True/False devem exibir texto amigável como "Sim/Não" ou "Ativo/Inativo".

    Por que

    Exibir 0 e 1 em slicers e tabelas é confuso para usuários finais que não conhecem a codificação dos dados.

    Como

    Crie uma coluna calculada com IF([Flag]=1, "Sim", "Não") ou use formatação condicional. Melhor ainda: trate no Power Query.

    Prefira

    Status = IF([Ativo]=1, "Sim", "Não")

    Fonte: Microsoft (ID: FORMAT_FLAG_COLUMNS_AS_YES/NO_VALUE_STRINGS)

  • #10

    Defina formato adequado para colunas de data

    Microsoft BPA
    baixa

    O que

    Colunas de data devem exibir em formato consistente e apropriado para o público (dd/mm/yyyy no Brasil, mm/dd/yyyy nos EUA).

    Por que

    Formatos de data inconsistentes causam confusão. 01/02/2024 é 1 de fevereiro ou 2 de janeiro dependendo da interpretação.

    Como

    Defina format string explícita: "DD/MM/YYYY" para Brasil. Configure também a localidade do modelo para ordenação correta.

    Fonte: Microsoft (ID: DATECOLUMN_FORMATSTRING)

  • #11

    Defina formato adequado para colunas de mês

    Microsoft BPA
    baixa

    O que

    Colunas que exibem mês devem ter formato consistente: nome completo (Janeiro), abreviado (Jan) ou número (01).

    Por que

    Formatos de mês inconsistentes dificultam comparações visuais e podem causar ordenação incorreta.

    Como

    Padronize o formato de mês em todo o modelo. Se usar texto, configure a coluna de ordenação (Sort by Column) para garantir ordem correta.

    Fonte: Microsoft (ID: MONTHCOLUMN_FORMATSTRING)

  • #12

    Oculte colunas de tabelas fato

    Microsoft BPA
    media

    O que

    Colunas brutas de tabelas fato (valores, quantidades, timestamps) geralmente não devem ser expostas diretamente. Usuários devem usar medidas.

    Por que

    Permitir que usuários arrastem colunas de fato diretamente pode gerar agregações incorretas (soma de médias, por exemplo).

    Como

    Oculte colunas de valores na tabela fato. Crie medidas explícitas (SUM, AVG, COUNT) para cada métrica e exponha apenas as medidas.

    Fonte: Microsoft (ID: HIDE_FACT_TABLE_COLUMNS)

  • #13

    Configure ordenação correta para colunas de mês (texto)

    Microsoft BPA
    media

    O que

    Colunas de mês em texto (Janeiro, Fevereiro...) ordenam alfabeticamente por padrão, colocando Abril antes de Janeiro.

    Por que

    Gráficos e tabelas com meses em ordem alfabética são confusos e inutilizáveis para análise temporal.

    Como

    Crie uma coluna numérica de mês (1-12) e use "Sort by Column" para ordenar a coluna de texto pela coluna numérica. ---

    Fonte: Microsoft (ID: MONTH_(AS_A_STRING)_MUST_BE_SORTED)

Relatórios e Visuais

  • #1

    Limite o número total de páginas no relatório

    PBI-Inspector
    media

    Nome na ferramenta: Reduce number of pages per report

    O que

    Relatórios com muitas páginas são difíceis de navegar e gerenciar. A proliferação de páginas frequentemente indica falta de design focado.

    Por que

    Usuários se perdem em relatórios com dezenas de páginas. Além disso, cada página adiciona overhead de carregamento e manutenção.

    Como

    Limite padrão: 10 páginas por relatório (parâmetro paramMaxNumberOfPagesPerReport do PBI-Inspector). Consolide páginas relacionadas com indicadores, detalhamento ou navegação por botões. Questione se cada página precisa existir e considere relatórios separados para públicos diferentes.

    Fonte: PBI-Inspector (Nat Van Gulck, MIT) — ID: REDUCE_PAGES

  • #2

    Limite o número de visuais por página

    PBI-Inspector
    alta

    Nome na ferramenta: Reduce the number of visible visuals on the page

    O que

    Páginas sobrecarregadas com muitos visuais são lentas para renderizar e difíceis de interpretar. Menos é frequentemente mais.

    Por que

    Cada visual executa queries separadas. Uma página com 20 visuais pode executar centenas de queries no carregamento. Além disso, muita informação visual causa sobrecarga cognitiva.

    Como

    Limite padrão: 20 visuais visíveis por página (parâmetro paramMaxVisualsPerPage). Esse é um teto de desempenho; para leitura, menos visuais costuma ser melhor (veja a categoria Storytelling e Comunicação). Use detalhamento para os detalhes e mova informação secundária para páginas de dica de ferramenta.

    Fonte: PBI-Inspector (Nat Van Gulck, MIT) — ID: REDUCE_VISUALS_ON_PAGE

  • #3

    Reduza o uso de filtros TOPN

    PBI-Inspector
    baixa

    Nome na ferramenta: Reduce usage of TopN filtering visuals by page

    O que

    Filtros TOPN (mostrar apenas os N primeiros) requerem ordenação completa dos dados antes de filtrar, o que é computacionalmente caro.

    Por que

    Filtros TOPN em visuais com muitos dados podem causar lentidão perceptível. Múltiplos visuais com TOPN amplificam o problema.

    Como

    Limite padrão: 4 visuais com filtro TopN por página (parâmetro paramMaxTopNFilteringPerPage). Considere medidas de ranking pré-calculadas ou filtros de página e de relatório no lugar de filtros por visual.

    Fonte: PBI-Inspector (Nat Van Gulck, MIT) — ID: REDUCE_TOPN_FILTERS

  • #4

    Reduza o uso de filtros avançados

    PBI-Inspector
    baixa

    Nome na ferramenta: Reduce usage of Advanced filtering visuals by page

    O que

    Filtros avançados (Top N, Relative Date, Conditional) requerem processamento adicional comparado a filtros básicos de lista.

    Por que

    Filtros avançados são avaliados dinamicamente a cada interação, adicionando latência. Muitos filtros avançados degradam a responsividade.

    Como

    Limite padrão: 4 visuais com filtro avançado por página (parâmetro paramMaxAdvancedFilteringVisualsPerPage). Use filtros de lista para valores conhecidos e reserve os filtros avançados para quando a flexibilidade for de fato necessária.

    Fonte: PBI-Inspector (Nat Van Gulck, MIT) — ID: REDUCE_ADVANCED_FILTERS

  • #5

    Oculte páginas de tooltip e drillthrough na navegação

    PBI-Inspector
    baixa

    Nome na ferramenta: Tooltip and Drillthrough pages should be hidden

    O que

    Páginas criadas para tooltips customizados ou drill-through não devem aparecer na navegação principal do relatório.

    Por que

    Páginas de suporte visíveis na navegação confundem usuários que podem acessá-las diretamente sem contexto, vendo dados incompletos ou sem sentido.

    Como

    Clique com botão direito na aba da página → Ocultar página. A página continuará funcionando para tooltips/drill-through mas não aparecerá na navegação.

    Fonte: PBI-Inspector (Nat Van Gulck, MIT) — ID: HIDE_TOOLTIP_DRILLTROUGH_PAGES

  • #6

    Evite páginas que exijam rolagem vertical

    PBI-Inspector
    alta

    Nome na ferramenta: Ensure pages do not scroll vertically

    O que

    Páginas mais altas que a tela visível forçam usuários a rolar para ver todo o conteúdo, prejudicando a experiência e escondendo informações.

    Por que

    Informações "abaixo da dobra" são frequentemente ignoradas. Usuários podem não perceber que há mais conteúdo e perder insights importantes.

    Como

    Use a página 16:9 em Full HD (1920 × 1080). Tudo deve caber nessa altura, sem rolagem vertical. O PBI-Inspector e o Measure Killer ainda verificam 720 px, a altura do HD (1280 × 720); em relatórios Full HD, ajuste o parâmetro paramMaxAllowedPageHeight para 1080 ou desconsidere esse alerta. Use navegação, detalhamento ou mais páginas no lugar da rolagem.

    Fonte: PBI-Inspector (Nat Van Gulck, MIT) — ID: ENSURE_PAGES_DO_NOT_SCROLL_VERTICALLY

  • #7

    Remova visuais personalizados não utilizados

    PBI-Inspector
    baixa

    Nome na ferramenta: Remove custom visuals which are not used in the report

    O que

    Custom visuals importados mas não usados em nenhum visual permanecem no arquivo, aumentando seu tamanho desnecessariamente.

    Por que

    Cada custom visual adiciona peso ao arquivo .pbix. Visuais não usados são código morto que pode conter vulnerabilidades ou causar problemas de compatibilidade.

    Como

    Vá em Visualizações → três pontos → Gerenciar visuais. Remova visuais customizados que não estão sendo utilizados em nenhuma página.

    Fonte: PBI-Inspector (Nat Van Gulck, MIT) — ID: REMOVE_UNUSED_CUSTOM_VISUALS

  • #8

    Limite o número de campos em cada visual

    PBI-Inspector
    alta

    Nome na ferramenta: Reduce the number of objects within visuals

    O que

    Cada campo colocado num visual (eixo, legenda, valores, dicas de ferramenta) é um objeto que o visual precisa consultar e desenhar. Visuais com muitos campos ficam lentos e difíceis de ler.

    Por que

    Cada campo a mais aumenta a consulta enviada ao modelo e a carga de leitura de quem olha o visual. A maioria das perguntas de negócio se responde com poucos campos.

    Como

    Limite padrão: 6 campos por visual (regra REDUCE_OBJECTS_WITHIN_VISUALS do PBI-Inspector). Divida visuais sobrecarregados em dois, mova campos de contexto para uma página de dica de ferramenta e use detalhamento para o resto.

    Fonte: PBI-Inspector (Nat Van Gulck, MIT) — ID: REDUCE_OBJECTS_WITHIN_VISUALS

  • #9

    Evite a opção "Mostrar itens sem dados"

    PBI-Inspector
    media

    Nome na ferramenta: Avoid setting 'Show items with no data' on columns

    O que

    A opção "Show items with no data" força o visual a exibir categorias mesmo quando não há dados, preenchendo lacunas artificialmente.

    Por que

    Essa opção pode criar combinações massivas de categorias vazias, degradando performance e poluindo visuais com informação irrelevante.

    Como

    Desative "Show items with no data" nas configurações de cada visual. Se precisar mostrar períodos sem dados, trate isso explicitamente na modelagem.

    Fonte: PBI-Inspector (Nat Van Gulck, MIT) — ID: AVOID_SHOW_ITEMS_WITH_NO_DATA

  • #10

    Use cores do tema ao invés de valores HEX customizados

    PBI-Inspector
    baixa

    Nome na ferramenta: Ensure charts use theme colours

    O que

    Cores hardcoded (ex: #FF5733) não se adaptam quando o tema do relatório muda. Usar cores do tema garante consistência visual.

    Por que

    Relatórios com cores inconsistentes parecem não profissionais. Além disso, mudanças de identidade visual requerem atualização manual de cada cor hardcoded.

    Como

    Ao configurar cores em visuais, selecione a partir da paleta do tema ao invés de inserir códigos HEX. Defina cores customizadas apenas no tema, não nos visuais.

    Fonte: PBI-Inspector (Nat Van Gulck, MIT) — ID: ENSURE_THEME_COLOURS

  • #11

    Adicione texto alternativo para acessibilidade

    PBI-Inspector
    media

    Nome na ferramenta: Ensure alternativeText has been defined for all visuals

    O que

    Texto alternativo (alt text) descreve o conteúdo e propósito de visuais para usuários que utilizam leitores de tela.

    Por que

    Relatórios sem alt text são inacessíveis para pessoas com deficiência visual, violando diretrizes de acessibilidade e potencialmente requisitos legais.

    Como

    Selecione cada visual → Painel de Formatação → Geral → Alt Text. Descreva o que o visual mostra e quais insights ele fornece. Use alt text dinâmico quando possível.

    Fonte: PBI-Inspector (Nat Van Gulck, MIT) — ID: ENSURE_ALTTEXT

  • #12

    Use gráficos de pizza/rosca com moderação

    Measure Killer
    baixa

    Nome na ferramenta: Avoid pie and donut charts

    O que

    Gráficos de pizza e rosca ficam difíceis de ler quando há muitas fatias e não permitem comparar com precisão valores parecidos.

    Por que

    Humanos são ruins em comparar ângulos e áreas. Um gráfico de barras comunica a mesma informação de forma muito mais precisa e eficiente.

    Como

    Use com moderação. Limite recomendado: até 4 fatias. Acima disso, as fatias ficam parecidas demais para comparar sem ler os rótulos; prefira barras horizontais ordenadas por valor.

    Fonte: Measure Killer (Gregor Brunner) — extensão às regras do PBI-Inspector

  • #13

    Evite o uso de medidas implícitas

    Measure Killer
    alta

    Nome na ferramenta: Avoid implicit measures

    O que

    Medidas implícitas são criadas quando você arrasta uma coluna numérica para um visual sem criar uma medida explícita. O Power BI aplica uma agregação padrão (geralmente SUM).

    Por que

    Medidas implícitas não podem ter formato, descrição, ou lógica customizada. Dificultam manutenção e podem causar resultados inesperados quando o contexto muda.

    Como

    Ative a propriedade Desestimular medidas implícitas (Discourage implicit measures) do modelo semântico: no painel Dados, abra o Model Explorer, selecione o modelo e altere a propriedade (no Tabular Editor: DiscourageImplicitMeasures = true). Crie medidas explícitas para todas as métricas.

    Evite

    Arrastar Fato[Valor] direto para o visual

    Prefira

    Total Vendas = SUM(Fato[Valor])

    Fonte: Measure Killer (Gregor Brunner) — extensão às regras do PBI-Inspector

  • #14

    Limite o número de indicadores no relatório

    Measure Killer
    baixa

    Nome na ferramenta: Reduce number of bookmarks per report

    O que

    Indicadores (bookmarks) guardam estados de filtros, visibilidade e seleção. Relatórios com dezenas deles ficam difíceis de manter.

    Por que

    Cada indicador precisa ser atualizado quando a página muda. Com muitos, é comum sobrar indicador quebrado ou esquecido, e a navegação fica confusa.

    Como

    Limite padrão: 10 indicadores por relatório. Prefira o navegador de páginas, os parâmetros de campo e os seletores de visual no lugar de alternar visuais com indicadores. Revise e apague indicadores sem uso.

    Evite

    Um indicador por combinação de filtro para trocar o visual exibido

    Prefira

    Um parâmetro de campo que troca a métrica no mesmo visual

    Fonte: Measure Killer (Gregor Brunner) — extensão às regras do PBI-Inspector

Storytelling e Comunicação

Checklist de revisão manual baseado em Storytelling with Data, de Cole Nussbaumer Knaflic (Wiley, 2015). Estes critérios de comunicação não são verificados por ferramentas automáticas como o Measure Killer: revise-os com olhos humanos antes de entregar o relatório.

  • #1

    Defina a ideia central da página antes de escolher os visuais

    Storytelling with Data
    Revisão manual
    alta

    O que

    Toda página precisa de uma conclusão que caiba numa frase: o que o leitor deve entender e por que isso importa.

    Por que

    Sem uma ideia central, a página vira um depósito de gráficos e cada leitor tira uma conclusão diferente.

    Como

    Escreva a frase antes de abrir o Power BI. Depois, faça o teste dos 3 segundos: olhando a página por 3 segundos, sem explicação, a conclusão aparece? Se a frase não couber, a página tem temas demais e deve ser dividida.

    Evite

    Página "Visão Geral" com 15 visuais sem relação entre si

    Prefira

    Página "Margem caiu por causa do frete no Nordeste", com 4 visuais que sustentam essa frase

    Fonte: Storytelling with Data (Cole Nussbaumer Knaflic, 2015)

  • #2

    Escreva títulos que dizem a conclusão, não só o assunto

    Storytelling with Data
    Revisão manual
    alta

    O que

    O título do visual ou da página deve dizer o que o dado mostra, e não apenas do que ele trata.

    Por que

    Um título descritivo obriga o leitor a descobrir sozinho a mensagem. Um título-conclusão entrega a leitura certa e reduz interpretações erradas.

    Como

    Troque rótulos genéricos por frases com a conclusão. Quando o dado muda com o filtro, use um título dinâmico com uma medida DAX (formatação condicional do título).

    Evite

    Vendas por Região

    Prefira

    Sul superou a meta; Norte caiu 12%

    Fonte: Storytelling with Data (Cole Nussbaumer Knaflic, 2015)

  • #3

    Escolha o visual pela comparação que importa

    Storytelling with Data
    Revisão manual
    media

    O que

    O tipo de visual deve ser escolhido pela pergunta de negócio, exigindo o menor esforço de leitura para a comparação principal.

    Por que

    Um visual inadequado esconde o padrão que deveria mostrar, mesmo com os dados certos.

    Como

    Valor exato: tabela ou cartão. Tendência no tempo: linha. Comparação entre itens: barras ordenadas. Composição de um total: barra 100% empilhada. Relação entre duas variáveis: dispersão.

    Evite

    Gráfico de área empilhada para comparar 12 vendedores

    Prefira

    Barras horizontais ordenadas pelo valor de vendas

    Fonte: Storytelling with Data (Cole Nussbaumer Knaflic, 2015)

  • #4

    Elimine a saturação visual

    Storytelling with Data
    Revisão manual
    media

    O que

    Bordas, sombras, fundos, linhas de grade e eixos que não carregam informação competem com o dado pela atenção.

    Por que

    Cada elemento sem significado obriga o cérebro a decidir se ele é informação ou enfeite, o que torna a leitura mais lenta.

    Como

    Remova bordas e sombras dos visuais, reduza ou remova linhas de grade e desligue o eixo de valores quando o rótulo de dados estiver ligado. Use espaço em branco para separar blocos.

    Evite

    Visual com borda, sombra, grade densa, eixo de valores e rótulos de dados ao mesmo tempo

    Prefira

    Visual sem borda, sem grade, com rótulos de dados e eixo de valores desligado

    Fonte: Storytelling with Data (Cole Nussbaumer Knaflic, 2015)

  • #5

    Prefira rótulos diretos a legendas

    Storytelling with Data
    Revisão manual
    baixa

    O que

    O nome de cada série deve ficar junto da própria linha ou barra, e não numa legenda separada.

    Por que

    A legenda obriga o olho a ir e voltar entre o gráfico e a chave de cores, o que cansa e gera erro de leitura.

    Como

    Em gráficos de linha, desligue a legenda e ative os rótulos de série. Em barras, nomeie as categorias no eixo ou nos rótulos.

    Evite

    Gráfico de 4 linhas com legenda no rodapé

    Prefira

    Gráfico de 4 linhas com o nome de cada série na ponta da linha

    Fonte: Storytelling with Data (Cole Nussbaumer Knaflic, 2015)

  • #6

    Use cinza como base e cor só para destacar

    Storytelling with Data
    Revisão manual
    media

    O que

    A maior parte dos elementos deve ficar em tons neutros; a cor de destaque vai só no dado que sustenta a conclusão.

    Por que

    Quando tudo é colorido, nada se destaca. A cor só guia o olhar se for rara. Esta regra complementa a das cores do tema: o tema dá consistência, esta regra dá foco.

    Como

    Defina no tema um cinza neutro como cor de dados padrão e uma ou duas cores de destaque. Aplique o destaque com formatação condicional só no item que importa.

    Evite

    Cada barra de uma cor diferente

    Prefira

    Todas as barras cinza e só a região abaixo da meta em destaque

    Fonte: Storytelling with Data (Cole Nussbaumer Knaflic, 2015)

  • #7

    Destaque um ponto por vez

    Storytelling with Data
    Revisão manual
    media

    O que

    Atributos que o olho percebe antes da atenção consciente (cor, tamanho, negrito, posição) devem apontar para um único ponto por vez.

    Por que

    Destacar muitas coisas ao mesmo tempo anula o efeito: se tudo está em evidência, nada está.

    Como

    Escolha o ponto principal de cada visual e destaque só ele. Para vários pontos, use uma sequência de visuais ou páginas, e não um único visual com tudo em evidência.

    Evite

    Cinco valores em negrito e cores diferentes no mesmo visual

    Prefira

    Um único valor destacado, com uma anotação curta explicando por quê

    Fonte: Storytelling with Data (Cole Nussbaumer Knaflic, 2015)

  • #8

    Evite eixo duplo sem necessidade

    Storytelling with Data
    Revisão manual
    baixa

    O que

    Gráficos com dois eixos verticais de escalas diferentes induzem o leitor a comparar grandezas que não são comparáveis.

    Por que

    O cruzamento das séries depende só da escala escolhida para cada eixo, e não dos dados. O leitor vê relações que não existem.

    Como

    Prefira dois visuais alinhados um sobre o outro, com o mesmo eixo de tempo. Se as séries precisam ficar juntas, use um índice comum (base 100).

    Evite

    Colunas de receita e linha de margem % em eixos diferentes

    Prefira

    Dois visuais empilhados: receita em cima e margem % embaixo, com o mesmo eixo de meses

    Fonte: Storytelling with Data (Cole Nussbaumer Knaflic, 2015)

  • #9

    Prefira KPI ou barra a medidor

    Stephen Few
    Revisão manual
    baixa

    O que

    O medidor (gauge) ocupa muito espaço para mostrar um único valor contra uma meta.

    Por que

    Ângulos são lidos com menos precisão que comprimentos, e o medidor não mostra tendência. O mesmo espaço comporta mais informação com outro visual.

    Como

    Use o visual KPI, que mostra valor, meta e tendência, ou uma barra contra a meta (bullet chart).

    Evite

    Medidor de atingimento de meta ocupando um quarto da página

    Prefira

    Visual KPI com valor, meta e tendência mensal

    Fonte: Information Dashboard Design (Stephen Few)

  • #10

    Organize a leitura em Z

    Storytelling with Data
    Revisão manual
    baixa

    O que

    A disposição da página deve seguir o caminho natural do olho: da esquerda para a direita, de cima para baixo.

    Por que

    O leitor olha primeiro para o canto superior esquerdo. Se o dado principal está em outro lugar, ele é visto por último ou não é visto.

    Como

    Coloque o dado mais importante no canto superior esquerdo, alinhe os elementos a uma grade e agrupe por proximidade os visuais do mesmo tema.

    Evite

    KPI principal no rodapé direito da página

    Prefira

    KPIs principais na faixa superior, da esquerda para a direita, e o detalhe abaixo

    Fonte: Storytelling with Data (Cole Nussbaumer Knaflic, 2015)

  • #11

    Faça a sequência de páginas contar uma história

    Storytelling with Data
    Revisão manual
    media

    O que

    As páginas do relatório devem seguir uma ordem lógica, do panorama ao detalhe ou do problema à ação.

    Por que

    Páginas soltas obrigam o leitor a montar a narrativa sozinho. Uma sequência coerente leva à decisão.

    Como

    Leia só os títulos das páginas, em ordem. Eles devem formar uma narrativa coerente. Se não formarem, reordene, junte ou corte páginas.

    Evite

    Páginas na ordem em que foram criadas

    Prefira

    Panorama, causas, detalhe por região e plano de ação, nessa ordem

    Fonte: Storytelling with Data (Cole Nussbaumer Knaflic, 2015)

  • #12

    Ajuste a densidade ao modo de uso

    Storytelling with Data
    Revisão manual
    baixa

    O que

    Um relatório apresentado ao vivo e um relatório lido sozinho pedem densidades diferentes.

    Por que

    Na apresentação, alguém guia a leitura. Na leitura autônoma, o relatório precisa se explicar sem ajuda.

    Como

    Para leitura autônoma, use títulos-conclusão, anotações e textos curtos de contexto. Para apresentação, revele a informação aos poucos (páginas ou indicadores em sequência).

    Evite

    O mesmo relatório denso usado na reunião e enviado por e-mail

    Prefira

    Versão de apresentação enxuta e versão de leitura com anotações

    Fonte: Storytelling with Data (Cole Nussbaumer Knaflic, 2015)

  • #13

    Rascunhe a narrativa antes de abrir o Power BI

    Storytelling with Data
    Revisão manual
    baixa

    O que

    O roteiro do relatório (páginas, títulos e ordem) deve existir antes da construção.

    Por que

    Começar pelo Power BI puxa o trabalho para os dados disponíveis, e não para a pergunta do negócio. Mudar um rascunho é barato; mudar um relatório pronto, não.

    Como

    Faça um storyboard em papel ou em slides com uma caixa por página, o título-conclusão de cada uma e a ordem. Valide com o público antes de construir.

    Evite

    Abrir o Power BI e montar visuais até "ficar bom"

    Prefira

    Storyboard validado com o gestor antes do primeiro visual

    Fonte: Storytelling with Data (Cole Nussbaumer Knaflic, 2015)

Guias

Sobre as 90 regras

As regras desta página vêm de quatro fontes:

FonteCobreRegras
Best Practice Rules da Microsoft (licença MIT)Modelo semântico: Performance, Expressões DAX, Prevenção de Erros, Manutenção, Nomenclatura e Formatação62
PBI-Inspector, de Nat Van Gulck (licença MIT)Relatório: as regras base de Relatórios e Visuais11
Best Practices Analyser do Measure Killer (Gregor Brunner)Extensões: pizza e rosca, medidas implícitas e indicadores; e "Evite colunas calculadas com definições duplicadas"4
Storytelling with Data, de Cole Nussbaumer Knaflic, e Information Dashboard Design, de Stephen FewStorytelling e Comunicação: checklist de revisão manual13

O PBI-Inspector é um projeto da comunidade, sem suporte da Microsoft. O suporte ao formato PBIR está no repositório PBI-Inspector V2.

Como ler a severidade

A severidade usa a escala de 1 a 3 do Best Practice Analyzer:

Na páginaNo Best Practice AnalyzerO que fazer
Alta3Corrija antes de publicar: quebra o modelo, falha no deploy ou dá resultado errado
Média2Corrija no próximo ciclo de manutenção
Baixa1Recomendação; aplique quando fizer sentido

As regras de modelo seguem o valor oficial da Microsoft. As regras de relatório seguem a severidade usada pelo Measure Killer. As regras de Storytelling e Comunicação não são pontuadas por ferramentas: a severidade indica a prioridade na revisão.

Adaptações para o Brasil e para o Full HD

  • Formato de data: a regra de colunas de data usa dd/mm/yyyy. A Microsoft usa mm/dd/yyyy na correção automática da regra.
  • Categorias: "Avalie se RLS dinâmico é realmente necessário" é oficialmente de Performance, e "Corrija violações de integridade referencial" é de Manutenção. Aqui as duas estão em Prevenção de Erros. O ID oficial aparece na fonte de cada regra.
  • Página Full HD, sem rolagem: rolagem vertical continua não recomendada. O que mudou foi o tamanho padrão da página, de HD (1280 × 720) para Full HD (1920 × 1080). O PBI-Inspector e o Measure Killer ainda verificam 720 px; em relatórios Full HD, ajuste o parâmetro para 1080 ou desconsidere esse alerta.

Rodar as regras no seu modelo e no seu relatório

As regras da Microsoft rodam de forma automática no Best Practice Analyzer do Tabular Editor: carregue o BPARules.json e execute contra o modelo aberto ou contra a pasta TMDL de um projeto .pbip. As regras de relatório rodam no PBI-Inspector ou no Best Practices Analyser do Measure Killer, que também verifica o modelo. Para rodar por linha de comando num pipeline de CI/CD, veja a skill bi-qa-documentacao em Skills de IA.

Guia Definitivo de Visuais no Power BI

Design com princípio. Cada visual no lugar certo, pelo motivo certo.

"Um dashboard eficaz é o produto não de medidores e semáforos bonitinhos, mas sim de um design informado: mais ciência que arte, mais simplicidade do que deslumbre. Ele é, acima de tudo, sobre comunicação." — Stephen Few


Como Usar Este Guia

Este documento é uma referência prática para analistas que precisam escolher, configurar e justificar cada visual em um relatório Power BI. Ele combina os princípios de design de informação de Stephen Few com a documentação oficial Microsoft e as boas práticas de mercado.

A pergunta central antes de escolher qualquer visual:

O que eu quero que o usuário conclua ao olhar para isso?

Essa pergunta vem antes da pergunta técnica. O visual serve à conclusão — não o contrário.


A Estrutura de Decisão

Antes de abrir o painel de Visualizações, defina:

DimensãoPerguntas
ObjetivoQuero comparar? Mostrar tendência? Exibir proporção? Revelar relacionamento? Rastrear progresso?
Tipo de dadoCategórico, numérico, temporal, geográfico, hierárquico?
AudiênciaExecutivo (síntese), analista (exploração), operador (monitoramento)?
Espaço disponívelKPI em célula pequena ou gráfico de tendência em área ampla?
Nível de interatividadeLeitura passiva ou exploração ativa com drill-down e filtros?

Com essas cinco dimensões respondidas, a escolha do visual se torna técnica, não intuitiva.


CATEGORIA 1 — Comparação e Tendências

Use estes visuais para comparar valores entre categorias ou rastrear mudanças ao longo do tempo.


Gráfico de Barras e Colunas

O que é: O padrão universal para comparação de valores discretos. Barras na horizontal, colunas na vertical.

Quando usar:

  • Comparar valores entre categorias distintas (produtos, regiões, vendedores)
  • Colunas: quando o eixo X representa tempo (Jan, Fev, Mar)
  • Barras: quando os rótulos das categorias são longos (mais de 5 caracteres) ou há mais de 5 categorias

Princípio de design aplicado: O comprimento da barra é o atributo mais preciso que o olho humano compara depois da posição. É por isso que barras superam pizzas: o cérebro calcula comprimento com muito mais exatidão do que ângulo ou área.

Configuração recomendada no Power BI:

  • Desative linhas de grade ou use cinza muito claro (opacidade 15%)
  • Ative rótulos de dados diretamente nas barras — elimina a necessidade de o usuário olhar para o eixo
  • Remova o título do eixo se o título do visual já o descreve
  • Use uma única cor; diferencie apenas quando a cor tiver significado (ex: destaque o maior valor ou o período atual)
  • Ordene as barras por valor (maior para menor) quando a ordem categórica não for relevante
  • Com muitas categorias no eixo (ex.: meses de vários anos), defina Posição inicial de rolagem = Fim no eixo categórico (GA set/2026): o visual já abre mostrando os períodos mais recentes. Vale também para linha, área, faixa, cascata e dispersão

Evite:

  • Empilhamento com mais de 3 séries — as comparações internas se tornam impossíveis
  • Eixo Y que não começa em zero — distorce a percepção da magnitude
  • Cores diferentes para cada barra sem significado semântico — chartjunk por variação

Documentação oficial: Column charts in Power BI


Gráfico de Linhas

O que é: Uma linha que conecta pontos de dados ao longo de um eixo contínuo, revelando a forma da tendência.

Quando usar:

  • Dados contínuos ao longo do tempo com mais de 8 períodos
  • Comparação de tendências entre poucas séries (até 4-5 linhas)
  • Quando a direção e a velocidade da mudança importam mais que os valores absolutos

Princípio de design aplicado: O gráfico de linhas ativa o processamento pré-atentivo pela inclinação — o olho detecta subidas e quedas antes de ler qualquer número. Isso o torna ideal para dashboards operacionais onde a tendência precisa ser percebida em relance.

Configuração recomendada no Power BI:

  • Use linha suavizada para séries longas (reduz ruído visual)
  • Ative marcadores apenas nos pontos que precisam de atenção — marcadores em todos os pontos poluem
  • Adicione uma linha de referência (média, meta) via painel de Análise (Analytics) para contextualizar a tendência
  • Para múltiplas séries, use rótulos de linha ao final (não legenda separada) — mantém o olho na série
  • Considere área sombreada abaixo da linha principal para enfatizar magnitude quando há apenas uma série

Evite:

  • Mais de 5 séries na mesma área — o gráfico se transforma em espaguete ilegível
  • Usar gráfico de linhas para dados categóricos sem relação temporal entre si

Recursos avançados:

  • Anomaly Detection integrado: ative em Análise → Encontrar anomalias para destacar automaticamente picos e quedas inesperados
  • Previsão: Análise → Previsão gera projeção com intervalo de confiança baseado no histórico

Documentação oficial: Line charts in Power BI


Gráfico de Área

O que é: Um gráfico de linhas com a área entre a linha e o eixo preenchida.

Quando usar:

  • Mostrar a magnitude da mudança ao longo do tempo (o preenchimento enfatiza o volume)
  • Comparar totais acumulados quando empilhado
  • Uma única série que precisa de peso visual maior que a linha simples oferece

Princípio de design aplicado: A área preenchida ativa a percepção de volume — o usuário sente o crescimento ou a queda, não apenas o vê. Use quando a magnitude da mudança for o insight principal, não apenas a direção.

Configuração recomendada no Power BI:

  • Use transparência de 50-70% na área para evitar que o preenchimento domine sobre os dados
  • Com múltiplas séries, prefira Área Empilhada 100% para mostrar composição proporcional ao longo do tempo
  • Combine com linha de referência para metas ou médias históricas

Evite:

  • Mais de 3 séries empilhadas — as séries inferiores se tornam invisíveis
  • Usar área quando os valores oscilam muito — o preenchimento cria "montanhas" que distorcem a percepção de escala

Documentação oficial: Area charts in Power BI


Gráfico de Combinação (Combo Chart)

O que é: A fusão de colunas e linha em um único visual, com possibilidade de dois eixos Y independentes.

Quando usar:

  • Comparar duas métricas com escalas completamente diferentes (ex: Receita em R$ e Margem em %)
  • Mostrar volume absoluto (coluna) e taxa ou índice (linha) simultaneamente
  • Quando a relação entre duas métricas é o insight principal

Princípio de design aplicado: O combo chart resolve o problema da escala incompatível sem forçar o usuário a alternar entre dois visuais. O custo é a complexidade visual — use apenas quando as duas métricas têm relação semântica clara que precisa ser visível simultaneamente.

Configuração recomendada no Power BI:

  • Nomeie os dois eixos Y com clareza — o usuário precisa saber qual escala pertence a qual série
  • Use cores contrastantes para colunas e linha (ex: azul para coluna, laranja para linha)
  • Ative rótulos de dados apenas na série mais importante para evitar poluição
  • Com dois eixos Y, alinhe os zeros para não criar uma falsa percepção de correlação

Evite:

  • Mais de uma linha sobreposta às colunas — a legibilidade desaparece
  • Usar quando as duas métricas não têm relação conceitual — o visual sugere correlação que pode não existir

Documentação oficial: Combo charts in Power BI


Gráfico de Faixa (Ribbon Chart)

O que é: Uma variação do gráfico de barras empilhadas que mostra a posição de ranking de cada categoria ao longo do tempo, com a categoria de maior valor sempre no topo.

Quando usar:

  • O insight principal é a mudança de posição relativa entre categorias ao longo do tempo
  • Ranking de produtos, regiões ou vendedores que alterna em diferentes períodos
  • Quando saber quem está em primeiro lugar em cada período é mais importante que os valores absolutos

Princípio de design aplicado: O ribbon chart traduz visualmente a dinâmica competitiva. A faixa conectada entre períodos permite que o olho rastreie a trajetória de uma categoria sem precisar comparar números.

Configuração recomendada no Power BI:

  • Limite a 5-7 categorias — acima disso as faixas ficam finas demais para serem rastreáveis
  • Use paleta de cores com identidade por categoria (cada categoria tem sua cor fixada)
  • Ative rótulos de dados para mostrar o valor em cada período

Evite:

  • Usar quando os valores absolutos importam mais que a posição — o gráfico de colunas empilhadas é mais adequado
  • Muitas categorias com valores próximos — as faixas se entrelaçam e o visual perde legibilidade

Documentação oficial: Ribbon charts in Power BI


Gráfico de Cascata (Waterfall Chart)

O que é: Um gráfico que mostra como um valor inicial é afetado por uma série de adições e subtrações positivas e negativas, chegando a um valor final.

Quando usar:

  • Decompor a variação de um KPI (ex: "Por que a receita de março é maior que a de fevereiro?")
  • Analisar a contribuição de diferentes fatores para um resultado final (DRE simplificado, variação de estoque)
  • Mostrar entradas e saídas de um processo financeiro (fluxo de caixa, P&L)

Princípio de design aplicado: O waterfall chart é um dos poucos visuais que comunica causa e efeito de forma nativa. A sequência de barras positivas (verdes) e negativas (vermelhas) cria uma narrativa visual da composição do resultado.

Configuração recomendada no Power BI:

  • Use cores semânticas fixas: verde para positivo, vermelho para negativo, cinza ou azul para o valor inicial e final (totais)
  • Ative rótulos de dados em todas as barras — os valores são o ponto principal
  • Ordene da maior contribuição para a menor quando a sequência não for temporal ou causal

Evite:

  • Usar com mais de 10-12 categorias — a leitura sequencial se torna cansativa
  • Trocar as cores convencionais (verde/vermelho) por escolhas estéticas — confunde o usuário

Documentação oficial: Waterfall charts in Power BI


CATEGORIA 2 — Partes de um Todo

Use estes visuais para mostrar como componentes individuais contribuem para um total.


Gráfico de Pizza e Rosca

O que é: Um círculo dividido em fatias proporcionais ao valor de cada categoria.

A posição honesta sobre pizza e rosca:

A documentação oficial da Microsoft diz: "Use these charts when you have a small number of categories." Stephen Few é mais direto: o olho humano compara ângulos e áreas com muito menos precisão do que comprimentos. Com mais de quatro categorias, as fatias ficam tão similares que o usuário não consegue estabelecer ranking sem ler os rótulos — e se precisa ler os rótulos, o gráfico não está fazendo seu trabalho.

Quando é aceitável usar:

  • Exatamente 2 a 4 categorias com diferenças proporcionais significativas entre si
  • Quando a mensagem é uma proporção dominante e óbvia (ex: "80% das vendas vêm de 2 produtos")
  • Contextos informais onde a aparência familiar do visual importa mais que a precisão

Substituto sempre superior: Gráfico de barras horizontais ordenadas por valor. O usuário vê os mesmos dados com mais precisão, em menos espaço, com ranking imediato.

Configuração se optar por usar no Power BI:

  • Máximo de 4 fatias; agrupe o restante em "Outros"
  • Ative rótulos de dados com percentual dentro de cada fatia
  • Para rosca: use o centro para exibir o total ou a categoria principal via caixa de texto sobreposta
  • Desative a legenda se os rótulos já identificam as fatias

Documentação oficial: Pie and donut charts in Power BI


Treemap

O que é: Dados hierárquicos representados como retângulos aninhados, onde o tamanho de cada retângulo é proporcional ao valor.

Quando usar:

  • Comparar proporções em dados hierárquicos com muitos itens (ex: receita por categoria → subcategoria → produto)
  • Quando a proporção relativa é o insight principal e não há necessidade de comparações precisas
  • Mostrar composição de um portfólio em que alguns itens dominam claramente sobre outros

Princípio de design aplicado: O treemap usa o atributo pré-atentivo de tamanho para comunicar magnitude. O olho detecta imediatamente quais retângulos são maiores sem precisar ler os valores. É eficaz quando a dispersão de tamanhos é grande — quando os valores são próximos, o treemap perde utilidade.

Configuração recomendada no Power BI:

  • Use uma única cor em gradiente (mais escuro = maior valor) para hierarquias simples
  • Para hierarquias com 2 níveis, use cores diferentes para o primeiro nível e tons do mesmo matiz para o segundo
  • Ative rótulos de dados apenas para os maiores retângulos — rótulos em itens pequenos se sobrepõem e criam poluição
  • Configure drill-down para permitir que o usuário desça na hierarquia ao clicar

Evite:

  • Quando os valores são próximos entre si — os retângulos ficam com tamanhos indistinguíveis
  • Quando há mais de 3 níveis hierárquicos — a leitura colapsa
  • Como substituto para um gráfico de barras quando a comparação de valores absolutos é o objetivo

Documentação oficial: Treemaps in Power BI


Gráfico de Funil (Funnel Chart)

O que é: Um gráfico de barras horizontais ordenadas de cima para baixo, representando etapas de um processo com redução progressiva de volume.

Quando usar:

  • Processos sequenciais com perda entre etapas (pipeline de vendas, funil de marketing, onboarding)
  • Quando a taxa de conversão entre etapas é o insight principal
  • Identificar onde o processo perde mais volume (gargalos)

Princípio de design aplicado: A forma visual do funil comunica, por si mesma, a ideia de progressão e redução — é um dos raros visuais onde a metáfora visual é parte do insight. O usuário entende o conceito antes de ler qualquer valor.

Configuração recomendada no Power BI:

  • Ative rótulos de dados com o valor absoluto e o percentual de conversão em relação à etapa anterior
  • Use uma única cor com gradiente de intensidade (mais saturado nas etapas com maior perda) para guiar o olho para os gargalos
  • Ordene sempre da etapa inicial (maior volume) para a etapa final (menor volume) — nunca inverta

Evite:

  • Usar para dados que não representam um processo sequencial — o funil implica causalidade entre etapas
  • Comparar dois funis lado a lado no mesmo visual — cria confusão; use páginas separadas com bookmarks

Documentação oficial: Funnel charts in Power BI


CATEGORIA 3 — Distribuição e Relacionamentos

Use estes visuais para entender como os dados estão distribuídos e identificar correlações.


Gráfico de Dispersão, Bolhas e Dot Plot

O que é: Pontos plotados na interseção de dois valores numéricos (dispersão). Bolhas adicionam uma terceira dimensão via tamanho. Dot plots permitem eixo X categórico.

Quando usar (dispersão):

  • Identificar correlação entre duas variáveis numéricas (ex: ticket médio × volume de vendas por vendedor)
  • Detectar outliers — pontos fora do padrão ficam visualmente isolados
  • Segmentar clusters naturais em um conjunto de dados

Quando usar (bolhas):

  • Três variáveis simultâneas onde as três têm igual importância analítica
  • Exemplos: país × PIB per capita × população; produto × margem × volume

Princípio de design aplicado: O gráfico de dispersão é o único visual que revela correlação de forma nativa. Nenhum gráfico de barras ou linhas mostra a relação entre duas variáveis independentes com a mesma clareza. Para análises exploratórias, é frequentemente o ponto de partida.

Configuração recomendada no Power BI:

  • Ative rótulos apenas nos outliers, não em todos os pontos — rótulos em todos os pontos criam ilegibilidade
  • Use o campo Legenda para colorir pontos por categoria (ex: região), mas limite a 5-6 categorias
  • Adicione linhas de referência (média nos dois eixos) via painel de Análise para criar quadrantes
  • Para bolhas, defina tamanho mínimo e máximo para evitar que bolhas pequenas desapareçam e grandes dominem a área

Recursos avançados no Power BI:

  • Campo de reprodução (Play Axis): adicione uma dimensão temporal ao campo Eixo de Reprodução para criar uma animação que mostra a evolução dos pontos ao longo do tempo

Evite:

  • Mais de 200-300 pontos sem agrupamento — o gráfico vira uma nuvem ilegível
  • Usar dispersão quando um dos eixos é categórico e há muitas categorias — dot plot resolve melhor

Documentação oficial: Scatter charts in Power BI


CATEGORIA 4 — Tabelas e Matrizes

Use estes visuais quando a precisão dos valores e a comparação multidimensional são o objetivo.


Tabela

O que é: Uma grade de linhas e colunas exibindo valores exatos.

Quando usar:

  • O usuário precisa de valores precisos, não de tendências ou proporções
  • Comparar muitos itens em uma única dimensão (ex: lista de clientes com receita, margem e variação)
  • Quando há múltiplas unidades de medida que não podem coexistir num gráfico
  • Como complemento a gráficos — a tabela fornece o detalhe que o gráfico generaliza

Princípio de design aplicado: A tabela é o visual mais denso e o mais preciso. Use-a quando a precisão supera a necessidade de síntese. Nunca use uma tabela onde um gráfico comunicaria o mesmo insight mais rapidamente — e nunca use um gráfico onde a tabela fornece a precisão necessária.

Configuração de design recomendada no Power BI:

  • Linhas alternadas: ative em Formato → Grade → Cor de linha alternada — use cinza muito claro (#F5F5F5). Elimina bordas sem perder a separação entre linhas
  • Sem bordas verticais: desative divisores de coluna — o espaçamento separa melhor que linhas
  • Alinhamento: números sempre à direita (facilita comparação de dígitos por posição); texto à esquerda
  • Totais em negrito: Formato → Subtotais → Cor do texto com peso maior
  • Sparklines nas colunas: adicione contexto histórico sem sair da tabela — Adicionar → Sparkline
  • Barras de dados: Formatação Condicional → Barras de Dados para comunicar magnitude junto ao valor exato
  • Largura de coluna pelo leitor (GA set/2026): quem consome o relatório pode clicar com o botão direito no cabeçalho para definir a largura em pixels ou voltar à largura do autor. Vale só para a sessão; a sua configuração continua sendo o padrão
  • Exportar para Excel: com Dados com o layout atual, o limite passou de 150 mil para 500 mil linhas (set/2026)

Formatação condicional recomendada:

  • Cor de fundo por regras (vermelho/âmbar/verde) para valores fora do padrão
  • Ícones de status por regras de negócio (▲▼ ou semáforos)
  • Barras de dados para colunas de volume ou valor

Evite:

  • Bordas em todas as células — cria uma grade pesada que o olho precisa filtrar antes de ler os dados
  • Mais de 8-10 colunas — a tabela ultrapassa a largura da tela e força rolagem horizontal
  • Usar tabela quando o usuário precisa de tendência — adicione uma sparkline ou substitua por gráfico de linhas

Documentação oficial: Tables in Power BI


Matriz

O que é: Uma tabela dinâmica visual que suporta múltiplas dimensões em linhas e colunas com hierarquias expansíveis.

Quando usar:

  • Análise multidimensional: produto × região × período num único visual
  • O usuário precisa explorar hierarquias (clicar em "Sul" para ver os estados do Sul)
  • Quando subtotais e totais gerais são parte do insight
  • Como substituto ao Excel pivot para análises ad hoc dentro do relatório

Diferença crítica em relação à tabela: A tabela exibe linhas independentes; a matriz agrega automaticamente e suporta hierarquias expansíveis em linhas e colunas. Use matriz quando há mais de uma dimensão de análise.

Configuração recomendada no Power BI:

  • Ative Layout Stepped para hierarquias — recua os níveis hierárquicos visualmente
  • Configure Expandir/Recolher todos os cabeçalhos de linha para que o usuário controle o nível de detalhe
  • Use formatação condicional nas células de valor para criar um heatmap visual
  • Desative ícones de expansão padrão e configure botões personalizados via bookmark se a interatividade precisar de controle

Documentação oficial: Matrix visuals in Power BI


CATEGORIA 5 — Mapas

Use estes visuais para dados com dimensão geográfica.


Mapa Preenchido (Choropleth / Filled Map)

Quando usar: Comparar uma métrica entre regiões geográficas delimitadas (estados, países, municípios) onde a intensidade de cor comunica o valor.

Configuração: Use gradiente de cor sequencial (claro = menor, escuro = maior) em um único matiz. Evite paleta arco-íris — ela sugere diferenças qualitativas onde há diferença quantitativa.

Mapa de Bolhas (Bubble Map)

Quando usar: Localizar pontos específicos (cidades, filiais, clientes) com volume representado pelo tamanho da bolha. Melhor que o mapa preenchido quando os dados são pontuais, não regionais.

Shape Map

Quando usar: Mapas personalizados com regiões não padrão (territórios comerciais, zonas de distribuição) usando arquivos TopoJSON.

Princípio de design aplicado (para todos os mapas): O mapa é indispensável quando a geografia é parte do insight. Se a localização não agrega compreensão ao dado, use um gráfico de barras — é mais preciso e mais rápido de ler.

Evite:

  • Usar mapa apenas porque o dado tem um campo de estado ou país — a questão é se a distribuição geográfica é o insight
  • Mapas com muitos pontos sem agrupamento — vira ruído visual

Documentação oficial: Map visualizations in Power BI


CATEGORIA 6 — KPIs, Cartões e Progresso

Use estes visuais para destacar valores-chave e rastrear progresso em relação a metas.


Cartão (Card)

O que é: Um visual que exibe um único valor de forma prominente. Suporta layout de cartão único e múltiplos cartões, com imagens e valores de referência.

Quando usar:

  • O KPI mais importante do dashboard (Receita Total, NPS, Margem Bruta)
  • Valores que precisam ser vistos imediatamente sem contexto comparativo
  • Como primeiro elemento no canto superior esquerdo da página

Configuração recomendada:

  • Título descritivo e conciso (ex: "Receita MTD" não "Receita")
  • Fonte grande para o valor principal — ocupa o espaço que lhe foi destinado
  • Subtítulo com contexto de variação (ex: "▲ 12,4% vs mês anterior") via medida DAX
  • Sem bordas, sem fundo colorido — o valor é o elemento, não o contêiner
// Subtítulo dinâmico para cartão
Subtítulo Receita =
VAR _Var = [Variação % vs Anterior]
VAR _Sinal = IF(_Var >= 0, "▲ ", "▼ ")
VAR _Cor_Label = IF(_Var >= 0, "crescimento", "queda")
RETURN
    _Sinal & FORMAT(ABS(_Var), "0.0%") & " vs mês anterior"

Documentação oficial: Card visuals in Power BI


Visual KPI

O que é: Mostra três informações num único visual: o valor atual, a meta e a tendência do período anterior.

Quando usar:

  • Existe uma meta definida e o atingimento precisa estar visível
  • O contexto temporal (melhorando ou piorando) é parte do insight
  • Substituto superior ao cartão simples quando há meta no modelo de dados

Por que o KPI é superior ao gauge na maioria dos casos: O gauge ocupa 3-4x mais espaço e comunica apenas valor atual × meta. O KPI visual comunica valor atual + meta + tendência no mesmo espaço de um cartão.

Configuração recomendada:

  • Configure os três campos: Valor, Metas, Eixo de tendência
  • O Power BI calcula automaticamente se a direção é positiva ou negativa — configure qual direção é "boa" para a métrica

Documentação oficial: KPIs in Power BI


Gráfico de Medidor (Gauge / Radial Gauge)

O que é: Um velocímetro semicircular com uma agulha mostrando o valor atual em relação a mínimo, máximo e meta.

A posição honesta sobre o gauge:

O gauge é frequentemente o primeiro visual que analistas querem usar para KPIs — e um dos menos eficientes em termos de relação informação/espaço. Ele ocupa um espaço considerável para comunicar um único número em relação a uma meta, o que o visual KPI faz com mais informação no mesmo espaço ou menor.

Quando é aceitável usar:

  • Dashboards operacionais de monitoramento em tempo real onde a leitura analógica (posição da agulha) é mais rápida que um número
  • Telas de operações com poucos KPIs e área visual generosa (TVs, painéis de controle físicos)
  • Quando a audiência tem baixa familiaridade com dados e a metáfora do velocímetro facilita a leitura

Configuração se optar por usar:

  • Defina sempre os três campos: Valor, Valor Mínimo, Valor Máximo
  • Configure o campo Meta para exibir a posição-alvo na escala
  • Use cores de preenchimento semânticas: vermelho (abaixo da meta), âmbar (próximo), verde (atingido)

Substitutos recomendados: Visual KPI, Gráfico de Bala (via AppSource), Cartão com formatação condicional

Documentação oficial: Gauge charts in Power BI


Visual de Metas (Goals)

O que é: Um scorecard que exibe múltiplas métricas com metas, valores atuais e indicadores de status por cores. Disponível no Power BI Service.

Quando usar:

  • Dashboards de gestão com múltiplos KPIs e metas formalizadas
  • Scorecards de equipe ou departamento com acompanhamento periódico
  • Substituir planilhas de acompanhamento de metas por um visual integrado ao Power BI

Documentação oficial: Get started with metrics in Power BI


CATEGORIA 7 — Visuais com Inteligência Artificial

Use estes visuais para exploração guiada por IA e narrativas automáticas.


Árvore de Decomposição (Decomposition Tree)

O que é: Um visual que permite decompor um valor-chave através de múltiplas dimensões em qualquer ordem, com a IA sugerindo qual dimensão explorar a seguir.

Quando usar:

  • Diagnóstico de causa raiz: "Por que as vendas de São Paulo caíram 15%?"
  • Exploração ad hoc sem necessidade de criar filtros ou páginas dedicadas
  • Quando o analista não sabe de antemão qual dimensão explica melhor o desvio

É o visual analítico mais poderoso do Power BI para diagnóstico. Nenhum outro visual permite explorar causa raiz de forma interativa com esta profundidade.

Configuração recomendada:

  • Coloque a métrica principal no campo Analisar (ex: Receita Total)
  • Adicione todas as dimensões relevantes no campo Explicar por (Região, Produto, Canal, Vendedor)
  • Use a opção IA para que o Power BI sugira automaticamente qual nível explica melhor o valor selecionado

Documentação oficial: Decomposition tree visuals in Power BI


Principais Influenciadores (Key Influencers)

O que é: Um visual que identifica automaticamente quais fatores têm maior influência sobre um resultado ou valor selecionado.

Quando usar:

  • Entender o que aumenta ou diminui um KPI (ex: "O que aumenta a probabilidade de churn?")
  • Análises de segmentação automática sem necessidade de modelagem estatística manual
  • Quando a pergunta é "por que esse resultado acontece?" e há múltiplas variáveis candidatas

Configuração recomendada:

  • Analisar: a métrica de interesse (ex: Churn = Sim/Não)
  • Explicar por: as variáveis candidatas (ex: Segmento, Produto, Região, Tempo de contrato)
  • Alterne entre as abas Principais Influenciadores e Principais Segmentos para perspectivas diferentes

Documentação oficial: Key influencers in Power BI


Narrativa Inteligente (Smart Narrative)

O que é: Um visual que gera automaticamente um parágrafo em linguagem natural descrevendo os principais insights dos dados.

Quando usar:

  • Adicionar contexto textual a dashboards sem escrever DAX para medidas de texto
  • Resumos executivos gerados automaticamente que se atualizam com os dados
  • Complementar visuais gráficos com narrativa que aponta o que é mais relevante

Configuração recomendada:

  • Personalize o texto gerado para incluir frases fixas de contexto de negócio
  • Use o modo de edição para substituir partes do texto por medidas DAX personalizadas
  • Para criar valores dinâmicos, use a seleção de valor (set/2026): escolha a coluna ou medida, a agregação e os filtros por menus, em vez de digitar uma pergunta no Q&A
  • Posicione no cabeçalho da página ou como complemento ao visual principal

Documentação oficial: Smart narrative in Power BI


Detecção de Anomalias (Anomaly Detection)

O que é: Uma função do gráfico de linhas (não um visual separado) que identifica automaticamente picos e quedas inesperados na série temporal.

Quando usar:

  • Monitoramento de séries temporais onde desvios do padrão precisam de atenção imediata
  • Dashboards operacionais com atualização frequente
  • Como complemento ao gráfico de linhas em análises de tendência

Como ativar: No gráfico de linhas, vá em Painel de Análise → Encontrar anomalias. Configure a sensibilidade e o intervalo de confiança.

Documentação oficial: Anomaly detection in Power BI


CATEGORIA 8 — Filtragem e Segmentação

Use estes visuais para controlar o contexto dos dados exibidos no relatório.


Segmentação (Slicer)

O que é: Um controle de filtro on-canvas que permite ao usuário filtrar todos os visuais da página (ou do relatório) por uma ou mais dimensões.

Formatos disponíveis: Lista vertical, dropdown, botões, controle deslizante de data, entre e data range.

Quando usar cada formato:

  • Lista: até 7-8 itens onde o usuário precisa ver todas as opções de uma vez
  • Dropdown: mais de 8 itens ou quando o espaço na tela é limitado
  • Botões: para seleções binárias ou com pouquíssimas opções (ex: Ano: 2023 | 2024 | 2025)
  • Controle deslizante de data: para filtros de período contínuos onde o usuário quer selecionar intervalos

Configuração recomendada:

  • Agrupe todas as segmentações numa área coesa (cabeçalho ou painel lateral)
  • Use Sincronizar segmentações (Exibir → Sincronizar Segmentações) para que o filtro se aplique a múltiplas páginas
  • Configure Seleção Única vs Múltipla conforme a lógica do negócio — não deixe o padrão por inércia
  • Para filtros de data, prefira segmentação de dropdown com datas relativas (Últimos 30 dias, Mês atual) em vez de seleção manual
  • Nos estilos com controle deslizante (Entre, Antes, Depois e Seletor de data), a seção Controle deslizante do painel de formatação (GA set/2026) define a cor das alças, da faixa selecionada e do trilho — use as cores do tema para o filtro não destoar do relatório

Princípio de design: O painel de filtros nativo do Power BI é poderoso, mas invisível. Para usuários executivos que não exploram o painel de filtros, as segmentações on-canvas são o único recurso de filtro que eles usam. Posicione as segmentações mais usadas no cabeçalho da página para máxima visibilidade.

Documentação oficial: Slicers in Power BI


CATEGORIA 9 — Estrutura, Navegação e Contexto

Use estes visuais para construir a arquitetura de informação do relatório.


Caixas de Texto e Formas

Caixa de texto: Para títulos de página, descrições de seção, subtítulos de KPI, notas metodológicas e qualquer conteúdo textual fixo. O Power BI permite vincular o texto a campos de dados para conteúdo dinâmico.

Formas (retângulos, elipses, linhas, setas): Para delimitar seções visualmente, criar agrupamentos sem bordas nos visuais e guiar o olhar através do layout.

Princípio de design: Use formas e espaço em branco como separadores em vez de bordas nos próprios visuais. Uma forma retangular com preenchimento cinza muito claro atrás de um grupo de KPIs é mais elegante e menos poluída que bordas individuais em cada cartão.

Documentação oficial: Add text boxes and shapes to Power BI reports


Botões e Navegadores

O que são: Elementos interativos que executam ações: navegar para outra página, aplicar um bookmark, abrir uma URL, mostrar/ocultar um painel.

Quando usar:

  • Navegação entre páginas: sempre que o relatório tiver mais de 2 páginas — oculte as abas padrão e crie um menu de navegação consistente
  • Bookmarks: para alternar entre estados do relatório (mostrar/ocultar filtros, alternar entre visões)
  • Drill-through contextual: botão "Ver Detalhe" que leva o usuário da visão geral ao detalhe com o contexto preservado

Boas práticas:

  • Use Navegador de Páginas ou Navegador de Bookmarks (visuais nativos de navegação) para criar menus consistentes automaticamente
  • Configure estados de botão (padrão, ao passar o mouse, ao pressionar) para feedback visual de interatividade
  • Oculte as abas de página do usuário final (Exibir → Ocultar Painel de Páginas no serviço) e use navegação customizada

Documentação oficial: Create buttons in Power BI


Imagem

O que é: Exibe imagens estáticas (logos, ícones) ou dinâmicas que mudam com base em valores do dado.

Quando usar:

  • Logo da empresa no cabeçalho de cada página
  • Fotos de produtos ou vendedores em tabelas com URL de imagem no campo
  • Bandeiras de países, ícones de categoria ou qualquer representação visual vinculada a uma dimensão

Configuração: Para imagens dinâmicas, crie uma coluna no modelo com a URL da imagem e configure a propriedade da coluna como URL de Imagem (Ferramentas de Coluna → Categoria de Dados → URL de Imagem).

Documentação oficial: Image visual in Power BI


Visual de Relatório Paginado

O que é: Permite incorporar um relatório paginado (.rdl) dentro de uma página do Power BI.

Quando usar:

  • O usuário precisa de um layout pixel-perfect para impressão ou exportação em PDF
  • Relatórios tabulares muito longos que se estendem por múltiplas páginas (extratos, notas fiscais, relatórios regulatórios)
  • Quando o Power BI Report Builder é necessário para formatação avançada que o Power BI Desktop não oferece

Documentação oficial: Paginated report visual in Power BI


Visuais R e Python

O que são: Visuais criados com código R ou Python, executados no Power BI para análises estatísticas e visualizações personalizadas.

Quando usar:

  • Análises estatísticas avançadas (regressão, clustering, distribuições)
  • Visualizações que não existem no Power BI nativo (violin plots, heatmaps customizados, dendrogramas)
  • Modelos de forecasting com bibliotecas especializadas (Prophet, scikit-learn)

Limitação importante: Visuais R e Python não suportam interatividade dinâmica completa (cross-filtering) da mesma forma que os visuais nativos. Use-os para análises estáticas ou exportações.

Documentação oficial: R visuals in Power BI


RECURSOS TRANSVERSAIS QUE ELEVAM QUALQUER VISUAL

Formatação Condicional

A formatação condicional transforma visuais estáticos em comunicadores de status. Disponível em tabelas, matrizes e muitos gráficos.

O que pode ser formatado condicionalmente:

  • Cor de fundo da célula (por valor, regras ou escala de cores)
  • Cor da fonte
  • Barras de dados (minibarras dentro da célula)
  • Ícones (semáforos, setas, formas)
  • URLs em hiperlinks dinâmicos

Regra de design: Formatação condicional deve comunicar status de negócio, não beleza visual. Use regras baseadas em limites do negócio (meta atingida, variação aceitável), não em valores estatísticos.

Documentação oficial: Apply conditional formatting


Tooltip Pages (Dicas de Ferramenta como Página)

O que é: Uma página inteira do relatório que aparece como tooltip ao passar o mouse sobre um ponto de dados.

Por que é um dos recursos mais subutilizados do Power BI: Permite exibir um mini-dashboard com múltiplos visuais de contexto sem ocupar espaço na página principal — preservando o dashboard limpo enquanto oferece profundidade ao usuário que deseja explorar.

Como configurar:

  1. Crie nova página → Configurações de Página → Tipo de Página → Dica de Ferramenta
  2. Defina o tamanho como 320 × 240 px
  3. Adicione os visuais de contexto (histórico, comparação, KPIs relacionados)
  4. No visual principal: Formato → Dica de Ferramenta → Tipo → Página de Relatório

Documentação oficial: Create tooltips based on report pages


Visual Calculations (Cálculos Visuais)

O que é: Cálculos DAX criados diretamente no visual, que operam no contexto de linhas e colunas do visual sem necessidade de compreender filter context do modelo.

Para que serve:

  • Totais acumulados (running total)
  • Médias móveis
  • Percentual do total
  • Rankings dentro do visual
// Exemplo de cálculo visual — Total Acumulado
Total Acumulado = RUNNINGSUM([Receita Total])

// Percentual do Total
% do Total = DIVIDE([Receita Total], COLLAPSE([Receita Total], ROWS))

Documentação oficial: Visual calculations overview


Small Multiples (Pequenos Múltiplos)

O que é: A divisão de um único visual em uma grade de versões menores, cada uma mostrando um subconjunto dos dados baseado em um campo escolhido.

Quando usar:

  • Comparar o mesmo padrão entre muitas categorias (ex: tendência de vendas por região)
  • Quando colocar todas as séries num único gráfico cria um espaguete ilegível
  • Quando a questão é "esse padrão é consistente em todas as categorias?"

Princípio de design: Os pequenos múltiplos são superiores às múltiplas séries num único gráfico quando o objetivo é comparar padrões — não valores absolutos. O olho humano compara formas entre painéis com muito mais facilidade do que compara 8 linhas coloridas no mesmo espaço.

Cálculos visuais em pequenos múltiplos (GA set/2026): o campo do poço Pequenos múltiplos vira o eixo ROWPAGES. Use-o para calcular entre os painéis — ex.: RUNNINGSUM([Receita Total], ROWPAGES) — ou combine com ROWS e COLUMNS para controlar a ordem.

Documentação oficial: Create small multiples in Power BI


Painel de Análise (Analytics Pane)

O que é: Um conjunto de elementos analíticos que podem ser adicionados a visuais compatíveis para contextualizar os dados.

Elementos disponíveis:

  • Linhas de referência constantes (limites, benchmarks)
  • Linha de média, mediana, mínimo, máximo, percentil
  • Previsão com intervalo de confiança
  • Detecção de anomalias
  • Barras de erro

Regra de design: Linhas de referência transformam gráficos em ferramentas de diagnóstico. Uma linha de meta num gráfico de colunas permite ao usuário ver imediatamente quem está acima e quem está abaixo — sem precisar comparar mentalmente com um número na legenda.

Documentação oficial: Use the Analytics pane in Power BI


TABELA DE REFERÊNCIA RÁPIDA

VisualUse quando...Evite quando...Substituto
Barras/ColunasComparar categorias discretasHá mais de 12 categoriasTabela ordenada
LinhaTendência temporal contínuaOs dados são categóricos sem relação temporalBarras com ordenação
ÁreaMagnitude da mudança importaHá mais de 3 sériesLinha simples
ComboDuas métricas com escalas diferentesNão há relação semântica entre as métricasDois visuais separados
RibbonMudança de ranking é o insightValores absolutos são mais importantes que posiçãoBarras empilhadas
CascataDecomposição de variação ou saldoMais de 12 etapasBarras com cores
Pizza/RoscaAté 4 categorias com proporção dominanteMais de 4 categoriasBarras horizontais
TreemapHierarquia com proporção relativaValores próximos entre siBarras
FunilProcesso sequencial com conversãoDados sem relação de sequênciaBarras
DispersãoCorrelação entre duas variáveisDados categóricosBarras ou dot plot
TabelaValores precisos, múltiplas unidadesTendência ou proporção é o insightLinha ou barras
MatrizAnálise multidimensional com hierarquiaUma única dimensão de análiseTabela
CartãoUm KPI de alta prioridadeHá contexto temporal ou meta a mostrarKPI visual
KPIValor + Meta + TendênciaNão há meta definidaCartão
GaugeMonitoramento operacional, audiência leigaEspaço limitado, múltiplos KPIsKPI visual
DecomposiçãoDiagnóstico de causa raizAnálise exploratória simplesFiltros + barras
Key InfluencersQuais fatores explicam um resultadoDados insuficientes ou pouca variaçãoScatter + segmentação
Narrativa InteligenteResumo executivo automáticoPrecisão textual é críticaCaixa de texto + DAX

VISUAIS OBSOLETOS E DEPRECIADOS

Q&A Visual

Status: Depreciado — previsto para remoção em dezembro de 2026.

O visual Q&A permite que usuários façam perguntas em linguagem natural. Dado o anúncio de depreciação, não implemente o visual Q&A em novos relatórios. Use Copilot no Power BI como substituto para interações em linguagem natural.


TEMAS E CONSISTÊNCIA VISUAL

A melhor forma de garantir consistência em todos os visuais de um relatório é através de temas de relatório.

O que um tema controla: Paleta de cores, fontes, tamanhos, fundos de visual, bordas e muito mais — aplicado automaticamente a todos os visuais do relatório.

Como criar e aplicar:

  1. Defina um tema via Design → Personalizar tema (desde set/2026 os comandos de tema ficam na faixa Design; em versões anteriores, Exibir → Temas → Personalizar Tema Atual)
  2. Exporte com Design → Baixar tema como arquivo .json para reutilização e compartilhamento entre relatórios; para aplicar um .json, use Design → Importar tema
  3. O tema é a base; formatação individual no visual sobrescreve o tema quando necessário

Estrutura básica de um tema JSON:

{
  "name": "Tema Corporativo",
  "dataColors": [
    "#2B579A",
    "#F4A321",
    "#27AE60",
    "#C0392B",
    "#6B7280"
  ],
  "background": "#F8F9FA",
  "foreground": "#2B579A",
  "tableAccent": "#2B579A",
  "visualStyles": {
    "*": {
      "*": {
        "fontFamily": [{ "value": "Segoe UI" }],
        "fontSize": [{ "value": 11 }]
      }
    }
  }
}

Documentação oficial: Use report themes in Power BI Desktop

Storytelling com Dados aplicado a Power BI

-- name: storytelling-com-dados description: >- Aplica os frameworks do livro "Storytelling com Dados" (Cole Nussbaumer Knaflic) à construção de relatórios Power BI: leitura de contexto/audiência, escolha do visual certo, remoção de saturação visual, uso de atributos pré-atentivos para guiar o olhar, pensamento de designer (affordances, acessibilidade, estética) e construção de narrativa (Big Idea, arco narrativo, lógica horizontal/vertical). Use quando o usuário pede: (1) crítica ou revisão de um visual/página já pronta, (2) ajuda para "contar uma história" com os dados, (3) dúvida sobre qual gráfico usar, (4) reduzir poluição visual / simplificar um dashboard, (5) definir a "mensagem principal" de uma página, (6) preparar apresentação executiva de resultados de BI. Triggers: "storytelling com dados", "poluição visual", "qual gráfico uso", "mensagem principal", "Big Idea", "atenção do público", "saturação", "gráfico de espaguete", "dado x tinta", "história com dados", "apresentar para diretoria". metadata: version: 1.0.0 author: síntese Claude para o projeto de Paulo André Jesus — OfficeTuning source: >- Síntese própria dos conceitos e frameworks do livro "Storytelling com Dados: Um Guia sobre Visualização de Dados para Profissionais de Negócios", de Cole Nussbaumer Knaflic (Wiley, 2015 / edição brasileira Alta Books, 2019). Este documento NÃO reproduz texto do livro — é um resumo interpretativo, reorganizado e adaptado para o contexto de Power BI/DAX. Para o conteúdo integral, consulte a obra original.

<!-- ═══════════════ CABEÇALHO DE SKILL — LEIA ANTES DO CONTEÚDO ═══════════════ -->

Tese

Um gráfico correto não é o mesmo que um gráfico eficaz. Eficácia é medida pela velocidade e clareza com que a audiência entende a mensagem e sabe o que fazer com ela — não pela quantidade de dados exibidos nem pela beleza do visual.

Fluxo do livro, adaptado a um checklist de construção de página no Power BI: Entender contexto (quem/o quê/como) → Escolher o visual certo → Eliminar saturação → Focar a atenção com atributos pré-atentivos → Pensar como designer (affordances, acessibilidade) → Amarrar tudo em uma narrativa com Big Idea e arco → Testar com "então o quê?".

Princípios de partida

Regras que valem sempre

  • Antes de sugerir qualquer visual, perguntar (ou inferir do briefing): quem é a audiência, o que ela precisa saber/fazer, e como os dados serão consumidos (reunião ao vivo vs. relatório de leitura solitária).
  • Toda página/visual crítico deve ter uma Big Idea testável: só ideia (o quê), articula um ponto de vista (por quê importa) e revela o que está em jogo (e daí?). Se não cabe em uma frase, a página tem tema demais.
  • Ao revisar um visual, primeiro cortar saturação (regra de Antoine de Saint-Exupéry aplicada a dashboards: perfeição é quando não há mais nada a tirar) antes de discutir cor ou estilo.
  • Usar atributos pré-atentivos (cor, tamanho, posição, negrito) para destacar um ponto por vez — nunca usar 5+ cores para "chamar atenção" simultaneamente, isso anula o efeito.
  • Preferir tabela/texto simples a gráfico quando o dado é pontual (1-2 números) ou precisa de leitura exata; preferir gráfico quando o padrão ou a comparação é o que importa.
  • Verificar acessibilidade: contraste mínimo AA, não depender só de cor para codificar categoria (adicionar ícone, textura ou rótulo).

Preferências recomendadas

  • Gráfico de linhas para tendência temporal; barras horizontais para ranking/comparação categórica com nomes longos; barras verticais para comparação categórica curta ou séries temporais discretas.
  • Cinza como cor "neutra" de fundo (85–90% dos elementos) e cor de destaque reservada só para o dado que sustenta a Big Idea.
  • Título da página/visual como frase de efeito (a conclusão), não como rótulo genérico. Ex.: "Sul superou a meta; Norte caiu 12%" em vez de "Vendas por Região".
  • Alinhar a ordem de leitura ao padrão em Z/F do olho ocidental: dado mais importante no canto superior esquerdo.
  • Lógica vertical (dentro de um slide/página, cada linha sustenta a de cima) e lógica horizontal (a sequência de páginas conta uma história coesa, testável lendo só os títulos em sequência).
  • Rascunhar a narrativa no papel (storyboard) antes de abrir o Power BI.

O que evitar

  • Gráficos de pizza/rosca com mais de 2-3 fatias, gráficos 3D, medidores (gauge) como substituto de KPI simples, e eixo duplo sem necessidade clara — todos dificultam comparação precisa.
  • Legendas distantes dos dados que rotulam (preferir rótulo direto na linha/barra).
  • Excesso de bordas, grades, sombras e efeitos 3D — tudo isso é "tinta não informativa" que compete com o dado pela atenção.
  • Usar cor para decorar em vez de comunicar (cor sem significado é ruído).
  • Entregar um dashboard "de tudo" sem hierarquia — se tudo está em negrito, nada está em negrito.

Seletor de fluxo (seções deste arquivo)

Usuário quer...Ir para
Entender a audiência antes de desenharBloco 1 — Contexto
Saber que tipo de gráfico usarBloco 2 — Escolha do visual
Simplificar/limpar um visual poluídoBloco 3 — Saturação e Gestalt
Destacar o dado certoBloco 4 — Atenção e pré-atenção
Revisar affordances/usabilidade/acessibilidadeBloco 5 — Pensar como designer
Definir a mensagem principal de uma páginaBloco 6 — Big Idea
Estruturar a sequência de páginas/slidesBloco 7 — Arco narrativo
Checklist final antes de publicarBloco 8 — Tudo reunido
<!-- ═══════════════════════ FIM DO CABEÇALHO — CONTEÚDO ═══════════════════════ -->

Storytelling com Dados aplicado a Power BI

Síntese dos conceitos de Cole Nussbaumer Knaflic, reorganizada para uso direto em revisão e construção de relatórios Power BI.

Bloco 1 — Contexto: quem, o quê e como

Antes de tocar em qualquer visual, três perguntas evitam retrabalho:

  1. Quem é a audiência? Nível de decisão (estratégico/analítico/ operacional), familiaridade com os dados, e o que ela já acredita ou teme sobre o tema.
  2. O que ela precisa saber ou fazer depois de ver o relatório? Se a resposta é "só olhar os números", provavelmente falta uma decisão associada — vale revisitar a fase de Descoberta do Dashboard Canvas.
  3. Como o conteúdo será consumido? Apresentação ao vivo (o apresentador guia a atenção, o visual pode ser mais denso e progressivo) vs. relatório para leitura solitária (o visual precisa se explicar sozinho, com título-conclusão e anotações). Um exercício prático do livro: escrever a Big Idea (bloco 6) e o "3 segundos" — o que a audiência deve concluir olhando o visual por 3 segundos, sem explicação — antes de escolher o tipo de gráfico.

Bloco 2 — Escolha do visual eficaz

Critério central: escolher o gráfico que exige o menor esforço cognitivo para a comparação que importa.

Se a pergunta de negócio é...Prefira
Um único valor importa agoraCartão / texto simples, não gráfico
Comparar poucos itens entre siBarras horizontais ordenadas
Comparar itens ao longo do tempoLinha (contínuo) ou coluna (discreto)
Mostrar composição de um totalBarras empilhadas 100% (evitar pizza com >3 fatias)
Mostrar relação entre duas variáveisDispersão (scatter)
Mostrar variação/desvio de uma metaBarra divergente ou bullet chart, não gauge
Dado exato precisa ser lidoTabela/matriz, não gráfico

No Power BI, isso se traduz em: preferir Barra/Coluna Clustered, Linha, Cartão, Tabela/Matriz e Barra 100% Empilhada como base de 80% dos relatórios corporativos; usar Mapa, Dispersão e visuais customizados só quando a pergunta de negócio realmente exige.

Bloco 3 — Saturação visual (clutter) e Gestalt

Todo elemento visual tem um "custo cognitivo": o cérebro precisa decidir se ele é informação ou decoração. Elementos que não carregam significado (bordas pesadas, grades densas, sombras, gradientes, 3D) roubam atenção do dado.

Processo prático de "faxina":

  1. Remover bordas de gráfico e do canvas quando o espaço em branco já separa os blocos.
  2. Reduzir linhas de grade a poucas linhas de referência (ou remover e usar rótulo de dado direto).
  3. Trocar legenda separada por rótulo direto na série (elimina o "vai-e-volta" do olho entre gráfico e legenda).
  4. Usar no máximo 2 pesos de fonte e 1-2 cores de destaque por página.
  5. Alinhar elementos a uma grade invisível (Gestalt de proximidade e alinhamento reduz a sensação de bagunça mesmo sem remover conteúdo). Princípios de Gestalt mais úteis para dashboards:
  • Proximidade — itens próximos são lidos como relacionados; use espaçamento para agrupar KPIs do mesmo tema.
  • Similaridade — mesma cor/forma = mesma categoria; não varie estilo sem motivo.
  • Fechamento — o olho completa formas incompletas; não é preciso desenhar toda borda de um cartão para ele parecer um cartão.
  • Conexão (linhas/setas) é mais forte que proximidade ou cor para indicar relação — use com moderação.

Bloco 4 — Atenção e atributos pré-atentivos

O cérebro processa certos atributos visuais antes da atenção consciente (pré-atenção): cor, tamanho, posição, orientação, forma e negrito. Usar um desses atributos para destacar o dado que sustenta a Big Idea é o mecanismo central de "guiar o olho" num dashboard.

Regra prática: se tudo está destacado, nada está destacado. Antes de aplicar formatação condicional ou cor de destaque no Power BI, pergunte "qual é o único ponto que a audiência deve ver primeiro nesta página?" e reserve o atributo pré-atentivo só para ele.

Aplicação em Power BI:

  • Formatação condicional de medida (DAX) para pintar só a barra/célula que quebra a regra de negócio, mantendo o resto em cinza neutro.
  • Regra de "explicar com texto, não com legenda" — usar caixa de texto ou anotação (Tooltip Estendido / Botão de Insight) apontando diretamente para o pico ou desvio relevante.
  • Ordenar categorias por valor (não alfabeticamente) quando ranking é a mensagem — a posição já comunica. Ver também o Guia Definitivo de Visuais, nesta mesma página, para a implementação técnica de formatação condicional, tooltips e temas no Power BI.

Bloco 5 — Pensar como designer

Três lentes de design aplicáveis a um relatório:

  1. Affordance — a interface deve sugerir sozinha como usar (botões parecem clicáveis, filtros parecem filtráveis). No Power BI: usar estados visuais distintos para botões/bookmarks (hover, seleção) e evitar visuais interativos que pareçam estáticos.
  2. Acessibilidade — nunca codificar informação só por cor (parte da audiência tem daltonismo); usar padrão de contraste WCAG AA; garantir que ordem de tabulação e texto alternativo (alt text) façam sentido para leitor de tela.
  3. Estética a serviço da função — um relatório "bonito" que não comunica falhou; a estética deve reduzir esforço de leitura, não decorar. Consistência de fonte, cor e alinhamento entre páginas reduz carga cognitiva de reaprendizado a cada tela.

Bloco 6 — Big Idea (mensagem principal)

Uma Big Idea completa tem três componentes:

  • O quê — só uma ideia central, não uma lista de tópicos.
  • Por quê importa (ponto de vista) — não é neutro; assume uma posição defensável com os dados.
  • O que está em jogo (e daí?) — a consequência de agir ou não agir. Teste rápido: se a mensagem principal de uma página não cabe em uma frase com sujeito + verbo + consequência, a página provavelmente tenta responder duas perguntas de negócio ao mesmo tempo e deveria ser dividida — o mesmo critério do bloco Problema do Dashboard Canvas.

Bloco 7 — Arco narrativo (lógica horizontal e vertical)

  • Lógica vertical: dentro de uma página, cada elemento visual deve sustentar diretamente a Big Idea do topo. Se um cartão ou tabela não reforça a mensagem principal, ele é ruído e deve sair da página (ou ir para um drill-through).
  • Lógica horizontal: a sequência de páginas de um relatório, lida apenas pelos títulos-conclusão em ordem, já deve contar a história completa (situação → complicação → resolução), sem precisar do detalhe interno de cada página. Estrutura narrativa clássica aplicável a uma sequência de páginas Power BI:
  1. Situação — contexto e "normal esperado" (página de visão geral).
  2. Complicação — o desvio, risco ou oportunidade que motiva o relatório (página de tendência/alerta).
  3. Resolução — a implicação e, quando fizer sentido, a recomendação (página de detalhe/causa raiz, ou "próximos passos").

Bloco 8 — Tudo reunido: checklist antes de publicar

  • A Big Idea da página cabe em uma frase com sujeito + verbo + consequência?
  • O visual escolhido é o de menor esforço cognitivo para a comparação que importa (Bloco 2)?
  • Removi bordas, grades e legendas desnecessárias (Bloco 3)?
  • Existe um único ponto de destaque pré-atentivo por página, não cinco (Bloco 4)?
  • Cor comunica categoria/estado de negócio, nunca decora?
  • Título é uma conclusão, não um rótulo genérico?
  • A sequência de páginas, lida só pelos títulos, conta uma história coesa (Bloco 7)?
  • Passei no teste de acessibilidade (contraste + não depender só de cor) (Bloco 5)?

Notas de uso

  • Este documento é uma síntese interpretativa dos frameworks do livro, reorganizada para aplicação direta em Power BI — não substitui a leitura da obra original para aprofundamento, exemplos completos e estudos de caso (capítulo 9 do livro trata estudos de caso reais que valem a leitura integral).
  • Ao citar a fonte para o usuário, referenciar como: KNAFLIC, C. N. Storytelling com Dados. Rio de Janeiro: Alta Books, 2019 (tradução de Storytelling with Data, Wiley, 2015).
  • Cruzar sempre com o Guia Definitivo de Visuais (implementação técnica dos visuais) e com o Dashboard Canvas (processo de planejamento) — este arquivo cobre o "porquê" da escolha visual; os outros dois cobrem o "como planejar" e "como configurar".

Padrão Corporativo de Nomenclatura

Filosofia: Técnico para quem desenvolve │ Intuitivo para quem consome │ Previsível para quem mantém.

Regra: o nome deve revelar o papel do objeto antes de ser aberto.


1. Prefixos obrigatórios (camada física)

PrefixoObjetoExemplos
TabTabelaTabDimCliente, TabFatVenda
VwViewVwFatVenda
PrProcedurePrAtualizarEstoque
FnFunctionFnCalcularMargem
CnsConsulta ETLCnsClienteTratado

2. Modelagem dimensional

PapelPadrãoExemplos
DimensãoTabDimObjetoTabDimCliente, TabDimCalendario
FatoTabFatEventoTabFatVenda, TabFatPedido
Ponte N:NTabPonABTabPonClienteProduto
MonolíticaTabFltObjetoTabFltVendasCamisetas
InterfaceTabIntObjetoTabIntMedida, TabIntAtualizacao

Tabela monolítica (TabFlt) é uma tabela "achatada" que concentra fato e dimensões numa única estrutura (comum em datasets pequenos ou exports de ferramentas de terceiros que não separam fato/dimensão). Use quando não compensa normalizar em modelo estrela — mas prefira TabDim/TabFat sempre que o volume ou a reutilização em múltiplas telas justificar a separação.

Tabela de interface (TabInt) é uma tabela técnica que não é fato nem dimensão: a tabela que só guarda medidas, tabelas de parâmetro e a tabela com a data da última atualização. Fica fora do esquema estrela e, na camada semântica, ganha nome de negócio (Medidas, Atualização).

❌ Nomes genéricos proibidos: TabFatDados, TabFatBase.

3. Convenções gerais

  • Singular obrigatório: TabDimCliente ✅ │ TabDimClientes ❌
  • PascalCase obrigatório: TabFatVendaMensal ✅ │ tab_fat_venda ❌
  • Sem caracteres especiais, sem espaços no início/fim, sem emojis.

4. Campos

CamadaPadrãoExemplos
Técnico (SQL físico)PascalCase por extensoCodigoCliente, ValorVenda
Semântico (Power BI)Nome amigável com espaços[Código do Cliente], [Valor da Venda]

❌ Abreviações proibidas: CodCli, DtFat, VlrTot.

Aliases em SQL: sempre AS [Nome Amigável] — reduz transformações no Power Query e antecipa a camada semântica.

5. Camadas

SQL Físico → Views Semânticas → Power Query → Modelo Semântico → Relatórios

6. Fronteira física × semântica (REGRA DE OURO expandida)

SQL é estrutura. Power BI é comunicação. O modelo serve aos dois mundos.

Aplicação prática da fronteira:

ObjetoCamada física (SQL/ETL/PQ)Camada semântica (visível ao usuário)
Tabela dimensãoTabDimClienteCliente (singular)
Tabela fatoTabFatVendaVendas (plural aceito para fatos)
ColunaValorVendaValor da Venda
Tabela de interfaceTabIntMedidaMedidas
Medida—Total de Vendas, % vs Meta

Motivação: além da leitura humana, o Copilot e agentes de IA leem nomes literalmente — TabFatVenda degrada respostas em linguagem natural, enquanto Vendas habilita a IA conversacional. Prefixos técnicos jamais chegam a objetos visíveis do modelo; colunas técnicas remanescentes (chaves, FKs) devem estar ocultas.

7. Medidas e variáveis DAX

  • Medidas: nome amigável com espaços — Total de Vendas, Ticket Médio.
  • Variações: [Base] [Período] ([Unidade]) — ex.: Total de Vendas (ytd), Margem Bruta (%).
  • Contagens: prefixo # — # Pedidos, # Clientes.
  • Variáveis DAX: camelCase com prefixo v — vTotalVendas, vMetaMes.

8. Convenção de comparativo temporal (AV/AA/Δ/Δ%/Δi)

Padrão oficial para qualquer medida que compare o período corrente com o mesmo período do ano anterior — usar os símbolos literais abaixo, não escrever por extenso, em nomes de medida e em documentação técnica.

SiglaSignificadoExemplo de medida
AVAno Vigente — período correnteTotal de Vendas AV
AAAno Anterior — mesmo período, ano anterior (via SAMEPERIODLASTYEAR)Total de Vendas AA
ΔVariação absoluta (AV − AA)Δ Total de Vendas
Δ%Variação percentual (DIVIDE(Δ, AA))Δ% Total de Vendas
ΔiIndicador tipo farol sobre a variação (✔️ positivo │ ⚠️ estável/atenção │ ❗ negativo)Δi Total de Vendas

Exemplo de implementação:

Total de Vendas AV = SUM ( TabFatVenda[ValorVenda] )

Total de Vendas AA =
CALCULATE ( [Total de Vendas AV], SAMEPERIODLASTYEAR ( TabDimCalendario[Data] ) )

Δ Total de Vendas = [Total de Vendas AV] - [Total de Vendas AA]

Δ% Total de Vendas = DIVIDE ( [Δ Total de Vendas], [Total de Vendas AA] )

Δi Total de Vendas =
VAR vVariacao = [Δ% Total de Vendas]
RETURN
    SWITCH (
        TRUE (),
        vVariacao > 0, "✔️",
        vVariacao = 0, "⚠️",
        "❗"
    )

Essa convenção é a base do padrão de "comparativo temporal" usado em todo o ecossistema (Dashboard Canvas, Background Builder, dicionário de medidas) — qualquer medida de variação ano contra ano deve seguir esses sufixos, sem variações de grafia.

9. Checklist rápido ao criar/renomear

  1. O prefixo revela o papel? (camada física)
  2. Está no singular e em PascalCase? (camada física)
  3. O objeto visível no modelo usa nome de negócio, sem prefixo técnico?
  4. Campos semânticos têm nome amigável via alias ou renomeação?
  5. Nenhuma abreviação críptica sobreviveu?
  6. Medidas de comparação temporal seguem AV/AA/Δ/Δ%/Δi?

Pontuação e veredito

Como o Measure Killer pontua

O Best Practices Analyser do Measure Killer soma uma pontuação por regra violada. Quanto menor, melhor.

  • Modelo: pontuação da regra = severidade × número de violações × log10(número de artefatos do modelo). O logaritmo evita que modelos grandes sejam punidos só pelo tamanho.
  • Relatório: pontuação da regra = severidade × número de violações. Nas regras com limite, cada violação vale severidade × (1 + valor encontrado − limite).
  • Severidade: 1 (baixa), 2 (média), 3 (alta).
Vereditos do modelo
PontuaçãoVeredito
abaixo de 75Power BI Pro
75 a 300Good
301 a 600Ok
601 a 900Poor
901 a 1.200Awful
acima de 1.200Power BI Criminal
Vereditos do relatório
PontuaçãoVeredito
abaixo de 50Power BI Pro
50 a 100Good
100 a 150Ok
150 a 250Poor
250 a 300Awful
300 ou maisPower BI Criminal

Exemplo hipotético

Num modelo com 300 artefatos (log10 ≈ 2,48), 10 violações de uma regra de severidade 2 somam 2 × 10 × 2,48 ≈ 50 pontos. Num relatório, uma página com 25 visuais, contra o limite de 20 da regra de severidade 3, soma 3 × (1 + 25 − 20) = 18 pontos.

As regras da categoria Storytelling e Comunicação não entram nessa pontuação.

Créditos

As práticas de modelo (Performance, Expressões DAX, Prevenção de Erros, Manutenção, Nomenclatura e Formatação) seguem o repositório Best Practice Rules da Microsoft (microsoft/Analysis-Services, licença MIT). As práticas de Relatórios e Visuais seguem as regras base do PBI-Inspector, de Nat Van Gulck (licença MIT), com três extensões do Best Practices Analyser do Measure Killer: gráficos de pizza e rosca, medidas implícitas e indicadores. A categoria Storytelling e Comunicação é um checklist de revisão manual baseado em Storytelling with Data, de Cole Nussbaumer Knaflic (Wiley, 2015).

O PBI-Inspector é um projeto da comunidade, sem suporte da Microsoft. O suporte ao formato PBIR está no repositório PBI-Inspector V2.