Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Valor posterior y anterior.

Hola tengo una tabla  con en la cual se carga el tipo de cambio y en otra tabla los comprobantes.. el problema es que hay dia que se cargan comprobantes que no tiene tipo de cambio..

como puedo hacer para que vaya a buscar el tipo de cambio siguiente..

Moneda       TC              Fecha

D                   8               01-02-2016

D                   9               05-02-2016

Pero el día 3-02-2016 tengo un comprobante cargado pero no  tengo TC como recupero el TC de la fecha posterior o anterior?

9 Replies
sorrakis01
Specialist
Specialist

Hola Mauro,

Puedes poner las 2 tablas? Te lo digo para entenderlo un poco mejor... porque me cuesta verlo.

Saludos,

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Hola Mauro:

Tienes que lograr que tu tabla de cambios tenga valor para todos los días.

Moneda       TC              Fecha

D                   8               01-02-2016

D                   8               02-02-2016

D                   8               03-02-2016

D                   8               04-02-2016

D                   9               05-02-2016

D                   9               06-02-2016

D                   9               07-02-2016


...


Saludos

Joaquín

Not applicable
Author

Es que en esa tabla  no puedo cargar el tipo de cambio  de todos los dias... por eso necesito ir a buscar el siguiente o el posterior..

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Tu tabla de origen tiene 'ausencia' de valores; eso es bastante habitual.

Mira la ayuda de la función Interval Match podrás corregir esa ausencia de valores generando los que faltan; a parir de ese punto funcionará solo.

Saludos

Joaquín

Not applicable
Author

si como seria un ejemplo con la tabla  MONEDA_TC

Moneda        TC              Fecha

D                   8               01-02-2016

D                   9               05-02-2016

sorrakis01
Specialist
Specialist

Hola,

Mira si te sirvo algo parecido a esto ya que no he podido ver tus tablas:

Tabla1:

load ID,

     Date(FECHA) AS Fecha;

load * inline [

ID, FECHA

1, 42005

2, 42006

3, 42007

4, 42008

5, 42009

6, 42010

7, 42011

8, 42012

9, 42013

10, 42014

11, 42015

12, 42016

13, 42017

14, 42018

15, 42019

];

JOIN

LOAD Moneda,

TC,

Date(FECHA) AS Fecha;

load * inline [

Moneda, TC, FECHA

8, 8, 42005

9, 9, 42006

10, 5, 42017

];

TABLA_FINAL:

LOAD ID,

  Fecha,   

  if(IsNull([TC]),Peek([TC_Nuevo]),[TC]) as TC_Nuevo

RESIDENT Tabla1;

DROP TABLE Tabla1;

Saludos,

MarcoARaymundo
Creator III
Creator III

Sigue mi modelo, para ayudarle.

Crear una tabla con un resumen de los TC.

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Mauro,

Tienes que convertir tu tabla de cambios a un período

Moneda       TC              FechaDesde       FechaHasta

D                   8               01-02-2016          04-02-2016

D                   9               05-02-2016          19-02-2016

Le aplicas un Interval Match para obtener ésto

Moneda       TC              Fecha

D                   8               01-02-2016

D                   8               02-02-2016

D                   8               03-02-2016

D                   8               04-02-2016

D                   9               05-02-2016

D                   9               06-02-2016

D                   9               07-02-2016


Y ya está, esto funciona ... desde mi punto de vista es suficiente


Saludos

Joaquín

Not applicable
Author

Otra opción es usar intervalmatch. Si tienes tiempo puedes leer este link con información relacionada:

intervalmatch use

Saludos y espero haber sido de ayuda.