Partilhar via


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.

Screenshot of Power B I Desktop showing table visual of data with one row per customer. Sales values are BLANK and Profit Margin values are zero per cent.

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.

Screenshot of Power BI Desktop showing table visual of data that has filtered content.

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.