1 votos

No puedo conseguir que la función array_foreach funcione

Tengo un campo STRING con valores. Cuando quiero aplicar algún texto adicional después de cada valor utilizando una función de matriz, obtengo el texto añadido al final de toda la cadena inicial en lugar de cada valor. He probado con valores separados por espacios, valores separados por comas, valores separados por comas con espacios pero nada funciona.

Los valores pueden ser números o letras, como 1 5 XY por ejemplo.

He aplicado la siguiente expresión en una calculadora de campo virtual:

array_to_string( array_foreach( array("values"),@element || 'sometext' ), ' ' )

QGIS me devuelve:

1 5 XYsometext

en lugar de:

1sometext 5sometext XYsometext

3voto

Braiam Puntos 120

Llamando a array("values") básicamente estás creando un array de 1 elemento que contiene toda la cadena.

En su lugar, o bien el campo es un array y puedes utilizarlo directamente, o bien es una cadena y tienes que crear primero el array

array_to_string( array_foreach( string_to_array( '1 2 XY',' ',''),@element || 'sometext' ), ' ' )

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X