Ir para conteúdo
  • 0

Contexto altera resultado percentual


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

Pergunta

  • Alunos

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
  • Alunos
  • 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í.

 

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

  • 0
  • Alunos
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
  • Alunos
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

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...