jueves, 21 de marzo de 2013

Concatenar cadenas

Hay varias opciones para concatenar cadenas en una transformación con Spoon. Aunque hay que admitir que no son del todo obvias.
La primera opción és utilizar el paso Calculator. Con la operación A+B, si los campos A i B son cadenas el resultado será la concatenación de las mismas.
 Definimos un step Data Grid con dos campos:


Definimos un step calculator con la suma de los dos campos que almacenaremos en el nuevo campo CAMPO_HOLA_MUNDO:


El resultado que obtenemos en una previsualización és el siguiente:


Como vemos, la suma de dos strings és la concatenación.


Otra opción és usar un paso JavaScript. Nuevamente al sumar dos variables de tipo String, obtendremos la concatenación. 
Cambiamos el step calculator por un step Java Script :

 Editamos el step tal como indica la figura siguiente:



Como vemos cuando probamos el script el resultado és el mismo.

12 comentarios:

  1. Buenas tardes,
    Estoy creando procesos ETL con Pentaho Data Integration y desearía saber como activar en la solapa ‘execution results’ la opción para ver la tabla temporal creada en cada paso de transformación. Por ejemplo, en un paso de lectura poder ver una tabla con los registros que ha leído. Estoy en la versión spoon 3.2.0.
    Un saludo, gracias,

    ResponderEliminar
  2. Desde la solapa "Execution results" no se puede ver. Yo lo que hago es seleccionar el paso que quiero comprobar y le doy al botón derecho del ratón, en el menú desplegable escoges la opción PREVIEW. Se ejecutará hasta ese paso y te mostrará los datos en ese punto del proceso. Puedes indicarle el número de registros que quieres ver. Por defecto te muestra los 1000 primeros.

    ResponderEliminar
  3. gracias Joan Carles!!!, ya te preguntaré más cosillas.
    Muy útil tu blog
    Por si estás interesado en temas de SAS: http://sasybi.blogspot.com

    ResponderEliminar
  4. Hola Joan Carles,
    ¿Sabes si pentaho tiene algún componente par obtener datos de web?.
    Me refiero por ejemplo a bajar tablas de datos de web en formato JSON.
    Gracias,

    ResponderEliminar
    Respuestas
    1. Quizás la versión 3.2.0 aun no lo tiene, pero la 4.4 que yo uso tiene el paso input JSON

      Eliminar
  5. Otra preguntilla, cuando utilizo el componente 'get xml' en ningún momento me pide el fichero XSD correspondiente a ese XML. En mi caso es un XML con una tabla de datos muy sencilla, ¿pero puede leer XML complejos?

    ResponderEliminar
    Respuestas
    1. Hay otro paso en Validation -> XSD Validator. Le passas el XML i el XSD i te lo valida.

      Eliminar
  6. Gracias Joan Carles.
    Una pregunta quizás básica: en una transformación en 'movimiento de datos'
    da la opción 'distribuir datos a pasos siguiente' y 'copiar datos a pasos siguientes'.
    ¿Qué diferencia hay?
    Gracias,

    ResponderEliminar
    Respuestas
    1. Distribuir no transmite todos los datos a los dos pasos sino que los distribuye. Unos iran a un paso y otros a otro. En cambio copiar si que transmite todos los datos a los dos pasos siguientes, por tanto se multiplican por cada camino.

      Eliminar
  7. Gracias Joan Carles.
    Una pregunta relativa a los componentes de acceso a BBDD.
    ¿Sabes si se conecta y extrae los datos vía sql nativo o vía ODBC?
    gracias,

    ResponderEliminar
  8. Otra preguntilla, en un componente javascript:
    ¿se pueden crear campos nuevos en el output de salida?.
    Quiero crear un campos nuevo derivado de uno de entrada, el de entrada lo obtengo
    como campos_entrada.getString(), pero no consigo crear el de salida.

    Gracias!

    ResponderEliminar