3 Replies Latest reply: Jul 1, 2016 9:30 AM by Mateus Souza RSS

    Selecionar itens em objeto "lista"

    Mateus Souza

      Boa tarde pessoal!

       

      Tenho um banco onde uma das colunas corresponde ao ano (2000, 2001, 2002...). Gostaria de utilizar um objeto "Lista" para estes dados, mas quero que na lista contenha apenas os últimos 5 anos, e não todos os anos existentes no banco de dados. É possível?

        • Re: Selecionar itens em objeto "lista"
          Paulo Vendruscolo Bermude

          Mateus,

           

          No seu aplicativo você irá utilizar apenas os últimos 5 anos ou não? Se sim, você pode fazer uso da clausula WHERE no seu script, veja o exemplo:

           

          tb:

          SQL SELECT campo1,

          ano

          FROM tabela

          where ano >=2012;

           

          Caso contrario, crie uma lista com um campo do tipo expressão:

           

          exemplo: =if(ano>=2012,ano)

            • Re: Selecionar itens em objeto "lista"
              Mateus Souza

              Bom dia Paulo!

               

              A expressão resolveu o problema. Muito obrigado!

               

              Mas fiquei interessando pela opção de selecionar os anos diretamente no script. Estou com o script da seguinte forma:

               

              LOAD CODFIL,

              YearName(MESANO) as [ANO],

              Month(MESANO) as [MES],

              CTARED,

              DEBMES,

              CREMES,

              SALMES;

              SQL SELECT *


              Como faria para carregar apenas os anos de 2010 a 2015, por exemplo?

            • Re: Selecionar itens em objeto "lista"
              Jonas Melo

              Olá, mateustorquato.

               

              Se o seu objetivo é criar uma lista através da tabela, você pode fazer desta forma:

               

              LOAD

              Concat(chr(39)&Ano&chr(39),',')                           as ListaAno

              FROM

              <nometabela>.qvd

              (qvd)

              WHERE

              Ano >= Year(Today(1))-4;

               

              LET listaEmpresa = Peek('ListaAno');

               

              Caso queira criar uma lista no front-end, você pode usar ValueLoop();

              Ex.:

              ValueLoop(Year(Today(1))-4,Year(Today(1)),1);

              Espero que ajude!