Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia!
Montei aqui um Set Analysis conforme imagem abaixo
=Count({<Acao={'Tentativa de login sem sucesso'},SITUACAO={'A'},Matricula=E({"$=Count({<tela={'Principal'},Acao={'Logou'}>} Matricula)>0"})>} DISTINCT Matricula)
O objetivo dela é contar as Matriculas que tiveram 'Tentativa de login sem sucesso' mas excluir da contagem a matriculas que tiveram a Tela 'Principal' e a Ação 'Logou', porque eles colocaram a senha errada ou estavam com conexão instável e depois conseguiram logar.
Quando eu coloco sem a exclusão da o mesmo resultado, mostrando que a exclusão não está funcionando
=Count({<Acao={'Tentativa de login sem sucesso'},SITUACAO={'A'}>} DISTINCT NomeUsuario)
Já testei
=Count({<Acao={'Tentativa de login sem sucesso'},SITUACAO={'A'},Matricula-=({"Count({<tela={'Principal'},Acao={'Logou'}>} Matricula)>0"})>} DISTINCT NomeUsuario)
=Count({<Acao={'Tentativa de login sem sucesso'},SITUACAO={'A'},Matricula=-({"Count({<tela={'Principal'},Acao={'Logou'}>} Matricula)>0"})>} DISTINCT NomeUsuario)
e deram o mesmo valor
Alguém sabe o que está errado?
Grato
Gui,
Não sei se é a maneira mais prática, mas resolvi adicionando uma tabela auxiliar armazenando todos que tem a condição Logou + Principal, depois criei o set analysis excluindo os que estão na tabela auxiliar.
Veja se o anexo te resolve.
Bom dia,
você chegou a testar E({"$=Count({<tela={'Principal'},Acao={'Logou'}>} Matricula)>0"}) fora desse set analysis?
se não me engano, quando é utilizado função dentro do set analysis, não precisa informar o $
Boa tarde,
Veja se isso resolve:
=Count(DISTINCT {<Acao={'Tentativa de login sem sucesso'},SITUACAO={'A'}>} IF(tela<>'Principal' and Acao<>'Logou',NomeUsuario))
Boa tarde!
Gabriel,
tentei sim e quando eu coloquei ele considerou apenas tela={'Principal'}.
Quando eu tento mostrar que quero que seja excluído apenas os que tela={'Principal'},Acao={'Logou'} não consigo. Como se ele não lesse a segunda condição.
Grato
Boa tarde!
Mbrenzan,
na verdade não funciona. Fala que existe um erro.
Eu não conhecia a utilização de <> dentro do Qlikview. Vou dar uma pesquisada.
obrigado
É que quando você usa o diferente no SetAnalysis (Frontend) é com operador lógico '-=' quando é no IF ou no Load (Backend) o operador lógico é o "<>".
Como escrevi rapidão, não testei, mas achei o que estava errado. Use essa expressão abaixo e verifique no anexo se resolve o problema.
=Count(DISTINCT {<Acao={'Tentativa de login sem sucesso'},SITUACAO={'A'}>}
IF(tela<>'Principal' and Acao<>'Logou',NomeUsuario))
Posta depois os resultados e caso tenha resolvido marque como Resolvido pra mais alguem utilizar no futuro.
Experimente assim então:
Matricula = E({<tela={'Principal'},Acao={'Logou'}>} Matricula)
se você só quer excluir as matriculas que se encaixem nesse filtro, não precisa fazer aquela função. o E já serve como uma especie de filtro, excluindo os resultados desses parametros.
ou seja : "não traga as matriculas que passaram na tela principal, e logaram.
MBrenzan
ficou bem claro a sua explicação, obrigado, infelizmente trouxe o mesmo resultado dos outros testes
Manda um exemplo da sua base com alguns registros que deveriam trazer e alguns que nao deveriam, pois fiz a carga conforme a tabela abaixo e não consegui de fato entender qual registro deveria trazer qual nao deveria.
TABELA: LOAD * INLINE [ Acao, Situacao, NomeUsuario, tela, Matricula Logou, A, User_1, Principal, 122 Tentativa de Login sem sucesso, A, User_3, Outra, 321 Tentativa de Login sem sucesso, A, User_1, Outra, 122 Tentativa de Login sem sucesso, A, User_10, Outra, 443 Tentativa de Login sem sucesso, A, Usero_8, Outra, 342 Tentativa de Login sem sucesso, A, User_2, Outra, 221 Logou, A, User_2, Principal, 221 ];
Criei um Arquivo mostrando exatamente o que eu preciso
seria para mostrar apenas os clientes B,C,D,G
Grato