Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde!
Tenho o seguinte script:
DOENCAS:
LOAD
KEY_LINKTABLE,
RangeMax(0,
if (
RangeSum(
(If(Count(DISTINCT IF(FATO_DOENCA = 'DIABETES',FATO_NUMERO_GUIA)>2,3,0))),
(If(Count(DISTINCT IF(FATO_GRUPO_EXAME = 'EXAM_Hemoglobina',FATO_NUMERO_GUIA)>0,3,0))),
(If(Count(DISTINCT IF(FATO_GRUPO_EXAME = 'EXAM_Glicose',FATO_NUMERO_GUIA)>1,2,0))),
(If(Count(DISTINCT IF(FATO_GRUPO_EXAME = 'EXAM_MicroAlbuminura',FATO_NUMERO_GUIA)>0,1,0))),
(If(Count(DISTINCT IF(FATO_GRUPO_EXAME = 'PROC_Amputacao', FATO_NUMERO_GUIA)>0,1,0)))
)>=5, 'S'
)
) AS DOENCA_DIABETES
RESIDENT BASE
GROUP BY KEY_LINKTABLE;
E quando executamos, acontece o erro "Error in expression: Count takes 1 parameter"
Alguém poderia me ajudar com este erro?
Marcelo, conforme print enviado por você, o "editor de escript" já está acusando algo "errado" na sua estrutura. Faça um teste:
No meu post anterior eu postei a sua estrutura com alguns ajustes, pegue essa estrutura e teste no seu modelo para verificar se o erro continua ou não.
Marcelo,
Em princípio os parenteses não foram fechados na posição correta. Se for possível, informar mais detalhes da sua necessidade.
Exemplo:
DOENCAS:
LOAD
KEY_LINKTABLE,
RangeMax(0,
if (
RangeSum(
if(Count(DISTINCT if(FATO_DOENCA = 'DIABETES',FATO_NUMERO_GUIA))>2,3,0),
if(Count(DISTINCT if(FATO_GRUPO_EXAME = 'EXAM_Hemoglobina',FATO_NUMERO_GUIA))>0,3,0),
if(Count(DISTINCT if(FATO_GRUPO_EXAME = 'EXAM_Glicose',FATO_NUMERO_GUIA))>1,2,0),
if(Count(DISTINCT if(FATO_GRUPO_EXAME = 'EXAM_MicroAlbuminura',FATO_NUMERO_GUIA))>0,1,0),
if(Count(DISTINCT if(FATO_GRUPO_EXAME = 'PROC_Amputacao', FATO_NUMERO_GUIA))>0,1,0))>=5,'S')) AS DOENCA_DIABETES
RESIDENT BASE
GROUP BY KEY_LINKTABLE;
Abs
Olá Paulo!
Obrigado pelo contato.
A estrutura de parênteses está correta, não consegui identificar algum erro.
Preciso que o RangeSum totalize as 5 linhas, e o IF fará a verificação: Se for maior ou igual a 5, então classifico como "S". Não tenho valor se_falso.
O script está acusando o erro, mas, não consegui identificar onde.
Marcelo, conforme print enviado por você, o "editor de escript" já está acusando algo "errado" na sua estrutura. Faça um teste:
No meu post anterior eu postei a sua estrutura com alguns ajustes, pegue essa estrutura e teste no seu modelo para verificar se o erro continua ou não.
Obrigado, funcionou!
Havia fechado os parenteses no local errado.
Marcelo,
Uma observação: Não se esqueça que na sua estrutura você está utilizando a função RangeMax, ou seja, se o RangeSum retornar "S", o resultado final será 0 por conta do RangeMax(0,S).