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.