Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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:
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:
Valor que escapa do filtro:
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.
Essa ultima foto não foi um bom exemplo, mas mesmo assim posso garantir que esse ip possui mais de um fornecedor usando ele. E mesmo assim não foi listado após o filtro.
Bom dia meu nobre,
Receio que seja bacana você realizar alguma alteração no seu script para te dar mais flexibilidade na construção dos dashs. Baseado no que você escreveu, eu sugiro criar uma flag que aponte quando um IP é utilizado por mais de um fornecedor em uma licitação.
Exemplo:
Sua_Tabela:
Load
seus_campos
From Sua_Base;
Left Join(sua_tabela)
Load
*,
Dual(If(Previous(IP)=IP and Previous(Licitacao)=Licitacao and Previous(Fornecedor)<>Fornecedor,
'Mesmo IP',
'Ok'
),-1,1) as 'Flag_IP'
Resident sua_tabela;
Assim você poderá usar esse campo na construção de dashs e até mesmo em expressões com set analysis.
Espero ter fomentado alguma ideia.
Abs e Sucesso!!
Eu não tinha pensado nisso, vou tentar, Obrigado.
Opa, então o meu objetivo de provocar novas ideais foi cumprido.
Testa lá e retorna com o feedback aqui pra gente acompanhar a evolução dessa tua empreitada.
Abs e Sucesso!!
Você pode subir uma base mascarada de dados? Tipo, somente ip e numeros de licitação?
Sem nomes de empresas ou algo que identifique alguma pessoa ou empresa
Criei um modelo bem simples aqui, talvez atenda
//Geracao de massa de testes
Tabela:
Load '172.168.1.' &RecNo() as IP
AutoGenerate 32;
Dados:
Load
IP,
'Fornecedor ' & IterNo() as Fornecedor
Resident Tabela
While IterNo() < Floor(Rand() * 10);
Drop Table Tabela;
//Final da geração de massa de testes
//Calculo de Flag de repetição
Load
IP,
Fornecedor,
AutoNumber(Fornecedor,IP) as FlagOcorrencia
Resident Dados;
Drop table Dados;
Ai para mostrar em uma tabela, fica um set analisys desse jeito
Count(DISTINCT {<FlagOcorrencia={">1"}>}Fornecedor)+1
Estou anexando o app, se achar interessante
Aqui um arquivo teste para você.
Agradeço as duas respostas, vou testar elas aqui, é que eu NUNCA mexi com essa parte de carga de dados via o script, ai ainda estou aprendendo. Mas uma direção é muito bom. OBRIGADO!
Logo logo trago aqui resultados e duvidas