Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
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
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?
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.
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