Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
valmirMendes10
Contributor II
Contributor II

Duvida de como filtrar tais dados.

Bom dia, minha dúvida é bem complicada de ser escrita, mas vou tentar descrever. Possuo uma base de dados de Licitações e compras, nesses dados o que eu mais uso são os dados de licitações, ip para acesso(cada ip equivale a um acesso e um lance), nome de fornecedores, e o orgão. Um dos filtros que o meu dash deveria ter é um em que ele mostra em quais licitações houve um grupo de fornecedores que usaram o mesmo ip.  Com o seguinte código consigo um resultado quase satisfatório:

Count(Distinct FORNECEDOR)>1 AND Count(Distinct COD_LICITACAO)=1 -> Eu usei isso diretamente nos filtros do qlik para ver o que seria filtrado. Logicamente quero que seja contado os fornecedores diferentes que um ip de acesso possui e se ele está atribuído a uma licitação. usei essa linha no filtro de IPs de acesso:

valmirMendes10_0-1630562233720.png

 

O resultado é descente, porém existem alguns casos que ficam de fora e eu não entendo por que. Como por exemplo o ip 35.199.67.129:

Resultado legal:

valmirMendes10_1-1630562326651.png

 

Valor que escapa do filtro:

valmirMendes10_2-1630562359602.png

Ele corresponde EXATAMENTE como os outros, mas não entra no filtro. Só descobri ele e outro como ele procurando manualmente.

 

Queria saber como englobar melhor esse filtro, e se tinha uma forma mais fácil para fazer o mesmo.

 

15 Replies
Clever_Anjos
Employee
Employee

Fiz um teste aqui criando o Flag desta forma

[Planilha1]:
LOAD
[Licitacao],
AutoNumber(fornecedor,[Licitacao]&IP) AS FlagOcorrencia,
[IP],
[fornecedor]
FROM [lib://DataFiles/TESTE.xlsx]
(ooxml, embedded labels, table is Planilha1);

O resto você pode testar com o qvf que anexei anteriormente

valmirMendes10
Contributor II
Contributor II
Author

Olá! Eu efetuei testes com a sua solução e não surtiram o efeito que eu esperava, queria ver se fiz algo errado no script, mandarei para a sua verificação.

valmirMendes10_0-1631893830319.png

 

O resultado disso foi que para todas as situações está aparecendo "ok" mesmo onde ocorre o problema de usuários diferentes usando o mesmo ip na mesma licitação.

valmirMendes10
Contributor II
Contributor II
Author

Ola! Eu usei a sua recomendação e deu bons resultados, porém, queria saber uma coisa. Quando eu ponho numa tabela, ele tras tudo bonitinho, porém ele também tras fornecedores que não estão com o problema. por exemplo tem 3 fornecedores com o mesmo ip, só que apenas 2 estão usando o mesmo ip na mesma licitação. Entende? Eu fiz uma simples modificação no seu código mas mesmo assim o problema persiste, mandarei foto.

valmirMendes10_1-1631894145205.png

Aqui esta o resultado como pode ver no item 22669 possui 1 caso normal, mas nos demais 23137 e 23352 ocorre o problema e no geral ele conta os 5 sendo que o certo seriam apenas 4.

valmirMendes10_2-1631894918507.png

 

Thiago_Justen_

Olá @valmirMendes10,

 

Na verdade quem cometeu o erro fui eu: 

Spoiler

Sua_Tabela:

Load

          seus_campos

From Sua_Base;

Left Join(sua_tabela)

Load 

        *,

        If(Previous(IP)=IP and Previous(Licitacao)=Licitacao and Previous(Fornecedor)<>Fornecedor,

                  'Mesmo IP',

                   'Ok'

          )                           as 'Flag_IP'

Resident sua_tabela
                                         Order By IP, Licitacao, Fornecedor Asc
;

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
valmirMendes10
Contributor II
Contributor II
Author

valmirMendes10_0-1631902732901.png

Mesmo assim o qlik ainda indica erro.

Thiago_Justen_

Remova o Dual()

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago