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

Creacion de nueva columna con funciones Funciones inter-registro

Buenas Días, soy nuevo en esta aplicación y tengo varias dudas en esta ocasión necesito agregar tres columnas a una tabla que tengo como calendario usando Funciones ínter-registro habrá alguna forma en que me puedan orientar a realizar esta actividad.

Agregar tres columnas al QVD de Calendario.

Las tres columnas tendrán valor de 'S' de acuerdo a las siguientes condiciones:

- Si el valor del Campo "Fecha Reporte" corresponde al ultimo dia del mes, la nueva columna 1 tendra una 'S'

- Si el valor del campo "Fecha Reporte" corresponde al ultimo dia de un bimestre, la nueva columna 2 tendra una 'S'

- Si el valor del campo "Fecha Reporte" corresponde al ultimo dia del año, la nueva columna 3 tendra una 'S'.

estos son los script que con las tablas y campos

****************CALENDARIO:

MasterCalendar:

LOAD

//monthstart(TempDate) AS Fecha,

Year(TempDate) AS Año,

Month(TempDate) AS Mes,

Day(TempDate) AS Dia,

num(Weekday(TempDate),00) AS WeekDay,

num(Year(TempDate))&num(month(TempDate),00)&num(day(TempDate),00) AS FechaID,

//COMPARACION AL AÑO

IF(Day(FechaID)= ,0,'s') AS Columna1,

RESIDENT TempCalendar

ORDER BY TempDate ASC;

DROP TABLE TempCalendar;

Right Join (MasterCalendar)

LOAD FechaReporte as FechaID

Resident TempPrin;

***************************************HECHOS

Prestamos:

//First 2000000

LOAD

  Distinct AutoNumber(Region,'Reg1') as RegionID,

  AutoNumber(Coordinador,'Cord1') as CoordinadorID,

  Codigo_Asesor AS AsesorID,

  NS as SucursalID,

  GRP AS GrupoID,

  FechaReporte as FechaID,

  Cuota,

     Dia_Pago as [Dia de Pago],

     Clientes,

     Prestamo,

     Cartera_CI as [Cartera con Intereses],

     Cartera_SI as [Cartera sin Intereses],

     Interes_Total as [Intereses Totales],

     Saldo_IVA as [Saldo mas IVA],

     Cartera_Total AS [Cartera Total],

     Desembolso,

     Pagos_Venc as [Pagos Vencidos],

     Dias_en_mora as [Dias de Mora],

     Sem_Actual as [Semana Actual],

     Ult_Pago AS [Ultimo Pago], 

     ATRASO as [Atraso de Pago],

     Terminacion,

     Plazo

Resident TempPrin;

Por su apoyo muchas gracias.

4 Replies
JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Hola Erik:

Revisa las funciones MonthStarr, MonthEnd, YearStart, YearEnd

Con un IF (condicion = true(), 'S', 'N') as Columna será suficiente.

Condición debes sustituirlo por la función que te vaya bien para cada requisito.

Saludos

Joaquín

Not applicable
Author

Hola Joaquin, gracias por tu respuesta pero en esta ocasión no me permiten utilizar esas funciones precisamente para utilizar las Funciones de Ínter registro, habrá alguna otra forma de poder realizar estas condiciones?

jolivares
Specialist
Specialist

en la tabla Prestamos:

Load...

If(FechaReporte = MonthEnd(FechaReporte),'S') as Columna1;

If(Mod(Month(FechaReporte),2)=0 And FechaReporte = MonthEnd(FechaReporte),'S') as Columna2;

If(FechaReporte = YearEnd(FechaReporte),'S') as Columna3;


Entiendo que esto te puede servir.

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Hola Eric:

Las funciones de fecha las puedes usar como funciones sobre el registro actual ... como función inter-registro en el script tienes previous(), peek() y exists() .

No veo porque no puedes usarlas, las sintaxis de Juan es buena; yo intento dejar un poco de tarea para vosotros (que no todo sea tan fácil como preguntar y copiar la respuesta).

Saludos

Joaquín