Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Estou tentando calcular diretamente no script, mas não estou conseguindo. Coloquei o exemplo abaixo (que está errado) só para vocês tentarem entender o que quero fazer:
[PERCENTUAL_ESFORCO]:
LOAD
ID_PROJETO,
if(META=0, META, If(RESULTADO/META>1,1, RESULTADO/META)) AS PERC_ESFORCO_PARC,
if(META=0, 0, Sum(PERC_ESFORCO_PARC)) / (If(META<>0, count(ID_PROJETO),1)) AS PERC_ESFORCO_TOT,
Sum(PERC_ESFORCO_TOT)/(if(NO_CAMADA<>'Projetos Internos', count(NO_CAMADA),1)) AS PERC_ESFORCO_TATICO
Resident tmpData GROUP BY ID_PROJETO, NO_CAMADA;
Desde já, agradeço!
Boa tarde,
Aparentemente na primeira função você tem um problema logico que deve estar te devolvendo os mesmo valores de campo, por exemplo se vc pede para trazer a META no ponto 'A' pois a meta de é 0 ele vai retornar zero pois 'META A' = 0 então onde for zero ele não realiza o segundo if, que também só vai te trazer se a o resultado for menor que 1, aparentemente é isso.
No segundo caso provavelmente sua expressão é invalida, talvez com um aggr de para resolver, porem acho mias viável fazer por setanalysis.
Se puder disponibilizar um modelo ficaria mais fácil buscar um solução
Fabiana,
Tens um group by mas tem campos sem agregação
O if tem que mudar
if(SUM(META)=0, 0, If(sum(RESULTADO)/sum(META)
A META sem agregação e outros campos sem agregação (sum,max,min,....) é que da o erro