Ir para conteúdo
  • 0

Distinctcount com IF retornando total em branco


suelenbn

Pergunta

  • Alunos

Pessoal, preciso fazer um DISTINCTCOUNT da coluna 'IM_Ações'[ID Ação]), onde o

IM_Ações'[Gerência (Executante)]) seja diferente do 'IM_Ações'[Gerência (Ocorrência)].

Fiz uma medida com IF e deu certo, porém, o total fica em branco:

Total de ações teste =
var vTotalAcoes = DISTINCTCOUNT('IM_Ações'[ID Ação])
var vCondicao =
    IF(
      SELECTEDVALUE('IM_Ações'[Gerência (Executante)]) <>
        SELECTEDVALUE('IM_Ações'[Gerência (Ocorrência)]), vTotalAcoes, 0)

 Return
vCondicao

image.png.1801e61ba4e7df3216d3e2353019815f.png

Como posso ajustar isso? Acredito que seria com uma tabela virtual, tentei tbm, mas por não ter experiência com tabelas virtuais, não deu certo:

image.png.1900ed0c811603a6238a8dd187234eb3.png

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos

@suelenbn

Você esta criando uma tabela virtual e querendo retornar na medida, em medida somente retornamos valor escalar , se nao tem tanta experiencia pode fazer o mesmo id criando a condição se dou <> 1, caso contrario 0 e realzir um distinctcount e depois com a calculate filtrar o que te atende. Caso queria criar uma tabela virtual posso te ajudar, coloque a base que faço.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá @suelenbn!

Para resolver o problema do resultado na tabela, é uma questão de Contexto, não precisa criar tabela virtual, eu acho. Veja :

image.png.6a938f578aaf2c207ec43af76b84046a.png

image.png.b753d6d84a66790a60f595212099e15a.png

 

Nesse caso eu criei uma calculate para o contexto FALSE e outro cálculo para  TRUE :

O segredo aqui é usar SUMX:

image.png.a3f247044979ba2c9c524c7a1d8d585b.png

 

Segue o anexo, veja se resolve pra você.

(Tecnicamente, uma SUMX é uma tabela virtual, posso ter dito bobagem)

 

 

suelenbn.pbix

Editado por Nelson Kobayashi
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@Nelson Kobayashi

Somente uma correção a SUMX não é uma tabela virtual, ele pedi uma tabela como argumento , neste caso se vc pegasse a tabela fato do seu modelo por exemplo ela iria guardar a mesma na memoria para realizar a agregação de soma. Entre outros casos o que ela faz faz a sua conta linha a linha pois se trata de um interador e cria uma coluna X ao final da tabela e apos isso faz a agregação.

Editado por Barony
  • Thanks 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
13 horas atrás, Barony disse:

@Nelson Kobayashi

Somente uma correção a SUMX não é uma tabela virtual, ele pedi uma tabela como argumento , neste caso se vc pegasse a tabela fato do seu modelo por exemplo ela iria guardar a mesma na memoria para realizar a agregação de soma. Entre outros casos o que ela faz faz a sua conta linha a linha pois se trata de um interador e cria uma coluna X ao final da tabela e apos isso faz a agregação.

Grande @Barony!

@suelenbn, ouça o Barony ! Ele é fera!

Inclusive se você mandar um PBIX pra testar, provavelmente o Barony vai dar uma solução mais elegante que a minha.

Abç.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Ah, sobre usar tabelas virtuais para solução de problemas mais complexos,  tipo a função SUMMARIZE ... Eu aprendi bastante, além de assistir as aulas do mestre, eu também aprendi bastante olhando as soluções do Barony, por várias vezes aqui no fórum ele resolveu problemas que eu nem tinha ideia por onde começar e ele resolvia com SUMMARIZE e outras tabelas virtuais.

Ou seja: super recomendo olhar o histórico de soluções dele, baixar os PBIX, estudar os problemas propostos e entender como funciona as tabelas virtuais usadas (mesmo porque ele faz as MEDIDAS bem organizadas e identadas, facilita bem o entendimento).

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