3 Replies Latest reply: Jul 11, 2013 4:34 PM by Raphael Pacheco RSS

    Inner Join no Qlikview

    Thiago das Chagas cunha

      Boas pessoal, beleza?

       

      é uma dúvida bem simples é que nunca tive que fazer, tenho dois load que faço:

       

       

       

      PESAGEM:

      LOAD distinct

      Year( DATA_IN) AS ANO,

      Month(DATA_IN) AS MES,

      DAY(DATA_IN) AS DIA,

      *

      FROM [$(vPath)\MINDECTR_.QVD](qvd);

       

      e

       

      PESAGEM_DATA:

      LOAD distinct *

      FROM [$(vPath)\PESAGEM_DATA.QVD](qvd);

       

       

      precisava fazer  Inner Join onde trazer tudo da Pesagem_data que existir o Id_pesagem

       

      em select de banco é assim:

       

       

      SELECT * FROM PESAGEM P , PESAGEM_DATA PD WHERE   PD.PESAGEM_ID = P.ID

       

       

      como eu faço isso no Qlikview, por que essa pesagem data é uma tabela que repete varias vezes o valor no ID com data distintas e preciso somente de range especifico  com base na pesagem, acredito que Inner join resolveria, mas nao sei faze-lo

        • Re: Inner Join no Qlikview
          Thiago das Chagas cunha

          Pessoal seria isso?

           

           

          Inner Join (PESAGEM)

          LOAD

            ID_PESAGEM

          Resident PESAGEM_DATA;

           

           

          Eddit: Ignorem o correto é:

           

          Inner Join (PESAGEM_DATA)

          LOAD

            ID_PESAGEM

          Resident PESAGEM;

            • Re: Inner Join no Qlikview
              Rodolfo Ferreira

              Isso mesmo Thiago.

               

              Load *

              Resident PESAGEM_DATA;

               

              JOIN

              LOAD ID_PESAGEM

              Resident PESAGEM;

               

              É preciso que o ID_PESAGEM exista nas duas tabelas.

              e depois do JOIN é preciso dizer quais campos voce quer trazer da segunda tabela.

                • Re: Inner Join no Qlikview
                  Raphael Pacheco

                  Eu uso o Inner Join da seguinte forma.

                  Primeiro crio uma chave única para o relacionamento entre as duas tabelas. Para isso uso a função Autonumber(), onde separo os campos por Pipe ('|'), mas no teu caso acredito que seja a Pesagem_ID. Depois realizo o Inner Join.

                   

                  Ex:

                   

                  [Pesagem Data]:

                  LOAD Distinct

                       *,

                       PESAGEM_ID                                        as [Chave Única]

                  FROM [$(vPath)\PESAGEM_DATA.QVD](qvd);

                   

                  Pesagem:

                  LOAD Distinct

                       *,

                       ID                                                           as [Chave Única]

                  FROM [$(vPath)\MINDECTR_.QVD](qvd);

                   

                  Inner Join ([Pesagem Data]) Load *

                  Resident Pesagem;

                   

                  Drop Table Pesagem;