Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
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
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.