Diferencia de FECHAS Power Automate (Ep. 13)

InicioPower TutorialesDiferencia de FECHAS Power Automate (Ep. 13)

En este articulo miramos como extraer el número de días o de horas, la diferencia entre dos fechas Power Automate, también el método para que excluya los fines de Semana y festivos.

Diferencia fechas Automate

La diferencia entre dos fechas en Power Automate se puede calcular de diferentes maneras, dependiendo de las necesidades y requisitos. La diferencia se calcula en unidades tales como días, horas, minutos o segundos.

Vamos a ver los 3 métodos porque también te puede interesar excluir los fines de semana y festivos.

Diferencia de días u horas brutos | Método 1

Este es el método más clásico y sencillo para extraer los días u horas entre 2 fechas de Power Automate.

Número de días entre fechas SharePoint

La expresión es la siguiente para dias:


div(sub(ticks('2023-12-11'),ticks('2023-12-01')),864000000000)

El resultado nos devolvería 10.

Recuerda modificar lo resaltado en amarillo por tus columnas, ejemplo con columnas:

div(sub(ticks(outputs('Get_item')?['body/Fecha2']),ticks(outputs('Get_item')?['body/Fecha1'])),864000000000)
Flujo diferencia entre fechas

Numero de hora entre fechas

Es el mismo método que el de arriba, pero cambias el número del final:

div(sub(ticks('2023-12-11'),ticks('2023-12-01')),36000000000)

El resultado que devuelve es 168.

Diferencia de días excluyendo fin de semana | Método 2

Tal vez te interesa excluya sábado y domingo y no realice el conteo, es posible, aunque hay que agregar más pasos, también advertirte que este método solo extrae el número de días y no horas.

Vamos a ponernos el caso que el cálculo de días lo realizamos al estar rellanado la columna ‘Fecha Aprobacion’ cuando se modifica el elemento de SharePoint.

Diferencia entre fechas SharePoint

Resultado:

Diferencia de dias entre fechas

Flujo Power Automate excluyendo fines de semana

Inicio flujo

Hay un proceso de aprobación entonces lo primer es iniciar el flujo automático cuando se modifica un elemento.

Cuando se modifica un elemento Sharepoint lanzar flujo.

Adicionalmente en la Configuración en el disparador vamos a añadir la siguiente fórmula para que evitar que se lance si se modifica y la columna no ha sido rellenada.

@not(equals(triggerOutputs()?['body/FechaAprobacion'],null))

Nota:

  • Cambia lo resaltado en amarillo por el nombre de tu columna fecha en SharePoint.

Aun así no nos garantiza que se lance solo cuando se modifique esa columna porque puede estar rellena y modificar otro parámetro y se volverá a recalcular, si no queremos que esto pase tenemos que agregar la siguiente opción.

Las siguientes acciones hace que el flujo continue si la columna ‘Fecha Aprobación’ se modificó y si no se ha modificado termina el flujo sin hacer ningún calculo.

Ejecutar flujo cuando columna ha sido cambiada

Nota: Este paso solo hazlo si hay posibilidad de que sigan modificando otros parámetros una vez insertada las fechas.

Cálculos de días en el flujo

Ahora volvemos a hacer lo que hicimos en el método 1 el cálculo de días en bruto en un compose por ejemplo.


div(sub(ticks(triggerOutputs()?['body/FechaAprobacion']),ticks(triggerOutputs()?['body/FechaSolicitado'])),864000000000)

Y Ahora lo que vamos a realizar para excluir los fines de semana es lo siguiente:

Para poder ver este contenido tienes que:

Iniciar sesión Suscribirse

Final del flujo

Ya hemos terminado los cálculos para extraer el número de días sin contar los fines de semana podemos ver el resultado en un ‘Compose’ (Redactar en español).

length(body('Filter_array'))
Resultado de numero de días entre fechas excluyendo fines de semana

Después podremos usar ‘Update item’ (Actualizar elemento en español), para actualizarlo en nuestra columna de SharePoint.

Notas:

  • La expresión lo puedes usar directamente en el Update item y ahorrarte la acción anterior.
  • Puedes mejor actualizar elemento de la siguiente forma para solo actualizar una columna.

Diferencia de días excluyendo festivos | Método 3

Si te interesa excluir festivos estas de enhorabuena porque es compatible con el método 2 o hacerlo solo con festivos. La diferencia es que usaremos de apoyo una lista de SharePoint para almacenar todos estos festivos a diferencia de los fines de semana que lo procesábamos todo dentro del flujo.

Crear Lista de festivos

Lo primero es crearnos una lista de nuestros festivos con 2 columnas (Titulo y una de fecha nos sirve), en este ejemplo uso 2 días de festivos, pero puedes añadir todos los que quieras.

Lista de festivos SharePoint

Calculo para no contar festivos

Ahora vamos a proceder a no contar los festivos que tengamos insertado en nuestra lista puedes continuar con el método 2 de excluir los fines de semana que es como lo haremos.

La explicación tiene un poco de complejidad, pero es sencillo en el fondo, prefiero contártelo en un video de 7 minutos:

Para poder ver este contenido tienes que:

Iniciar sesión Suscribirse

Contenido relacionado con Power Platform