Hitachi Vantara Pentaho Community Forums
Results 1 to 6 of 6

Thread: Pasos con seleccion de campos utilizando variables

  1. #1
    Join Date
    Jul 2009
    Posts
    25

    Default Pasos con seleccion de campos utilizando variables

    Hola a todos,

    estoy realizando una transformación en donde tengo los siguientes pasos, todos consecutivos uno detrás de otro:

    1. - Mondrian Input
    2. - Selecciona/Renombra valores
    3. - Valor Java Script Modificado
    4. - Output to ARFF file

    mi objetivo es llegar a contruir un archivo arff "determinado", que para ello uso los pasos 2 y 3, en estos pasos lo que hago es una selección de las columnas generadas en el paso mondrian input,
    mi problema es que yo quiero utilizar parámetros (variables) en el paso Mondrian Input para ejecutar la transformación mediante pan, y el problema que no consigo resolver es que esta transformación sólo me vale para poder pasarle una variable, ya que en los siguientes pasos dependiendo de la consulta mdx se generan unos determinados valores que tienen que estar especificados en los pasos 2, 3 y 4 y que no consigo hacerlos variables, o sea, que si paso una variable diferente a la primera me da el error Selecciona/Renombra valores.0 - ERROR (version 3.2.0-GA, build 10572 from 2009-05-12 08.45.26 by buildguy) : No se ha podido encontrar el campo, o sea,

    dependiendo de la va variable que le pase a la consulta mdx me va a dar cada vez diferentes valores, y yo lo que quiero es contruir una tranformación general para que pasandole parametros se genere un archivo determinado, mi duda es si los campos en los pasos 2,3 y 4 se pueden reprensentar mediante variables. También he intentado utilizar los pasos Asignar valor a variables y obtener variables en un trabajo pero no consigo llegar a mi objetivo.

  2. #2
    Join Date
    Sep 2007
    Posts
    834

    Default

    hola,
    Esto que estas intentando hacer no es posible asi tal cual lo planteas.
    Quizas conociendo mas detalle de lo que intentas hacer con los pasos 2, 3 y 4 de tu transformacion, podria pensar en alguna alternativa.

    saludos,

  3. #3
    Join Date
    Jul 2009
    Posts
    25

    Default

    Hola,
    gracias por tu rápida respuesta.

    Voy a explicar detalladamente lo que hago en cada paso:

    1. Mondrian Input: aquí le paso a la consulta mdx una variable, un ejemplo de la estructura de datos que siempre voy a tener es:

    Fecha A B C D
    [Fecha][Abril][1] 234,9 33 344,445 445,0999
    [Fecha][Abril][2] 233,33344
    ......................
    [Fecha][Abril][31]

    en donde Fecha, A, B, C, D son los nombre de los campos

    dependiendo de la variable que le pase a la consulta mdx el resultado va ser diferente en el valor de las columnas, o sea, A,B,C Y D, por ejemplo si paso otra variable el valor de A, B, C, D ya no serían esos, sino que pueden ser E, F , G y H: el problema radica aquí en que el nombre de las columnas me cambian dependiendo la variable.

    2. Selecciona/Renombra valores: aqui lo único que hago es en la parte de meta-información poner a formato #######.### los campos A, B, C y D ya que para la consulta mdx muestra los decimales con una coma y para weka es necesario el punto porque sino los reconoce como otro dato.


    3. Valor Java Script Modificado: hago:

    var dia = Fecha.substr(59,61);
    dia.replace("]", "");

    para que solo me coja el valor del dia y no toda la cadena


    4. Output to ARFF file

    aqui ya selecciono sólo los campos dia, A, B, C y D


    y siempre el problema son los campos A, B, C y D ya que son variables
    Last edited by manolot9; 06-21-2010 at 05:03 AM.

  4. #4
    Join Date
    Sep 2007
    Posts
    834

    Default

    Hola
    por lo que entiendo, dependiendo de la variable, solo cambiarian los nombres de las columnas, pero la cantidad y el tipo siempre va a ser el mismo. Es asi?
    En ese caso, una cosa que se me ocurre seria:
    una ktr que haga la lectura de mondrian, y envie el resulset a un archivo de texto. Si no especificas nada en la solapa fields, kettle envia todos los datos, es decir, todo lo generado con el mondrian input.
    en una segunda ktr, lees el archivo, y especificas como fields nombres de columnas genericas, por ej. a,b,c,d. Kettle no exige ni valida que los nombres que colocas aca coincidan con los que figuran en el archivo. (Es mas, en realidad ni siquiera es necesario que el archivo lo generes con encabezados)
    A partir de ahi, creo que el resto lo podrias hacer sin problema. En este caso, el select values ya no haria falta. El formato lo podes aplicar en el text file input directamente.
    espero que esto sirva,
    saludos,

  5. #5
    Join Date
    Jul 2009
    Posts
    25

    Default

    Si, solo cambian el nombre de las columnas.

    Esta mañana se me ocurrió tu mismo consejo, pero sólo pasando a archivo de excel y no a texto (es lo mismo jejej), y funciona perfectamente como bien explicas; lo único que veo que me parece "una chapuzilla" utilizar un archivo intermedio, aunque ya que llevo varios días trabajando en lo mismo y el resultado esperado es alcanzado como bien has explicado.

    Gracias y enhorabuena por tener esos "conocimientos" impresionantes que nos ayudan a todos nosotros de una forma tan cordial con vuestras atentas respuestas.
    Last edited by manolot9; 06-21-2010 at 10:57 AM.

  6. #6
    Join Date
    Sep 2007
    Posts
    834

    Default

    me alegro que te haya funcionado de esa manera.
    y es verdad, es una "truchada" como diriamos aca, pero por el momento no veo otra opcion,
    saludos

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.