Funciones de consulta

Acabamos de ver que es posible definir una función en el bloque let de una consulta M e invocar esa función desde cualquier punto del código. Pero una de las mejores características de este tipo de funciones es que pueden ser creadas como consultas independientes, estando así disponibles desde cualquier otra consulta. Este tipo de funciones se denominan funciones de consulta o query functions en inglés.

Para verlo vamos a añadir el siguiente código a nuestra Consulta1 (sin especificar los bloques let ni in, y sin asignar un nombre a la función):

(text1, text2) => text1 & " " & text2

Funciones personalizadas

En esta consulta estamos definiendo una función que recibe dos argumentos de entrada (que se presuponen textos) y devuelve la concatenación de ambos textos separados por un espacio en blanco. Pero no estamos concretando esos argumentos de entrada...

Ahora, si hacemos clic en el botón Listo, veremos que el icono que representa esta consulta en el panel de consultas nos indica que la consulta devuelve una función (resaltado en rojo en la siguiente imagen), y en el centro de la interfaz se nos invita a escribir argumentos para la función:

Funciones personalizadas

Para hacer la función más fácilmente interpretable, podemos cambiar el nombre de la consulta a, por ejemplo, concatenación (para lo que tenemos varias opciones, por ejemplo, haciendo doble clic encima del nombre actual, Consulta1, y escribiendo el nuevo):

Funciones personalizadas