Se você trabalha como um modelador de dados e precisa escrever expressões de medida, pode se deparar com situações em que não é possível obter um valor significativo. Nessas circunstâncias, pode haver uma tentação de retornar um valor como zero. No entanto, é recomendado que você avalie com cuidado se essa abordagem é eficaz e viável em termos práticos.
Exemplos de medidas que convertem explicitamente os resultados BLANK em Zero:
Exemplo 1:
Exemplo 2:
A função DIVIDE divide a medida de Lucro pela medida de Vendas. Caso o resultado seja zero ou BLANK, o terceiro argumento — o resultado alternativo (que é opcional) — será retornado. Neste exemplo, como zero é passado como resultado alternativo, a medida sempre retornará um valor.
Esses designs de medida são ineficientes e levam a designs de relatório insatisfatórios.
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 resultados de consulta grandes geralmente resultam em lentidão na renderização do relatório. Cada medida de exemplo transforma efetivamente um cálculo esparso em um denso, forçando o Power BI a usar mais memória do que o necessário.
Além disso, ter muitos agrupamentos muitas vezes sobrecarrega os usuários do relatório.
Vejamos 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 enorme de linhas. (Na verdade, há 18.484 clientes no modelo e, portanto, a tabela tenta exibir todos eles.) Observe que os clientes do modo de exibição não tiveram nenhuma venda. Ainda assim, como a medida Margem de lucro sempre retorna um valor, eles são exibidos.
Observação: Quando há muitos pontos de dados a serem exibidos em um visual, o Power BI pode usar estratégias de redução de dados para remover ou resumir resultados de consultas grandes.
Vejamos o que acontece quando a definição da medida Margem de lucro é aprimorada. Agora, ela retorna um valor somente quando a medida Vendas não é BLANK (nem zero).
O visual de tabela agora exibe somente os clientes que fizeram vendas no contexto de filtro atual. A medida aprimorada resulta em uma experiência mais eficiente e prática para os usuários de seu relatório.
Dica: 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”.