Skip to main content
Announcements
See why Qlik is a Leader in the 2024 Gartner® Magic Quadrant™ for Analytics & BI Platforms. Download Now
cancel
Showing results for 
Search instead for 
Did you mean: 
matiashernandezintercarry

Reasignar dato de un campo segun una condicion

Estimados,
Esperando que se encuentren bien tengo la siguiente consulta en esta tabla tengo los siguientes campos:

matiashernandezintercarry_1-1590630267895.png

De los cuales en MOTIVO tengo las opciones de CORRECTO , INCORRECTO y BULTO CRUZADO. de las cuales yo solo quiero mostrar todos menos el correcto y me queda una tabla similar a esta:

Tabla 1

matiashernandezintercarry_2-1590630291885.png

El problema es que  en los campos  codigo local y nombre local aparecen - , que es porque la cubeta cuando esta en esa condicion(esto es asi segun la base) lo trae vacio. Entonces lo que necesito es que codigo local lo asocie al correlativo de operacion pero de un MOTIVO CORRECTO ya que ellos si traen el codigo de local , adjunto ejemplo

Fecha CapturaMotivoCorrelativo OperacionNumero CubetaCodigo LocalNombre Local
29/04/2020 12:12CORRECTO172.662677.9661501101MAICAO SUC 251 ( VICTORIA 1)
29/04/2020 12:11CORRECTO172.662623.6971501101MAICAO SUC 251 ( VICTORIA 1)
29/04/2020 12:10cubeta cruzada172.662543.982  

 

COmo aprecian en la base cuando aparece cubeta cruzada no asocia a ningun local, y quiero que en el qlikview si lo relacione segun el correlativo de operacion y con el motivo que se "correcto"

Para esto tengo que hacer una nueva query o una formula en la tabla ? de ser asi como se hace favor su ayuda,

quedo atento a sus comentarios.

saludos. 

1 Solution

Accepted Solutions
rubenmarin

Hola, si los datos se relacionan a través del [Correlativo Operacion] podrías crear dos tablas de mapping para asociar este valor al código y nombre que le correspondan y aplicar el mapping al cargar los datos, algo como:

mapCodigoLocal:
Mapping LOAD
  CORRELATIVO_OPERACION,
  CODIGO_LOCAL
FROM ...;

mapNombreLocal:
Mapping LOAD
  CORRELATIVO_OPERACION,
  NOMBRE_LOCAL
FROM ...;
  
LOAD
  CORRELATIVO_OPERACION,
  FECHA_CAPTURA,
  ...
  If(IsNull(CODIGO_LOCAL)
    ,ApplyMap('mapCodigoLocal', CORRELATIVO_OPERACION, Null())
    ,CODIGO_LOCAL) as CODIGO_LOCAL,
  If(IsNull(NOMBRE_LOCAL)
    ,ApplyMap('mapNombreLocal', CORRELATIVO_OPERACION, Null())
    ,NOMBRE_LOCAL) as NOMBRE_LOCAL
From ...;

Saludos.

View solution in original post

2 Replies
rubenmarin

Hola, si los datos se relacionan a través del [Correlativo Operacion] podrías crear dos tablas de mapping para asociar este valor al código y nombre que le correspondan y aplicar el mapping al cargar los datos, algo como:

mapCodigoLocal:
Mapping LOAD
  CORRELATIVO_OPERACION,
  CODIGO_LOCAL
FROM ...;

mapNombreLocal:
Mapping LOAD
  CORRELATIVO_OPERACION,
  NOMBRE_LOCAL
FROM ...;
  
LOAD
  CORRELATIVO_OPERACION,
  FECHA_CAPTURA,
  ...
  If(IsNull(CODIGO_LOCAL)
    ,ApplyMap('mapCodigoLocal', CORRELATIVO_OPERACION, Null())
    ,CODIGO_LOCAL) as CODIGO_LOCAL,
  If(IsNull(NOMBRE_LOCAL)
    ,ApplyMap('mapNombreLocal', CORRELATIVO_OPERACION, Null())
    ,NOMBRE_LOCAL) as NOMBRE_LOCAL
From ...;

Saludos.

matiashernandezintercarry
Author

Gracias Estimado,

probare con lo que me dices, saludos.