2 Replies Latest reply: Apr 8, 2015 11:15 AM by Edson Lana RSS

    Where exists com where

    Edson Lana

           Boa tarde,

       

      Eu tenho a extração dos meus dados com um where exists, funciona perfeitamente. O que me deparei agora foi, alem de ter o where Exists eu preciso de outro where comparando datas, ou seja, Load *, where exists ('CampoA', campoB) e que me traga tambem só dados com data maior ou igual ao mes atual ja tenho essa condição seria : Mês >= num(month(Today())), pois só tenho informação de mês e não a data toda.

       

      As duas dão certo separadamente mas como coloco isso no mesmo where, traga só o que existe e o que for maior ou igual ao mes atual?

       

      LOAD Indicador4

      FROM

      TESTEDATA.xlsx

      (ooxml, embedded labels, table is Plan2);

       

      LOAD

      Data1,

      data2,

      tres,

      'Orçado' as Campo1,

      Indicador,

        Valor

      FROM

      TESTEDATA.xlsx

      (ooxml, embedded labels, table is Plan1)

      where  (num(tres) >= num(month('01/04/2015'))  and Campo1='Real') ;

       

      que me faça o where e que o indicador seja somente o que há no Indicador4

       

      Espero ter conseguido explicar minha duvida, se puderem me ajduar agradeço.

        • Re: Where exists com where
          Alessandro Furtado

          Bom dia twister8.

           

          Eu não entendi direito.   Você poderia ter o seu Where com as condições que quer

           

          Where Exists(Campo1) and num(Mes) >= num(month(Today())) and Exists(Campo2)

           

          Outra forma de fazer seria com um LOAD sobre outro LOAD

           

          LOAD

                 A,

                 B,

                 C

                 Where C > 1000;

          LOAD

                 A,

                 B

                 sum(C)       as C

          From Tabela group by A,B;

           

          ou ainda fazer um tmp

           

          Tmp:

          LOAD

                 A,

                 B

                 sum(C)       as C

          From Tabela group by A,B;

           

          Final:

          LOAD

                 A,

                 B,

                 C

          Resident Tmp  Where C > 1000;

          drop table Tmp;

           

           

          Claro que aqui os exemplos foram para mostrar como você teria algumas opções para fazer, não dizendo qual seria a mais correta pois como em muitas outras coisas com o QlikView,  tudo depende......

           

          AMF