Alunos Ana Leticia Sampaio Postado Abril 22 Alunos Compartilhar Postado Abril 22 Olá pessoal, Eu preciso fazer um distinct count com algumas condições: 1) Se a account_location é x OU y OU 2) Se a account_location é z E o account phase group = blank Eu estava tentando colocar tudo numa fórmula só, mas não consegui. Então separei em duas, mas não sei juntar: 1) primeira condição CALCULATE(DISTINCTCOUNT('Dim Account'[Account Id]),'Dim Account'[Account_Location]= "JURI" || 'Dim Account'[Account_Location]= "FIDIJURI") 2) segunda condição (DISTINCTCOUNT('Dim Account'[Account Id]),'Dim Account'[Account_Location] = "EIM" && 'Dim Account Phase'[Account Phase Code Group] = " ") Alguém consegue me ajudar? Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Solução Bruno Abdalla de Souza Postado Abril 24 Alunos Solução Compartilhar Postado Abril 24 Tenta isso. unknown status count = VAR vPhaseIds = CALCULATETABLE( VALUES('Dim Account Phase'[Account Phase Id]), 'Dim Account Phase'[Account Phase Code Group] = "NULL" ) VAR vIds = CALCULATETABLE( VALUES('Fact Account Phases'[Account Id]), vPhaseIds ) VAR vResult = CALCULATE( DISTINCTCOUNT('Dim Account'[Account Id]), 'Dim Account'[Account_Location] IN {"JURI", "FIDIJURI"} || ('Dim Account'[Account_Location] = "EIM" && 'Dim Account'[Account Id] IN vIds) ) RETURN vResult Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruno Abdalla de Souza Postado Abril 22 Alunos Compartilhar Postado Abril 22 CALCULATE( DISTINCTCOUNT('Dim Account'[Account Id]), 'Dim Account'[Account_Location] IN {"JURI", "FIDIJURI"}, 'Dim Account'[Account_Location] = "EIM", 'Dim Account Phase'[Account Phase Code Group] = " " ) Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Ana Leticia Sampaio Postado Abril 22 Autor Alunos Compartilhar Postado Abril 22 @Bruno Abdalla de Souza ele me deu Blank no resultado. a segunda condição tem é ligada por OU 'Dim Account'[Account_Location] IN {"JURI", "FIDIJURI"}, OU 'Dim Account'[Account_Location] = "EIM" E 'Dim Account Phase'[Account Phase Code Group] = " " Como ficaria? Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruno Abdalla de Souza Postado Abril 22 Alunos Compartilhar Postado Abril 22 CALCULATE( DISTINCTCOUNT('Dim Account'[Account Id]), 'Dim Account'[Account_Location] IN {"JURI", "FIDIJURI"} || ('Dim Account'[Account_Location] = "EIM" && 'Dim Account Phase'[Account Phase Code Group] = " ") ) Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Ana Leticia Sampaio Postado Abril 22 Autor Alunos Compartilhar Postado Abril 22 Desse jeito ele diz que não encontra a coluna da outra tabela dim. É preciso usar related? Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruno Abdalla de Souza Postado Abril 22 Alunos Compartilhar Postado Abril 22 Se estiver relacionado, sim, pode usar a related. Aí precisaria ver o seu modelo de dados para entender. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Ana Leticia Sampaio Postado Abril 22 Autor Alunos Compartilhar Postado Abril 22 (editado) @Bruno Abdalla de Souza ambas as dims estão relacionadas com uma fato Editado Abril 22 por Ana Leticia Sampaio Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruno Abdalla de Souza Postado Abril 22 Alunos Compartilhar Postado Abril 22 Medida = VAR vPhaseIds = CALCULATETABLE( VALUES('Dim Account Phase'[Account Phase Id], 'Dim Account Phase'[Account Phase Code Group] = " " ) VAR vResultado = CALCULATE( DISTINCTCOUNT('Dim Account'[Account Id]), 'Dim Account'[Account_Location] IN {"JURI", "FIDIJURI"} || ('Dim Account'[Account_Location] = "EIM" && 'Fact Account Phases'[Account Phase Id] = vPhaseIds) ) RETURN vResultado Tenta isso Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Ana Leticia Sampaio Postado Abril 22 Autor Alunos Compartilhar Postado Abril 22 @Bruno Abdalla de Souza na última parte da medida ele também não reconheceu a coluna da Accout Phase Id. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruno Abdalla de Souza Postado Abril 22 Alunos Compartilhar Postado Abril 22 Medida = VAR vPhaseIds = CALCULATETABLE( VALUES('Dim Account Phase'[Account Phase Id], 'Dim Account Phase'[Account Phase Code Group] = " " ) VAR vResultado = CALCULATE( DISTINCTCOUNT('Fact Account Phases'[Account Id]), 'Dim Account'[Account_Location] IN {"JURI", "FIDIJURI"} || ('Dim Account'[Account_Location] = "EIM" && 'Fact Account Phases'[Account Phase Id] = vPhaseIds) ) RETURN vResultado Veja se assim vai. Se não for, anexa o pbix. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Ana Leticia Sampaio Postado Abril 23 Autor Alunos Compartilhar Postado Abril 23 Ainda não reconhece o coluna da Fato. Eu não consigo anexar o Pbix porque to fazendo um direct query direto no Azure (eu nem tenho acesso a vista de tabelas). Mas eu posso fazer um mini modelo com as tabelas em questão em Excel, poderia ser? Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Ana Leticia Sampaio Postado Abril 23 Autor Alunos Compartilhar Postado Abril 23 Eu encontrei um tópico parecido no forum da Microsoft https://community.fabric.microsoft.com/t5/Desktop/Multiple-Conditions-from-Different-Tables/td-p/2109318 Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruno Abdalla de Souza Postado Abril 23 Alunos Compartilhar Postado Abril 23 Faz.um mini modelo em Excel e anexa o pbix, por favor. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Ana Leticia Sampaio Postado Abril 24 Autor Alunos Compartilhar Postado Abril 24 demo_medidadax.pbix Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruno Abdalla de Souza Postado Abril 24 Alunos Compartilhar Postado Abril 24 (editado) Tente isso. unknown status count = VAR vPhaseIds = CALCULATETABLE( VALUES('Dim Account Phase'[Account Phase Id]), 'Dim Account Phase'[Account Phase Code Group] = " " ) VAR vIds = CALCULATETABLE( VALUES('Fact Account Phases'[Account Id]), vPhaseIds ) VAR vResult = CALCULATE( DISTINCTCOUNT('Fact Account Phases'[Account Id]), 'Dim Account'[Account_Location] IN {"JURI", "FIDIJURI"} || ('Dim Account'[Account_Location] = "EIM" && 'Dim Account'[Account Id] = vIds) ) RETURN vResult Porém, nos dados que vc enviou, não tem nenhuma linha que satisfaça a seguinte condição: Dim Account Phase'[Account Phase Code Group] = " " Veja se nos dados reais faz sentido. Se não fizer, aí terá que mandar dados onde esta condição seja verdadeira para poder testar. 20240424_demo_medidadax.pbix Editado Abril 24 por Bruno Abdalla de Souza Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Ana Leticia Sampaio Postado Abril 24 Autor Alunos Compartilhar Postado Abril 24 na verdade o que eu quero pegar do Account Phase Code group são as linhas que estão em branco (no excel está NULL), por isso pus " " no dax. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruno Abdalla de Souza Postado Abril 24 Alunos Compartilhar Postado Abril 24 Agora que vi que está NULL, mas escrito como texto. Tente assim então. unknown status count = VAR vPhaseIds = CALCULATETABLE( VALUES('Dim Account Phase'[Account Phase Id]), 'Dim Account Phase'[Account Phase Code Group] = "NULL" ) VAR vIds = CALCULATETABLE( VALUES('Fact Account Phases'[Account Id]), vPhaseIds ) VAR vResult = CALCULATE( DISTINCTCOUNT('Fact Account Phases'[Account Id]), 'Dim Account'[Account_Location] IN {"JURI", "FIDIJURI"} || ('Dim Account'[Account_Location] = "EIM" && 'Dim Account'[Account Id] IN vIds) ) RETURN vResult Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Ana Leticia Sampaio Postado Abril 24 Autor Alunos Compartilhar Postado Abril 24 a fórmula dessa vez funciona, mas eu fiz um teste e ela não leva em consideração a segunda condição: ('Dim Account'[Account_Location] = "EIM" && 'Dim Account'[Account Id] IN vIds) O distinctcount só funciona até aqui: CALCULATE( DISTINCTCOUNT('Fact Account Phases'[Account Id]), 'Dim Account'[Account_Location] IN {"JURI", "FIDIJURI"} Talvez porque a sintaxe com o null esteja errada, não sei. Eu tava pensando em ao invés de fazer 'Dim Account Phase'[Account Phase Code Group] = "NULL" fazer Account Phase Code Group = a,b,c, etc (todas as categorias que não sejam null) e depois na segunda condição, colocar EIM && NOT as categorias todas. (a lógica inversa). Funcionaria? Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Ana Leticia Sampaio Postado Abril 24 Autor Alunos Compartilhar Postado Abril 24 continua a me dar só a primeira condição Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Ana Leticia Sampaio Postado Abril 25 Autor Alunos Compartilhar Postado Abril 25 @Bruno Abdalla de Souza a solução com is blank parece funcionar, ou pra já está ok para o business. 1 Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Ana Leticia Sampaio
Olá pessoal,
Eu preciso fazer um distinct count com algumas condições:
1) Se a account_location é x OU y
OU
2) Se a account_location é z E o account phase group = blank
Eu estava tentando colocar tudo numa fórmula só, mas não consegui.
Então separei em duas, mas não sei juntar:
1) primeira condição
CALCULATE(DISTINCTCOUNT('Dim Account'[Account Id]),'Dim Account'[Account_Location]= "JURI" || 'Dim Account'[Account_Location]= "FIDIJURI")
2) segunda condição
(DISTINCTCOUNT('Dim Account'[Account Id]),'Dim Account'[Account_Location] = "EIM" && 'Dim Account Phase'[Account Phase Code Group] = " ")
Alguém consegue me ajudar?
Link para o comentário
Compartilhar em outros sites
20 respostass a esta questão
Posts Recomendados
Faça login para comentar
Você vai ser capaz de deixar um comentário após fazer o login
Entrar Agora