Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal,
Boa tarde!
Estou com uma problema no uso da função Max no seguinte caso:
Possuo uma base com códigos de receita e suas respectivas descrições que podem variar de acordo com o Ano.
O código 17213301 por exemplo, possui a descrição "PISO DE ATENÇÃO BÁSICA-PAB-FIXO" nos anos de 2008 e 2010, e a descrição "PISO DE ATENÇÃO BÁSICA FIXO - PAB FIXO" para os demais períodos, dessa forma, eu tentei retornar o dado mais atual através da função Max, abaixo deixo um Inline dos dados, e a forma como estou realizando o tratamento
Dados:
LOAD * INLINE [
NATREC, NATREC_NM, TEMPO_NU_ANO
17213301, PISO DE ATENÇÃO BÁSICA-PAB-FIXO, 2008
17213301, PISO DE ATENÇÃO BÁSICA-PAB-FIXO, 2010
17213301, PISO DE ATENÇÃO BÁSICA FIXO - PAB FIXO, 2015
17213301, PISO DE ATENÇÃO BÁSICA FIXO - PAB FIXO, 2016
17213301, PISO DE ATENÇÃO BÁSICA FIXO - PAB FIXO, 2017
];
TESTE:
LOAD Distinct
max(TEMPO_NU_ANO) AS TEMPO6,
NATREC,
Upper(Only(NATREC_NM)) AS Receita_Nome
Resident Dados
group by NATREC;
Meu problema é que apesar de retornar o valor máximo corretamente, a associação com a descrição está vindo vazia.
Abaixo uma imagem com o retorno que estou obtendo.
Apesar de existir a descrição associada ao Ano retornado no Max, ela está vindo vazia.
Podem me informar no que me equivoquei, por favor?
Obrigado!
Kleiton,
Fiz assim e funcionou aqui.
Dados:
LOAD * INLINE [
NATREC, NATREC_NM, TEMPO_NU_ANO
17213301, PISO DE ATENÇÃO BÁSICA-PAB-FIXO, 01/01/2008
17213301, PISO DE ATENÇÃO BÁSICA-PAB-FIXO, 01/01/2010
17213301, PISO DE ATENÇÃO BÁSICA FIXO - PAB FIXO, 01/01/2015
17213301, PISO DE ATENÇÃO BÁSICA FIXO - PAB FIXO, 01/01/2016
17213301, PISO DE ATENÇÃO BÁSICA FIXO - PAB FIXO, 01/01/2017
];
Left Join (Dados)
LOAD Distinct
Firstsortedvalue(TEMPO_NU_ANO, - TEMPO_NU_ANO,1) as TEMPO_NU_ANO ,
Firstsortedvalue(NATREC_NM, - TEMPO_NU_ANO,1) as Receita_Nome ,
NATREC
Resident Dados
Group by NATREC
;
Vê se atende ai.