2 Replies Latest reply: Apr 15, 2016 7:55 PM by eduardo valadez RSS

    Tabla residente sin crear

    eduardo valadez

      Buenas tardes comunidad , soy nuevo en esto y creo que mi error es simple pero creo que ya me cicle.

      El detalle es el siguiente:

       

      PlantaX:

      LOAD

           Key_WC,

           Sociedad_Prod,

           if(mid(Planta_Puesto_Trabajo,3,2)='01',

           replace(Planta_Puesto_Trabajo,'01','A1'),Planta_Puesto_Trabajo) as Planta_Puesto_TrabajoX

          

      FROM D:\QlikView\Datos\PP\Qvds\Produccion_PuestosTrabajo.qvd (qvd)

      where Sociedad_Prod='XXX';

      concatenate

       

      PlantasinX:

      LOAD

           Key_WC,

           Sociedad_Prod,

        Planta_Puesto_Trabajo as Planta_Puesto_TrabajoX

          

      FROM D:\QlikView\Datos\PP\Qvds\Produccion_PuestosTrabajo.qvd (qvd)

      where Sociedad_Prod <>'XXX';

       

      Aquí le estoy diciendo a QV que, en la primera tabla utilice 2 dimensiones mas un campo que evalúa el puesto de trabajo(YY01) y si los últimos 2 caracteres son '01', los cambia a 'A1', y en el WHERE le digo que solo de una sociedad en especifico, de esta manera tendré un catalogo.

       

      En la segunda tabla residente le digo que el campo Planta_Puesto_TrabajoX sea igual al campo origen y estableciendo que sea de toda la información a exepcion de la sociedad que utilice en la tabla residente anterior.

       

      Así ya tengo una tabla residente con información modificada de una sociedad y la otra es la información original de todas las sociedades menos la ya mencionada.

       

      Después hago lo siguiente:

       

      [Puestos de Trabajo]:

      Load

      *

      FROM D:\QlikView\Datos\PP\Qvds\Produccion_PuestosTrabajo.qvd (qvd);

       

      left join([Puestos de Trabajo])

      LOAD *

      Resident PlantasAQP;

      left join([Puestos de Trabajo])

      LOAD *

      Resident PlantasinX;

       

      Aqui cargo la tabla con información original contenida en un QVD y trato de hacer un left join contra las tablas residentes que ya creé, las cuales contienen 2 campos con el mismo nombre(campos numéricos) para que sean mis llaves mas la nueva columna, pero al momento de correr la aplicación me dice que una de las tablas residentes no existe. estará  mal la sintaxis?

       

      Espero y me puedan entender , y gracias de antemano por su tiempo.

        • Re: Tabla residente sin crear
          Karla Rivas

          Buen dia Eduardo,

           

          Revisando tu codigo veo que despues de cargar la tabla PlantaX tienes un concatenate, y los campos de PlantasinX son comunes con la anterior, por lo tanto Qlik uniria ambas tablas en una sola bajo el nombre de PlantaX. Por lo tanto al momento de hacer el left join no encuentra la tabla PlantasinX (y asumo que PlantasAQP fue definida anteriormente unicamente que no esta el codigo en el ejemplo que has compartido).

           

          Saludos Cordiales

           

          --Karla

            • Re: Tabla residente sin crear
              eduardo valadez

              Muchas gracias Karla.

               

              Asi es , y encontre una forma aun mas simple de evitarme todo este codigo:

               

              [Puestos]:

              Load

              *,

              if(Linea_Prod='XXX',Replace(Planta_Puesto_Trabajo,'01','A1'),Planta_Puesto_Trabajo) as Planta_Puesto_TrabajoEVC

              FROM Produccion_PuestosTrabajo.qvd (qvd);

               

              de esta manera selecciono solamente la información que necesito y la evaluó para modificara y así crear un nuevo campo.

               

              Hacia falta consultarlo con la amulada,gracias equipo.