Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola,
Tengo una tabla con un campo que almacena registros con una serie de rangos de direcciones IP, así por ejemplo "1.0.176.0 a 1.0.776.255" y así sucesivamente, otro campo que registra por cada uno de esos rangos a que ubicación pertenece; en otra tabla tengo un campo que contiene registros de direcciones IP completas por cada transacción realizada.
Requiero conocer de la segunda tabla que contiene la dirección IP completa a qué ubicación pertenece, por lo que requiero cruzar este campo con el campo de rangos de direcciones IP que está en la primera tabla, ¿qué debo hacer para se pueda realizar este cruce?
Agradezco la colaboración.
Hola, creo que pasando las IPs a un número puedes usar intervalmatch. Revisa este script
TX:
LOAD
IP,
subfield(IP,'.',4) + subfield(IP,'.',3)*1e3 + subfield(IP,'.',2)*1e6 + subfield(IP,'.',1) * 1e9 as IP_NUM
INLINE [
IP
1.0.176.3
1.0.176.99
10.0.0.5
];
Rangos:
IntervalMatch(IP_NUM)
LOAD
subfield(Inicio,'.',4) + subfield(Inicio,'.',3)*1e3 + subfield(Inicio,'.',2)*1e6 + subfield(Inicio,'.',1) * 1e9 as Inicio,
subfield(Fin,'.',4) + subfield(Fin,'.',3)*1e3 + subfield(Fin,'.',2)*1e6 + subfield(Fin,'.',1) * 1e9 as Fin
INLINE [
Inicio, Fin,
1.0.176.0 , 1.0.776.255
10.0.0.1 , 10.0.0.255
];
left join
LOAD
subfield(Inicio,'.',4) + subfield(Inicio,'.',3)*1e3 + subfield(Inicio,'.',2)*1e6 + subfield(Inicio,'.',1) * 1e9 as Inicio,
subfield(Fin,'.',4) + subfield(Fin,'.',3)*1e3 + subfield(Fin,'.',2)*1e6 + subfield(Fin,'.',1) * 1e9 as Fin,
Inicio & ' a ' & Fin as Rango
INLINE [
Inicio, Fin,
1.0.176.0,1.0.776.255
];Espero te ayude.
Hola, creo que pasando las IPs a un número puedes usar intervalmatch. Revisa este script
TX:
LOAD
IP,
subfield(IP,'.',4) + subfield(IP,'.',3)*1e3 + subfield(IP,'.',2)*1e6 + subfield(IP,'.',1) * 1e9 as IP_NUM
INLINE [
IP
1.0.176.3
1.0.176.99
10.0.0.5
];
Rangos:
IntervalMatch(IP_NUM)
LOAD
subfield(Inicio,'.',4) + subfield(Inicio,'.',3)*1e3 + subfield(Inicio,'.',2)*1e6 + subfield(Inicio,'.',1) * 1e9 as Inicio,
subfield(Fin,'.',4) + subfield(Fin,'.',3)*1e3 + subfield(Fin,'.',2)*1e6 + subfield(Fin,'.',1) * 1e9 as Fin
INLINE [
Inicio, Fin,
1.0.176.0 , 1.0.776.255
10.0.0.1 , 10.0.0.255
];
left join
LOAD
subfield(Inicio,'.',4) + subfield(Inicio,'.',3)*1e3 + subfield(Inicio,'.',2)*1e6 + subfield(Inicio,'.',1) * 1e9 as Inicio,
subfield(Fin,'.',4) + subfield(Fin,'.',3)*1e3 + subfield(Fin,'.',2)*1e6 + subfield(Fin,'.',1) * 1e9 as Fin,
Inicio & ' a ' & Fin as Rango
INLINE [
Inicio, Fin,
1.0.176.0,1.0.776.255
];Espero te ayude.