Hola a todos,
Y dado que ya he inaugurado la posibilidad de crear UDF’s en Power Apps, no he podido resistirme a crear dos funciones muy típicas, estas son: calculas días laborables entre dos fechas y calcular días naturales entre dos fechas.
Para ello vamos escribir estas dos funciones en la propiedad Formulas de nuestra App:

//Creamos funcion para calcular días laborables
DiasLab(Inicio: DateTime; Final: DateTime): Number =
CountRows(
Filter(
Sequence(
DateDiff(Inicio; Final; TimeUnit.Days) + 1
);
Weekday(Inicio + Value - 1) in [2; 3; 4; 5; 6]
)
);;
//Creamos funcion para calcular días naturales
DiasNat(Inicio: DateTime; Final: DateTime): Number =
DateDiff(Inicio; Final; TimeUnit.Days) + 1 ;;
Una vez que tenemos las funciones creadas, las pasamos a variables en la propiedad OnSelect del botón Calcular días:
Set(TdiasLab;DiasLab(txtInicio.Text;txtFin.Text));;
Set(TdiasNat;DiasNat(txtInicio.Text;txtFin.Text))
Y luego colocamos cada variables en la propiedad text de cada textInput. Con el siguiente resultado:

Para finalizar he decidido crear otra función para comprobar si el año que seleccionamos es o no es bisiesto:
//Creamos función para comprobar si año es bisiesto
EsBisiesto(Year: Number) :Boolean=
If(
Mod(Year; 4) = 0;
If(
Mod(Year; 100) <> 0 || Mod(Year; 400) = 0;
true;
false
);
false
);;
Y pasamos la función a una variable en la propiedad OnSelect del botón Comprobar año bisiesto:
If(EsBisiesto(txtBis.Text); Set(Comprobacion; "Es Bisiesto"); Set(Comprobacion; "No es Bisiesto"))

Por otra parte, no he incluido la función de año bisiesto en los cálculos de las funciones de los días, he preferido dejarla a parte para que el usuario compruebe si es bisiesto y lo tenga en cuenta en los resultados.
Por supuesto, el botón Reset es para dejar en blanco las tres variables que estamos usando:
Set(TdiasNat;Blank());;
Set(TdiasLab;Blank());;
Set(Comprobacion;Blank());;
Y esto es todo!!
Espero que sea de utilidad!!
