Ir para conteúdo
  • 0

COMPARAÇÃO de Categorias de forma inteligente com DAX - ***MULTIPLA ESCOLHA


Gulhysan Saldanha
Ir para solução Solucionado por Rodrigo R1 ,

Pergunta

  • Alunos

Olá pessoal, 

   Estou com um caso onde preciso apresentar um visual onde a legenda deverá ser selecionada pela usuário. O Leonardo tem um video no youtube com um caso parecido e ele até comenta sobre a multipla escolha mas não chega a apresentar essa solução no vídeo. 
  
   Video do leo:
 

 

  No meu caso eu preciso que a segmentação de dados seja apenas uma e que permita eu fazer a seleção de dois ou mais segmentadores (fornecedores), portanto multipla escolha.

  Qual alteração eu teria que fazer na medida que o Leo apresenta no video?

 

 

 

  
 

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Boa noite @Gulhysan Saldanha. Tudo bem, amigo?

Se me permite uma sugestão...veja se seria isso:

Nenhum selecionado com apenas uma linha com o total:

image.png.3b86afa41690b29cd16e1f87ff231712.png

 

A partir de quando for selecionando, aí serão adicionadas as linhas correspondentes:

image.png.9e8aa4c2a50791948ab6d609d03fb79f.png

Obs.: Quanto à legenda eu não encontrei alguma maneira de não ocultá-la quando não existir filtro. Pois essa é uma funcionalidade nativa do PBI.

Na legenda eu usei a coluna de Cd fornecedor e não da descrição.

De toda forma, espero que tenha conseguido contribuir de alguma maneira.

Sucesso aí, amigo....

Editado por Rodrigo R1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 hora atrás, edigari disse:

@Gulhysan Saldanha, tudo bem? Não ficou muito claro, mas se for só pra trocar a legenda, cria um parâmetro pegando essa coluna e coloca na legenda do gráfico. Caso não seja isso, consegue disponibilizar um exemplo em excel ou coisa parecida?

Bom dia,

   Segue em anexo um exemplo.  Diferente da solução do Leo eu quero deixar o filtro com a opção de várias seleções, porém quando não houver nenhuma seleção eu gostaria que o gráfico apresente apenas uma linha (todos). A legenda só deverá aparecer quando eu selecionar o filtro (segmento de dados).

 

Nesse cenário não quero que apareçam todos os fornecedores. Quero apenas uma linha com o total de todos os fornecedores) e sem legenda

image.png.c27b39ee4d6eeceef3c94e16dcc470c9.png


E ainda assim quero ter a opção de marcar os fornecedores conforme exemplo:

image.png.f646cd6c141b082ba50f7858bd5dc465.png

 

Tentei replicar a solução do Leo mas não da certo porque sempre tem um segmento marcado, no meu caso quero ter a opção de não marcar nenhum, e não aparecer a legenda.

 

 

 

 

 

 

BASE.xlsx V1.pbix

 

 

Editado por Gulhysan Saldanha
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@Gulhysan Saldanha, veja se atende.

Litros comparacao = 
    VAR vFornecedor1 = 
        VALUES(Fornecedor1[nm_fornecedor])
    VAR vFornecedor2 = 
        VALUES(Fornecedor2[nm_fornecedor])
    VAR vFornecedores = 
        UNION(vFornecedor1, vFornecedor2)
RETURN
    CALCULATE(
        [LITROS],
        KEEPFILTERS(dFornecedor[nm_fornecedor] IN vFornecedores)
    )

 

20221003_V1.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
35 minutos atrás, Bruno Abdalla de Souza disse:

@Gulhysan Saldanha, veja se atende.

Litros comparacao = 
    VAR vFornecedor1 = 
        VALUES(Fornecedor1[nm_fornecedor])
    VAR vFornecedor2 = 
        VALUES(Fornecedor2[nm_fornecedor])
    VAR vFornecedores = 
        UNION(vFornecedor1, vFornecedor2)
RETURN
    CALCULATE(
        [LITROS],
        KEEPFILTERS(dFornecedor[nm_fornecedor] IN vFornecedores)
    )

 

20221003_V1.pbix 27 kB · 0 downloads

Boa tarde,

  Ainda não deu certo. Caso eu desmarque os segmentos todas as legendas voltam para o gráfico. Além disso a intenção é ter  apenas um segmentador de dados para que o usuário tenha a opção de marcar quantos ele desejar. 

   Veja como ficou após eu desmarcar todos os filtros:

image.png.c88c08cb747911bb255e5e6026a8e349.png

 

20221003_V1 (1).pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
4 minutos atrás, Bruno Abdalla de Souza disse:

Não entendi o que vocês quer então. Se o usuário marcar alguns fornecedores em apenas uma segmentação, ele vai mostrar apenas o que tiver selecionado. Se não tiver nada selecionado, você quer que apareça a soma de todas em apenas uma linha? É isso?

Exatamente.

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Em 03/10/2022 em 19:26, Rodrigo R1 disse:

Boa noite @Gulhysan Saldanha. Tudo bem, amigo?

Se me permite uma sugestão...veja se seria isso:

Nenhum selecionado com apenas uma linha com o total:

image.png.3b86afa41690b29cd16e1f87ff231712.png

 

A partir de quando for selecionando, aí serão adicionadas as linhas correspondentes:

image.png.9e8aa4c2a50791948ab6d609d03fb79f.png

Obs.: Quanto à legenda eu não encontrei alguma maneira de não ocultá-la quando não existir filtro. Pois essa é uma funcionalidade nativa do PBI.

Na legenda eu usei a coluna de Cd fornecedor e não da descrição.

De toda forma, espero que tenha conseguido contribuir de alguma maneira.

Sucesso aí, amigo....

Boa noite @Rodrigo R1,

  Muito obrigado pelo retorno. Já vai atender sim.  

  Inicialmente imaginei que tivesse algum forma de não aparecer as legendas, mas de qualquer forma já está ótima a solução.

 

Obrigado novamente.

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@Gulhysan Saldanha, criei uma tabela auxiliar com a opção Todos
 

FornecedorTeste = 
UNION(
    ALL(exemplo[cd_fornecedor], exemplo[nm_fornecedor]),
    ROW(
        "cd_fornecedor", 0,
        "nm_fornecedor", "Todos"
    )
)

Criei a  tabela dFornecedor com a seguinte expressão:

dFornecedor = 
    ALL(exemplo[cd_fornecedor], exemplo[nm_fornecedor])

 O relacionamento entre as tabelas ficou da seguinte forma:

image.png.a8d56622a54e1423fa89404fb3d4a7ce.png

 

Então criei a seguinte medida:

Litros v1 = 
    VAR vFornecedor = 
        SELECTEDVALUE(FornecedorTeste[nm_fornecedor])
RETURN
    IF(
        vFornecedor = "Todos",
        CALCULATE(
            [LITROS],
            ALL(dFornecedor)
        ),
        [LITROS]
    )

 

Veja se atende através do arquivo em anexo.

20221003_V1.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Em 03/10/2022 em 16:01, Bruno Abdalla de Souza disse:

Não entendi o que vocês quer então. Se o usuário marcar alguns fornecedores em apenas uma segmentação, ele vai mostrar apenas o que tiver selecionado. Se não tiver nada selecionado, você quer que apareça a soma de todas em apenas uma linha? É isso?

Exatamente.

 

6 horas atrás, Bruno Abdalla de Souza disse:

@Gulhysan Saldanha, criei uma tabela auxiliar com a opção Todos
 

FornecedorTeste = 
UNION(
    ALL(exemplo[cd_fornecedor], exemplo[nm_fornecedor]),
    ROW(
        "cd_fornecedor", 0,
        "nm_fornecedor", "Todos"
    )
)

Criei a  tabela dFornecedor com a seguinte expressão:

dFornecedor = 
    ALL(exemplo[cd_fornecedor], exemplo[nm_fornecedor])

 O relacionamento entre as tabelas ficou da seguinte forma:

image.png.a8d56622a54e1423fa89404fb3d4a7ce.png

 

Então criei a seguinte medida:

Litros v1 = 
    VAR vFornecedor = 
        SELECTEDVALUE(FornecedorTeste[nm_fornecedor])
RETURN
    IF(
        vFornecedor = "Todos",
        CALCULATE(
            [LITROS],
            ALL(dFornecedor)
        ),
        [LITROS]
    )

 

Veja se atende através do arquivo em anexo.

20221003_V1.pbix 32 kB · 0 downloads

Boa tarde Bruno,

   Primeiramente obrigado pelo retorno. 

   A solução do Rodrigo era o que eu estava querendo. Só ficou o detalhe das legendas mas já ficou ótimo.

   Nessa que você postou ainda teria o problema onde todas as linhas aparecem caso não seja marcado nenhum filtro.

    Exemplo:

image.png.770ac64da04534733a07639cce52f2e8.png

 

   Obrigado novamente pelo retorno.

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
15 minutos atrás, Bruno Abdalla de Souza disse:

@Gulhysan Saldanha, coloquei a opção Todos para mostrar uma linha só, como vc pediu. Assim não precisaria limpar o filtro, deixando ele sempre com uma opção ou mais.

  Na minha base estou fazendo um comparativo entre veículos, e são vários veículos. A ideia de deixar o segmentador de dados sem nenhum filtro e ainda assim aparecer apenas uma linha é para evitar que o usuário consiga visualizar o gráfico com todas as linhas, mas isso é apenas por uma questão de estética e usabilidade.

  Vlw Bruno, obrigado.

 

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...