Función DÍAS DE LA REDEste complemento devolverá la cantidad de días laborables completos entre dos fechas y creará una columna de fórmula que contenga el resultado.El script identifica automáticamente los fines de semana; sin embargo, los días festivos se leen del archivo Holiday List.jmp incluido. Este archivo contiene actualmente los días festivos federales de 2016 y reside en el directorio de inicio de Addin al momento de la instalación. Para editar el archivo:
1. Haga clic en el menú Ver ==> Complementos...
2. Seleccione NETWORKDAYS de su lista de complementos registrados
3. Haga clic en el enlace a la carpeta de inicio
4. Abra la tabla de datos Holiday List.jmp y agregue, elimine o cambie las fechas para excluirlas.
5. Guarda el archivo
Para ejecutar el complemento : seleccione dos columnas de fecha en su tabla de datos y luego seleccione el elemento NETWORKDAYS de su menú Add-Ins ==> Custom Functions.
Tenga en cuenta que la columna de fórmula responderá a los cambios de datos; sin embargo, si se agrega una nueva fecha fuera de las fechas mínima y máxima originales, la función NETWORKDAYS debe volver a ejecutarse para tener en cuenta los días de fin de semana incluidos en el nuevo rango.
¿Interesado en usar fórmulas?Mi diario con fórmulas incrustadas te puede interesar
Add-in creates column with # of whole days between dates in 2 selected columns.Add-in creates column with # of whole days between dates in 2 selected columns.El complemento crea una columna con el número de días completos entre fechas en 2 columnas seleccionadas.
UtilidadesRe: Función DÍAS DE LA RED@jerry_cooper este complemento es muy útil y lo estoy usando para calcular el tiempo de respuesta promedio para que mi laboratorio cumpla con las solicitudes analíticas. Me pregunto si me puede ofrecer algunas sugerencias: a veces recibimos las solicitudes en días festivos y para esas solicitudes el reloj comienza el siguiente día hábil. Este complemento cuenta el día de envío en el cálculo del día de la red. ¿Sería posible hacer algunos cambios en los scripts para que no calcule el día de inicio si cae en uno de los días festivos?
Re: Función DÍAS DE LA RED¡Creo que lo tengo funcionando! Tuve que hacer algunos cambios:
1. Agregue el argumento "fraccional" a las funciones de diferencia de fechas.
2. El factor "+ 1" en la fórmula ya no es necesario y debe eliminarse.
3. Eliminé la cláusula Modulo 7 == 0 según las instrucciones para mantener el sábado como día laboral.
4. Me di cuenta de que si incluyo días festivos que ocurren en domingo en la lista de días festivos (como lo hizo el Año Nuevo 2017), se restan dos veces (una por ser domingo y otra por ser un día festivo), por lo que no se permiten días festivos en domingo. la lista.
Con eso, lo probé en varios ejemplos y parece funcionar correctamente.
Gracias de nuevo, Jerry!!!!
Re: Función DÍAS DE LA RED¡Gracias, Jerry! Tomaré en cuenta tus sugerencias y te avisaré si sale como esperaba. Esto es genial.
Re: Función DÍAS DE LA REDHola John,
Me alegro de que hayas encontrado útil el complemento. En respuesta a tus preguntas:
1. Sí, agregar el argumento "fraccional" a las funciones de diferencia de fecha debería proporcionarle días parciales. Mis pruebas superficiales confirmaron esto, pero asegúrese de que sus resultados sean los que espera; o).
2. Cambiar qué días de "fin de semana" excluir es fácil; sin embargo, esto requerirá modificar el script incluido. El complemento funciona mediante la creación de una matriz de días para excluir; esto se denomina "exclusiones". La matriz de "exclusiones" se compone de los días festivos y todos los sábados y domingos entre las fechas máxima y mínima de las dos columnas de fechas elegidas. Puede ver los valores reales de las "exclusiones" haciendo doble clic en la fórmula en el editor de fórmulas (estos están en formato de fecha JMP, es decir, número de segundos desde el 1 de enero de 1904). Para cambiar la secuencia de comandos para excluir diferentes días de la semana, haga lo siguiente:
a. Seleccione "Ver->Complementos..." en su menú JMP
b. Seleccione NETWORKDAYS en la ventana Complementos registrados
C. Haga clic en el enlace junto a Carpeta de inicio para abrir la carpeta que contiene el script
d. Haga una copia de seguridad del archivo NetWorkDays.jsl (por si acaso...)
mi. Haga doble clic en el archivo NetWorkDays.jsl para ingresar al editor de secuencias de comandos
i. Busque la línea con la función Modulo, un resto de 1 significa que encontró un domingo, un resto de 0 significa que encontró un sábado.
ii. Eliminar " | Modulo( Day Of Week( mindate ) + i, 7 ) == 0" de la instrucción eliminará el sábado de las exclusiones.
iii. Guarde el script manteniendo el mismo nombre
Por cierto, puede agregar el argumento "fraccional" a las funciones de diferencia de fecha en el script si lo desea para no tener que hacer esto después del hecho...
Espero que esto ayude.
-Alemán
Re: Función DÍAS DE LA REDAdemás, Jerry, ¿qué tal si para nosotros el sábado cuenta como día laboral, pero no el domingo? Soy un novato y no entiendo qué en su fórmula logra la exclusión de sábados y domingos.
Re: Función DÍAS DE LA REDPD ¿Simplemente agregar el argumento "fraccional" a las dos funciones de diferencia de fecha en la fórmula sería suficiente?
Re: Función DÍAS DE LA REDHola jerry,
Muchas gracias por este útil complemento. Me pregunto si podría ofrecer algunas sugerencias, ya que ya ha pensado en esto.
Necesito calcular la duración (en días fraccionarios) entre dos valores de fecha/hora excluyendo los períodos de fin de semana, es decir, excluyendo el período de 48 horas desde las 12 am del sábado por la mañana hasta las 12 am del lunes por la mañana.
Esta función NETWORKDAYS me da el número total de días laborables, pero no el número fraccionario de días laborables, entre dos fechas/horas. ¿Sería fácil modificar para dar este último?
John