top of page
Foto del escritorJaime Franco Jimenez

Dias para el siguiente cumpleaños

Para el siguiente ejemplo, vamos a calcular los dias que faltan para nuestro próximo cumpleaños, para ello, vamos a la pestaña de datos, dentro de obtener y transformar datos, desplegamos obtener datos, desplegamos de otras fuentes, y, seleccionamos consulta en blanco.


Una vez dentro de Power Query.


Hacemos clic con botón alternativo de ratón sobre la consulta, y, seleccionamos editor avanzado.

















Borramos origen, y, las comillas dobles.


Creamos una variable llamada Cumple, ponemos el signo igual, vamos a usar la función #date, para almacenar la fecha de cumpleaños, esta función, tiene tres argumentos que son año, mes, y, día.


Sintaxis

#date(year as number, month as number, day as number) as date


Pues, ponemos dicha función, como argumento año, ponemos 2023, como argumento mes, ponemos 5, como argumento día, ponemos 17, cerramos paréntesis.


Dentro de in, ponemos dicha variable para probarla.









Hacemos clic en listo, y, tenemos dicha fecha.







Podemos ver en la barra de formulas, que no aparece la función, sino la fecha.


Volvemos al editor avanzado.


Creamos otra variable llamada SegundoCumple, donde vamos a sumar 1 al año de la fecha de la variable Cumple, para ello, vamos a usar la función Date.AddYear, que nos devuelve una fecha resultado de sumar o restar año o años a una fecha.


Esta función tiene dos argumentos, el primero de ellos, es la fecha para usar, el segundo argumento son los años a sumar, o, restar, si el numero es positivo se suman años, si es negativo, se restañ años.


Sintaxis

Date.AddYears(dateTime as any, numberOfYears as number) as any


Pues, después del nombre de la variable, ponemos la función, como primer argumento, ponemos la variable Cumple, coma, como argumento numero de años, ponemos 1.


Dentro de in, ponemos la variable SegundoCumple para probarla.











Clic en listo, y, vemos la fecha de cumpleaños para el año siguiente.






En este caso, si vemos la función en la barra de fórmulas.


Creamos otra variable, llamada fechaactual, donde vamos a usar la función DateTime.LocalNow(), que nos devuelve la fecha y hora actuales, dentro de in, ponemos dicha variable para probarla.









Clic en listo, y, vemos la fecha actual y la hora.






Pero la hora no la necesitamos, para quitarla, vamos a usar la función Date.From, que nos devuelve una fecha a partir de un valor, si como valor ponemos una fecha y hora, nos devuelve solo la fecha, que es lo que necesitamos.


Esta función tiene dos argumentos, el primero de ellos es el valor para usar, el segundo de ellos es opcional, e indica el país donde estamos trabajando, solo usaremos el argumento value.


Sintaxis

Date.From(value as any, optional culture as nullable text) as nullable date


Pues, ponemos dicha función, y, como argumento value, ponemos la función DateTime.LocalNow(), ponemos la variable dentro de in, y, hacemos clic en listo.










Vemos solo la fecha.






Creamos otra variable llamada dif, donde vamos a calcular la diferencia en dias entre fechaactual y Cumple, para ello, vamos a usar la función Duration.Days, que nos devuelve la diferencia de dias entre dos fechas, solo tiene un argumento que duration, que son las fechas para restar.

Sintaxis

Duration.Days(duration as nullable duration) as nullable number


Ponemos lo siguiente:










Hacemos clic en listo, y, obtenemos el valor 7, la fecha de cumpleaños es el día 17 de mayo de 2023, y, la fecha de hoy es 24 de mayo de 2023, que son los 7 dias que hay entra ambas fechas, pero, en este caso, el cumpleaños ya ha pasado, nos debe de calcular los dias que faltan para el siguiente cumpleaños.


Borramos dif de in.


Dentro de in, vamos a usar la función IF, donde preguntamos que, si la variable dif es mayor a cero, calculamos la diferencia de dias entre SegundoCumple y fechaactual, por lo que debemos de usar Duration.Days para el calculo de dias, en caso contrario, calculamos la diferencia de dias entre la variable fechaactual y la variable Cumple.








Hacemos clic en listo, como el cumpleaños para el año 2023 ya ha pasado nos devuelve los dias para el siguiente cumpleaños, que son 359 dias.







Miguel Angel Franco

14 visualizaciones0 comentarios

Comments


bottom of page