Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola a todos, estoy con un informe que me esta costando trabajo. Se trata de un simple cálculo que no estoy pudiendo calcular seguramente por ignorar alguna función. Necesito calcular lo siguiente. Tengo una tabla de Tarjetas y otra de Acreditaciones.
Cada operación con tarjeta conlleva cierta cantidad de días para que se lleve acabo la acreditación del dinero en el banco.
Ejemplo:
entonces si se hizo una operación con la tarjeta Mastercard el día 25/05/2017, la fecha de acreditación sería el Lunes 05/06 porque no se debe tener en cuenta los días sábados y domingo.
Es decir, necesito calcular la fecha de acreditación de cada operación teniendo en cuenta los días hábiles que tarda cada tarjeta.
Alguien lo hizo? me pueden dar una idea?
Gracias. Walter
Hola Walter, igual añadiendo un contador para los días hábiles sería más fácil llegar a la fecha que necesitas, algo como:
Calendario:
LOAD Fecha,
...,
If(Num(WeekDay(Fecha))<6, RangeSum(Peek(ContadorHabilTemp), 1), Peek(ContadorHabilTemp)) as ContadorHabilTemp,
If(Num(WeekDay(Fecha))<6, RangeSum(Peek(ContadorHabilTemp), 1) as ContadorHabil,
Si quieres añadir más días no-hábiles puedes usar networkdays:
If(networkdays(Fecha, Fecha, $(vDiasNoHabiles)),...
Saludos.
Hola Walter, buen día.
No sé si ya lograste resolver el problema pero es muy sencillo usando la función LastDayWork.
Con esta función partiendo de una fecha puedes y un númeor de días puedes determinar la fecha en día hábil que buscas.
LastDayWork(Fecha_Operación,Dias_Hábiles)
Si tu fecha de operación es por ejemplo el 25 de mayo de 2017 y es una mastercard como lo marcas en tu ejemplo, la función te regresará lo siguiente:
LastDayWork('25/05/2017',7) = 2/06/2017, esto por que la fecha considera el día de inicio como uno de los días a contar si quieres considerar 7 días después de la fecha de inicio basta con que sumes un 1:
LastDayWork(Fecha_Operación,Dias_Hábiles)
->
LastDayWork('25/05/2017',7+1) = 5/06/2017
Déjame saber si esto te ayudo.
Saludos.
Walter buenas tardes
desde el script con mapeo :
d:
Mapping LOAD * Inline
[
Tarjeta,Dias Habiles
Mastercard,7
Visa,5
Maestro,3
];
LOAD *, lastworkdate (Fecha_Operación, ApplyMap('d',tarjeta,Null()), Fecha_Operación, Fecha_Operación) AS f_acreditación
;
LOAD tarjeta,
Fecha_Operación
FROM
EjemploDias.xlsx
(ooxml, embedded labels, table is Sheet1)