17 abril, 2024

UDF PARA CALCULAR LA EDAD A PARTIR DE LA FECHA DE NACIMIENTO CON POWER APPS

Hola a todos!

Una tarea muy habitual en cualquier tipo de trabajo en análisis de datos es el cálculo de la edad a partir de la fecha de nacimiento. Existen multitud de funciones para generar esta información según el programa o plataforma que utilicemos, pero en el caso de Power Apps tenemos la función DateDiff, pero no tiene en cuenta la fecha de cumpleaños, simplemente extrae la diferencia entre años, o lo que es lo mismo, nuestra edad a 31/12/ del año actual.

Set(Edad;(DateDiff(TextInput1.Text; Today();TimeUnit.Years)))

Para poder realizar correctamente el cálculo debemos iniciar con la diferencia en años, luego verificar si la fecha de nacimiento ya ha pasado en el año actual que estamos, si es así, entonces utilizaremos la diferencia de años que hemos calculado, en caso contrario restamos un 1 para obtener la edad correcta.

Es decir, que podemos usar esta expresión para el cálculo de la edad y además transformarlo en una UDF o función definida por el usuario para aplicar en cualquier parte de la aplicación.

Y podemos hacerlo de dos formas:

CalcularEdad(FechaNacimiento: Date):Text =
    If(
        Month(Today()) > Month(FechaNacimiento) ||
        (Month(Today()) = Month(FechaNacimiento) && Day(Today()) >= Day(FechaNacimiento));
        Year(Today()) - Year(FechaNacimiento);
        Year(Today()) - Year(FechaNacimiento) - 1
    );;


CalcularEdadV2(FechaNacimiento: Date):Text =
If(
    Month(Today()) < Month(FechaNacimiento) || 
    (Month(Today()) = Month(FechaNacimiento) && Day(Today()) < Day(FechaNacimiento));
    DateDiff(FechaNacimiento; Today(); TimeUnit.Years) - 1;
     DateDiff(FechaNacimiento; Today(); TimeUnit.Years)
);;

O bien usando la diferencia entre años con la función Year o usando la función DateDiff.

Entonces podemos aplicar esta función en cualquier parte del proyecto, por ejemplo en una galería. En la imagen que os muestra he aplicado las dos función y como podéis observar el resultado es el mismo:

Y esto es todo, espero que sea de utilidad!!

Saludos.

Comparte este post

Si te ha gustado o tienes alguna duda, puedes dejar aquí tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies