Ir para conteúdo
  • 0

Contexto altera resultado percentual


epsouza90
Ir para solução Solucionado por Rodrigo R1 ,

Pergunta

  • Membros

Bom dia!
Pessoal, ando bastante enferrujado com DAX por não utilizar tanto o PBI, visto as atribuições novas do meu cargo. Porém, agora preciso corrigir algo que deve ser simples mas quebrei a cabeça e por isso estou pedindo socorro hehe

 

Quando eu filtro pela interação o contexto do Nome da Unidade no gráfico, o percentual está OK.

 

image.png.643a7118f4e66d283135b249b2fadfa9.png

 

 

Porém, quando filtro especificamente pela quantidade da barrinha, o calculo considera a quantidade que eu filtrei na barrinha para o calculo de percentual.

 

image.png.662b00f46b3684e16fe374d425626e61.png

image.png.63cb1774238116f8c91e45be2b32cfb9.png

 

Já testei diversas alterações, mas mantive a original para ver se tenho uma luz na comunidade.

% Status Em Andamento = 
VAR vTotal =
CALCULATE(
    [QTD. AÇÕES],
    ALLSELECTED(fSSF)
)
VAR vConc =
CALCULATE(
    [QTD. AÇÕES],
    fSSF[Status] = "Em andamento"
)
RETURN
DIVIDE(vConc, vTotal)

O relacionamento é bastante simples. Se trata apenas de um consolidado de várias planilhas que o meu time utiuliza.

 

image.png.c4569bd24fc3ca0266c18c60a267ae3c.png

 

 

Confesso que quebrei a cabeça, mas ando muito enferrujado =/

 

 

Já agradeço a todos!

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
  • Membros
  • Solução

Boa noite @epsouza90, tudo bem amigo?

Na primeira variável da sua medida troque o ALLSELECTED(fSSF) por um ALL da coluna Status, assim:

VAR vTotal =
CALCULATE(
    [QTD. AÇÕES],
    ALL(fSSF[Status])
)

As funções ALL e ALLSELECT são bastante seletivas. 

Ao usar a ALL na coluna você irá desconsiderar os filtros realizados apenas naquela coluna - que no seu caso é a Status.

Ao usar a ALL numa tabela - aí vai desconsiderar todo filtro aplicado em qualquer coluna dessa tabela.

Já a ALLSELECTED ela desconsidera os filtros na medida, mas respeita os filtros externos.

No seu caso, quando você usou a ALLSELECTED na tabela toda, a sua medida irá funcionar desde que não haja o filtro externo na coluna Status - pois ela faz parte do contexto da sua medida %.

Quando você selecionou o Status "Em Andamento" (amarelo) no seu visual, você alterou sua medida com base nesse filtro - pois a ALLSELECTED respeita o filtro externo.

Isso fez com que o resultado da sua medida fosse 100%, ou seja, 31 dividido por 31 = 1.

Ao trocar por ALL da coluna Status, isso não irá acontecer - pois a ALL irá desconsiderar o filtro externo do Status "Em andamento" (amarelo) que você selecionou.

Assim, irá manter os demais filtros e o resultado será 31 dividido por 36 = 0,86111 ou 86,1%.

Enfim....rsrsrs....acredito que seja essa a solução para o seu caso.

Espero que tenha ajudado, amigo.

Sucesso aí.

 

  • Gostei 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
8 minutos atrás, epsouza90 disse:

Bom dia!
Pessoal, ando bastante enferrujado com DAX por não utilizar tanto o PBI, visto as atribuições novas do meu cargo. Porém, agora preciso corrigir algo que deve ser simples mas quebrei a cabeça e por isso estou pedindo socorro hehe

 

Quando eu filtro pela interação o contexto do Nome da Unidade no gráfico, o percentual está OK.

 

image.png.643a7118f4e66d283135b249b2fadfa9.png

 

 

Porém, quando filtro especificamente pela quantidade da barrinha, o calculo considera a quantidade que eu filtrei na barrinha para o calculo de percentual.

 

image.png.662b00f46b3684e16fe374d425626e61.png

image.png.63cb1774238116f8c91e45be2b32cfb9.png

 

Já testei diversas alterações, mas mantive a original para ver se tenho uma luz na comunidade.

% Status Em Andamento = 
VAR vTotal =
CALCULATE(
    [QTD. AÇÕES],
    ALLSELECTED(fSSF)
)
VAR vConc =
CALCULATE(
    [QTD. AÇÕES],
    fSSF[Status] = "Em andamento"
)
RETURN
DIVIDE(vConc, vTotal)

O relacionamento é bastante simples. Se trata apenas de um consolidado de várias planilhas que o meu time utiuliza.

 

image.png.c4569bd24fc3ca0266c18c60a267ae3c.png

 

 

Confesso que quebrei a cabeça, mas ando muito enferrujado =/

 

 

Já agradeço a todos!

Bom Dia ! 

Se vc quiser manter o % igual para os dois casos  filtrando apenas por unidade tente colocar ao invés do allselected(Fssf) , coloca um allexcept(dunidades[nome da unidade]) foi o que pensei aqui .

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
8 horas atrás, Rodrigo R1 disse:

Boa noite @epsouza90, tudo bem amigo?

Na primeira variável da sua medida troque o ALLSELECTED(fSSF) por um ALL da coluna Status, assim:

VAR vTotal =
CALCULATE(
    [QTD. AÇÕES],
    ALL(fSSF[Status])
)

As funções ALL e ALLSELECT são bastante seletivas. 

Ao usar a ALL na coluna você irá desconsiderar os filtros realizados apenas naquela coluna - que no seu caso é a Status.

Ao usar a ALL numa tabela - aí vai desconsiderar todo filtro aplicado em qualquer coluna dessa tabela.

Já a ALLSELECTED ela desconsidera os filtros na medida, mas respeita os filtros externos.

No seu caso, quando você usou a ALLSELECTED na tabela toda, a sua medida irá funcionar desde que não haja o filtro externo na coluna Status - pois ela faz parte do contexto da sua medida %.

Quando você selecionou o Status "Em Andamento" (amarelo) no seu visual, você alterou sua medida com base nesse filtro - pois a ALLSELECTED respeita o filtro externo.

Isso fez com que o resultado da sua medida fosse 100%, ou seja, 31 dividido por 31 = 1.

Ao trocar por ALL da coluna Status, isso não irá acontecer - pois a ALL irá desconsiderar o filtro externo do Status "Em andamento" (amarelo) que você selecionou.

Assim, irá manter os demais filtros e o resultado será 31 dividido por 36 = 0,86111 ou 86,1%.

Enfim....rsrsrs....acredito que seja essa a solução para o seu caso.

Espero que tenha ajudado, amigo.

Sucesso aí.

 

Perfeito! Resolvido! Nossa, um detalhe e não me liguei. Tava faltando dar uma revisada nos contextos! Muito grato!

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...