1
resposta

Calcular percentual de um indicador sob outro (travando filtro específico de um deles)

Tenho um conjunto de dados com a seguinte distribuição de colunas: Pedido / Ano / Status / Motivo de Cancelamento / Qtde de Pedidos. O status do pedido pode ser "Entregue" ou "Cancelado".

Preciso calcular o percentual de cancelados sob o total de pedidos. Consegui fazer uma fórmula criando as medidas 'QTDE Cancelados' e 'QTDE Total'.

Até aí, funciona, porém quando coloco uma segmentação externa para filtrar os motivos de cancelamento o percentual sempre dá 100% (visto que o Power BI acaba aplicando o filtro nas duas medidas e pega a mesma quantidade de pedidos em ambas).

Gostaria de "congelar" apenas a segunda medida (QTDE Total) para que APENAS ESSE filtro externo de motivo não seja aplicado, assim o percentual de motivos de cancelamento fique correto. Não posso desabilitar todos os filtros pois há informações de 'Ano' que preciso deixar habilitado. Como posso resolver esse problema?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Boa noite!

Caio, uma das medidas tem que estar com a sintaxe "All" a mesma remove todos os filtros externos, mantendo o % de Cancelamentos daquele motivo, sobre o total de motivos ignorando os filtros externos.

Caso queira que, quando filtrar um estado por exemplo, e seu % De Cancelamentos, mude, de % de Cancelamentos do Brasil para, analisar quais motivos impactaram no estado de MG por exemplo, usaria a ALLSELECTED, pois a mesma ignora o contexto de filtro quando nenhum filtro externo esta aplicado sobre o visual, e caso vc filtre a UF de MG, por exemplo, ela te mostra o % do total somente de MG, de acordo com os motivos.

Aproveitando o tópico passado:

Qtd_Cancelamentos = distinctcount(Tabela_Cancelamentos[numero_pedido]) ----Aqui você conta os números de pedidos, e remove os duplicados. Total_Cancelamentos = Calculate(distinctcount(Tabela_Cancelamentos[numero_pedido]), ALLSELECTED(Tabela_Cancelamentos)) -- -- Aqui você conta os números de pedidos distintos, e remove os filtros . Agora use a Função "Divide" para fazer a divisão, e tratar valores do tipo 0:

% Cancelamentos = Divide(Qtd_Cancelamentos , Total_Cancelamentos)

OBS: DISTINCTCOUNT = Conta os valores distintos de uma coluna, ideal em casos que o numero de pedido se repete em uma base. ALLSELECTED = Retorna todos os itens de uma tabela, mas respeita os filtros externos.

Veja se ajuda.

Abs