Hola a todos,
No hace mucho tiempo tuve que trabajar con una serie de datos cuya estructura no se adaptaba bien al proyecto en Power Apps en el que estaba trabajando.
La entrada de datos que estaba recibiendo era la siguiente:
Manzana; Naranja; Pera; Plátano; Uva; Fresa; Kiwi; Mango; Piña; Sandía; Melón; Papaya; Durazno; Cereza; Frambuesa; Mora; Limón; Lima; Pomelo; Aguacate; Coco; Lichi; Mandarina; Albaricoque; Grosella; Higo; Guayaba; Granada; Ciruela; Zarzamora; Arándano; Chirimoya; Maracuyá; Tamarindo; Caqui; Guanábana; Carambola; Noni; Rambután; Longan; Mangostán; Níspero; Nuez moscada; Jackfruit; Durian; Atemoya; Pitahaya; Kumquat; Membrillo; Zapote
En este ejemplo voy a usar una lista de nombres de frutas. La estructura era, fruta + punto y coma + espacio y lo tenía que mostrar toda esa lista en una única columna. La forma de resolverlo fue muy sencilla, dado que únicamente requería mostrar los datos:
Fue así como lo logré:
![](https://i0.wp.com/excelsignum.com/wp-content/uploads/2024/01/SEPARAR-TEXTO-Y-MOSTRAR-DATOS-EN-COLUMNA-O-EN-UNA-GALERIA.png?resize=980%2C766&ssl=1)
Como podéis ver, tan solo he tenido que usar la función sustituir y aplicarla cuando los caracteres o la cadena era un punto y coma y un espacio: «; » y sustituirlo por un salto de carro, Char(13).
Substitute(TextInput2.Text; "; ";Char(13))
El resultado es el que veis.
Pero que sucedería si, por ejemplo, tengo que mostrar los datos en dos galerías y la mitad del listado de frutas en cada una de ellas?
Para hacer eso, vamos trabajar con colecciones.
En el primer textInput2 vamos insertar este código en la propiedad OnChange:
//Creamos la primera colección, con el detalla de todas las frutas
ClearCollect(
ColFrutas;
Split(TextInput2.Text; "; ")
);;
//creamos dos colecciones para cada galería.
//usando las funciones FirstN y LastN podemos extraer los datos.
Set(totalFrutas; CountRows(ColFrutas));;
ClearCollect(ColGaleria1; FirstN(ColFrutas; RoundDown(totalFrutas/2;0)));;
ClearCollect(ColGaleria2; LastN(ColFrutas; RoundUp(totalFrutas/2;0)));;
De forma que en el momento en que el modifiquemos el contenido se creará una colección que luego vamos a dividir en otras dos colecciones usando las funciones FirstN y LastN.
![](https://i0.wp.com/excelsignum.com/wp-content/uploads/2024/01/SEPARAR-TEXTO-Y-MOSTRAR-DATOS-EN-COLUMNA-O-EN-UNA-GALERIA2.png?resize=1024%2C556&ssl=1)
Obviamente tenemos que poner cada colección como fuente de datos de cada galería.
Podéis adaptar el código según vuestras necesidades, y programar que las galerías se refresquen automáticamente o que se muestre otra galería, etc.
Por cierto, la solución de las colecciones también sirve para mostrar una única columna con los datos, sería la colección: colFrutas en una galería.
Espero que sea de utilidad.
¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.
¡¡Muchas gracias!!
Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies