27 julio, 2026

CREAR CUSTOM FUNCTIONS EN POWER APPS: EJEMPLO CON SWITCH E IF

Hola a todos,

Hace unos días me preguntaban como se podría hacer una custom function en Power Apps, el asunto es que querían utilizar la función para obtener la generación de una persona según su fecha de nacimiento: Generación Z (1997 en adelante) · Millennial (1981–1996) · Generación X (1965–1980) · Baby Boomer (1946–1964) · Generación anterior (antes de 1946)

Bien, aunque este tipo de clasificaciones en mi opinión ofrecen ciertas dudas, a nivel funcional se puede hacer perfectamente.

La respuesta se la dejé con dos formas de hacerlo, una con IF y otra con SWITCH. En este caso, quizás lo más eficiente es el If ya que estamos trabajando con condiciones diferentes, mientras que SWITCH es más apropiado cuando podemos obtener varias coincidencias posibles.

En cualquier caso, os voy a dejar las UDF’s:

Y aquí en código:

ObtenerGeneracionSwitch(FechaNacimiento: Date): Text =
    Switch(
        true;
        Year(FechaNacimiento) >= 1997; "Generación Z";
        Year(FechaNacimiento) >= 1981; "Millennial";
        Year(FechaNacimiento) >= 1965; "Generación X";
        Year(FechaNacimiento) >= 1946; "Baby Boomer";
        "Generación anterior"
    )
;;

ObtenerGeneracionCondicion(FechaNacimiento: Date): Text =
    If(
        Year(FechaNacimiento) >= 1997; "Generación Z";
        Year(FechaNacimiento) >= 1981; "Millennial";
        Year(FechaNacimiento) >= 1965; "Generación X";
        Year(FechaNacimiento) >= 1946; "Baby Boomer";
        "Generación anterior"
    )
;;

Una vez que tenemos la información en la pantalla App la Custom ya funciona.

El botón de fecha se llamará txtFecha y vamos a colorar en los label donde mostraremos la información o resultado:

Antes de mostrar resultado vamos a tener en cuenta, que sea fecha y que tenga10 posiciones:

En el primer label:

With(
    {
        varFecha:
            IfError(
                DateValue(
                    txtFecha.Text;
                    "es-ES"
                );
                Blank()
            )
    };
    If(
        Len(txtFecha.Text) = 10 &&
        !IsBlank(varFecha);
        ObtenerGeneracionSwitch(varFecha);
        ""
    )
)

En el segundo label:

With(
    {
        varFecha:
            IfError(
                DateValue(
                    txtFecha.Text;
                    "es-ES"
                );
                Blank()
            )
    };
    If(
        Len(txtFecha.Text) = 10 &&
        !IsBlank(varFecha);
        ObtenerGeneracionCondicion(varFecha);
        ""
    )
)

El resultado es el que podéis observar. Con la Custom, podemos invocar la función desde cualquier parte de la App y resulta muy sencilla de utilizar.

Pues eso, que soy generación X

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