Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola nuevamente QlikView México,
Estoy programando una razón financiera que requiere se divida entre el número de días habiles trabajados, encontré una función pero no se como darle la fecha inicial ni la final si esta depende del mes y el año que ese seleccionado.
Esta es la función: networkdays ('2007-02-19', '2007-03-01')
no estoy usando ningún calendario solo necesito una aproximación sin fines de semana
muchsimas gracias en adelantado y saludos
Hola Anilu, la función networkdays toma como argumento dos "objetos" fecha una inicial y una final. Ahora si el usuario puede hacer selecciones sobre mes y año, asumo que esos campos se derivaron de un campo Fecha, por lo que la función la puedes llamar de la siguiente forma:
networkdays(min(Fecha), max(Fecha))
Por otro lado, si el calendario(fechas) está derivado de transacciones que sólo ocurren en días hábiles (e.g. facturas) lo que podrías hacer es:
count(distinct Fecha)
Con esta última aproximación estarías eliminando no sólo fines de semana pero también días festivos.
Saludos, si necesitas más ayuda no dudes en escrbir.
Hola Anilu,
No estoy seguro si entendí bien tu duda pero ahi va la respuesta (a lo que entendi).
Si quieres setear el año y mes puedes hacerlo de varias formas, la que yo recomiendo es crear las variables de fecha previamente.
Primero puedes setear mes y años a consultar:
SET AÑO = 2010;
SET MES = 5;
Esto también lo puedes setear automatico de la siguiente manera:
SET AÑO = YEAR(TODAY());
SET MES = NUM(MONTH(today());
Con esto queda automatico para que calcule el mes en curso. Luego los llamas dentro de otro seteo de variables, en este caso nos aprovecharemos de las funciones que calcula el inicio y fin de mes.
LET FechaInicio = MonthStart(MAKEDATE($(AÑO),$(MES)));
LET FechaFin = MonthEnd(MAKEDATE($(AÑO),$(MES)));
Luego puedes llamarles de igual manera
LET DiasHabiles = networkdays (FechaInicio, FechaFi);
Con esto puedes tener los días habiles correspondientes al mes en curso, pruebalo y me cuentas si te sirve.
Hola Anilu, la función networkdays toma como argumento dos "objetos" fecha una inicial y una final. Ahora si el usuario puede hacer selecciones sobre mes y año, asumo que esos campos se derivaron de un campo Fecha, por lo que la función la puedes llamar de la siguiente forma:
networkdays(min(Fecha), max(Fecha))
Por otro lado, si el calendario(fechas) está derivado de transacciones que sólo ocurren en días hábiles (e.g. facturas) lo que podrías hacer es:
count(distinct Fecha)
Con esta última aproximación estarías eliminando no sólo fines de semana pero también días festivos.
Saludos, si necesitas más ayuda no dudes en escrbir.
WooooooW!!!!!!!! Mil gracias Ivan quedo perfecto!!!!!!!
saludos y nuevamente gracias, creo que ya me empieza a caer el veinte 😉