2 Replies Latest reply: Jul 23, 2014 7:52 AM by thiago martignoni RSS

    Fórmula em Lista

      Estou com um problema em alguns documentos que desenvolvi.

      Meu problema está na necessidade de criar algumas fórmulas para capturar intervalos de dados nas listas, como por exemplo:

      Tenho vários contratos com diversas pessoas em cada contrato, gostaria de criar uma lista que ficasse da seguinte forma:

      Contratos com + de 10 pessoas

      Contratos de 5 a 9 pessoas

      Contratos de 3 a 5 pessoas

      Contratos até 3 pessoas

       

      No momento em que selecionasse qualquer um desses resultados retornados na lista, automaticamente ele selecionaria todos os contratos que possuem a condição.

       

      O detalhe é que na minha base de dados é necessário realizar a fórmula de soma ou de contagem para juntar as pessoas por contrato.

       

      Gostaria da ajuda de vocês para poder solucionar o meu problema.

       

      Obrigado.

        • Re: Fórmula em Lista
          Felipe Dutra

          Thiago,

           

          Existe alguma tabela carregada que contenha na mesma linha o identificador do contrato e o número total de pessoas ligadas a ele?

           

          Se sim:

          Ao carregar essa tabela faça a verificação usando ifs

          Ex:

          If(QtdePessoas>10, 'Contratos com + de 10 pessoas',

               If(QtdePessoas>5, 'Contratos de 6 a 10 pessoas',

                    If(QtdePessoas>3, 'Contratos de 4 a 5 pessoas',

                         'Contratos até 3 pessoas'))) as FaixasQtdePessoas

           

          Se não:

          Faça essa contagem por contrato e depois a verificação.

          Ex:

               TMP:

               Load

                    ContratoId,

                    Cout(PessoaId) as QtdePessoas

               FROM ...

               Group By ContratoId;

           

               Left Join(Contratos)

               Load

                    *,

                    If(QtdePessoas>10, 'Contratos com + de 10 pessoas',

                         If(QtdePessoas>5, 'Contratos de 6 a 10 pessoas',

                              If(QtdePessoas>3, 'Contratos de 4 a 5 pessoas',

                                   'Contratos até 3 pessoas'))) as FaixasQtdePessoas

               Resident TMP;

               Drop Table TMP;

           

          Abs,

          Felipe

            • Re: Re: Fórmula em Lista

              Então cara, minha tabela esta mais o menos assim:

               

              NUMERO CONTRATO | NOME CONTRATANTE (EMPRESA) | ID PESSOA | NOME PESSOA | IDADE | ENDEREÇOS| DATAS

               

              Seria como uma listagem das pessoas em cada contratante com suas informações pessoais.

               

              Vou tentar usar a dica que você me passou.

               

              Obrigado.