Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
DiaEli1980
Contributor II
Contributor II

Buscar un texto dentro de campo en otra tabla

Saludos

Tengo una tabla Incidentes donde tengo el campo Notas con la descripción de una alarma también contiene el nombre de la estación.

Tengo otra tabla con un listado de estaciones llamada Celdas. Necesito encontrar el nombre de la estación en la tabla Incidentes dentro del campo Notas de la tabla Incidentes si existe colocar en una nueva columna 1 o 0.

Por favor si alguien me puede ayudar.

2 Replies
rubenmarin

Hola, podrías probar a crear un mapping para MapSubstring() que ponga ciertos caracteres delante y detrás del nombre de la Celda, y luego usar TextBetween() para extraer el nombre.

Por ejemplo usando '##' para identificar el nombre Celdas: 

 

// Tabla simulando las estaciones o celdas
Celdas:
LOAD 'Celda1' as Celda AutoGenerate 1; 

// Mapping que añade ## al principio y al final de cada nombre de celda
mapMarcaNombre: 
Mapping LOAD Celda, '##'& Celda &'##' 
Resident Celdas; 

// Tabla simulando las incidencias
tmpNotas: 
LOAD 'En la Celda1 no hay nadie' as Notas AutoGenerate 1; 
LOAD 'Aqui no hay Celda' as Notas AutoGenerate 1; 

// Tabla que extrae el nombre de la celda y crea el flag
Notas: 
LOAD Notas, 
  TextBetween(MapSubString('mapMarcaNombre',Notas), '##', '##') as Celda, 
  If(Exists('Celda', TextBetween(MapSubString('mapMarcaNombre',Notas), '##', '##')), 1, 0) as hayCelda 
Resident tmpNotas; 

DROP Table tmpNotas;

También puedes usar Upper() para convertir nombres de celda y notas todo a mayúsculas y así evitar que diferencie mayúsculas y minúsculas para identificar el nombre de la celda.

Saludos.

 

 

DiaEli1980
Contributor II
Contributor II
Author

Rubenmarin

Te agradezco mucho por tu ayuda funciono perfecto.  😀

Gracias