Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
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