Evitar converter espaços em branco em valores
Como um modelador de dados, ao escrever expressões de medida, você pode se deparar com casos em que um valor significativo não pode ser retornado. Nesses casos, você pode ficar tentado a retornar um valor, como zero. Sugere-se que você determine cuidadosamente se esse design é eficiente e prático.
Considere a seguinte definição de medida que converte explicitamente os resultados BLANK em zero.
Sales (No Blank) =
IF(
ISBLANK([Sales]),
0,
[Sales]
)
Considere outra definição de medida que também converta os resultados BLANK em zero.
Profit Margin =
DIVIDE([Profit], [Sales], 0)
A função DIVIDIR divide a medida Lucro pela medida Vendas. Se o resultado for zero ou BLANK, o terceiro argumento — o resultado alternativo (que é opcional) — será retornado. Neste exemplo, como zero é passado como resultado alternativo, a medida tem a garantia de sempre retornar um valor.
Esses projetos de medidas são ineficientes e levam a projetos de relatórios ruins.
Quando eles são adicionados a um visual de relatório, o Power BI tenta recuperar todos os agrupamentos dentro do contexto de filtro. A avaliação e a recuperação de grandes resultados de consulta geralmente levam a uma renderização lenta do relatório. Cada medida de exemplo efetivamente transforma um cálculo esparso em um cálculo denso, forçando o Power BI a usar mais memória do que o necessário.
Além disso, muitos agrupamentos geralmente sobrecarregam os usuários do relatório.
Vamos ver o que acontece quando a medida de Margem de Lucro é adicionada a um visual de tabela, agrupando por cliente.
O visual da tabela exibe um número esmagador de linhas. (Na verdade, há 18.484 clientes no modelo e, portanto, a tabela tenta exibir todos eles.) Observe que os clientes em vista não alcançaram nenhuma venda. No entanto, como a medida de Margem de Lucro sempre retorna um valor, eles são exibidos.
Nota
Quando há muitos pontos de dados para exibir em um visual, o Power BI pode usar estratégias de redução de dados para remover ou resumir resultados de consulta grandes. Para obter mais informações, consulte Limites de pontos de dados e estratégias por tipo visual.
Vamos ver o que acontece quando a definição da medida de Margem de Lucro é melhorada. Agora, ele retorna um valor somente quando a medida Sales não é BLANK (ou zero).
Profit Margin =
DIVIDE([Profit], [Sales])
O visual da tabela agora exibe apenas os clientes que fizeram vendas dentro do contexto de filtro atual. A medida aprimorada resulta em uma experiência mais eficiente e prática para os usuários do relatório.
Gorjeta
Quando necessário, você pode configurar um visual para exibir todos os agrupamentos (que retornam valores ou BLANK) dentro do contexto de filtro habilitando a opção Mostrar itens sem dados .
Recomendação
É recomendável que suas medidas retornem BLANK quando um valor significativo não puder ser retornado.
Essa abordagem de design é eficiente, permitindo que o Power BI renderize relatórios mais rapidamente. Além disso, retornar BLANK é melhor porque os visuais de relatório — por padrão — eliminam agrupamentos quando os resumos são BLANK.
Conteúdos relacionados
- Caminho de aprendizagem: Usar DAX no Power BI Desktop
- Perguntas? Tente perguntar à Comunidade do Power BI
- Sugestões? Contribua com ideias para melhorar o Power BI