Hola -
Aún soy nuevo en Arcade y necesito ayuda para identificar qué está mal en la expresión que aparece abajo. Tengo 4 preguntas (ver imagen 1). Las preguntas 1 y 4 se responden en todos los casos. Las preguntas 2 y 3 se responden según si otra pregunta indica que el proyecto es una solución de ingeniería o una solución natural. Si responden «De ingeniería», contestan la pregunta 2; si responden «Natural», contestan la pregunta 3. Hay una lógica que hace que las preguntas se puedan editar según la respuesta inicial. Cada respuesta recibe una puntuación de 0, 10 o 20. Después otorgamos puntos adicionales (pregunta «Puntuación máxima posible» en la imagen) según cuántas preguntas hayan recibido 20 puntos, usando la lógica que aparece abajo (imagen 2). Mi código no devuelve ningún número si alguna pregunta tiene un valor de 20; si todas son < 20, devuelve correctamente 0. ¿Alguien puede decirme qué estoy haciendo mal?
//todas con la puntuación máxima
if ($feature.PR_RESF1_SCORE==20 && $feature.PR_RESF2ENG_SCORE==20 && $feature.PR_RESF3_SCORE==20) { //todas con la puntuación máxima: solución de ingeniería
return 20;
} else if ($feature.PR_RESF1_SCORE==20 && $feature.PR_RESF2NAT_SCORE==20 && $feature.PR_RESF3_SCORE==20) { //todas con la puntuación máxima: solución natural
return 20;
//2 de 3 con la puntuación máxima
} else if ($feature.PR_RESF1_SCORE==20 && $feature.PR_RESF2ENG_SCORE==20 && $feature.PR_RESF3_SCORE<20) { //RF1 y 2 con la puntuación máxima: solución de ingeniería
return 10;
} else if ($feature.PR_RESF1_SCORE==20 && $feature.PR_RESF2NAT_SCORE==20 && $feature.PR_RESF3_SCORE<20) { //RF1 y 2 con la puntuación máxima: solución natural
return 10;
} else if ($feature.PR_RESF1_SCORE==20 && $feature.PR_RESF2ENG_SCORE<20 && $feature.PR_RESF3_SCORE==20) { //RF1 y 3 con la puntuación máxima - solución de ingeniería
return 10;
} else if ($feature.PR_RESF1_SCORE==20 && $feature.PR_RESF2NAT_SCORE<20 && $feature.PR_RESF3_SCORE==20) { //RF1 y 3 con la puntuación máxima - solución natural
return 10;
} else if ($feature.PR_RESF1_SCORE<20 && $feature.PR_RESF2ENG_SCORE==20 && $feature.PR_RESF3_SCORE==20) { //RF2 y 3 con la puntuación máxima - solución de ingeniería
return 10;
} else if ($feature.PR_RESF1_SCORE<20 && $feature.PR_RESF2NAT_SCORE==20 && $feature.PR_RESF3_SCORE==20) { //RF2 y 3 con la puntuación máxima - solución natural
return 10;
//1 de 3 con la puntuación máxima
} else if ($feature.PR_RESF1_SCORE==20 && $feature.PR_RESF2ENG_SCORE<20 && $feature.PR_RESF3_SCORE<20) { //solo RF1 con la puntuación máxima: solución de ingeniería
return 5;
} else if ($feature.PR_RESF1_SCORE==20 && $feature.PR_RESF2NAT_SCORE<20 && $feature.PR_RESF3_SCORE<20) { //solo RF1 con la puntuación máxima: solución natural
return 5;
} else if ($feature.PR_RESF1_SCORE<20 && $feature.PR_RESF2ENG_SCORE==20 && $feature.PR_RESF3_SCORE<20) { //solo RF2 con la puntuación máxima - solución de ingeniería
return 5;
} else if ($feature.PR_RESF1_SCORE<20 && $feature.PR_RESF2NAT_SCORE==20 && $feature.PR_RESF3_SCORE<20) { //solo RF2 con la puntuación máxima - solución natural
return 5;
} else if ($feature.PR_RESF1_SCORE<20 && $feature.PR_RESF2ENG_SCORE<20 && $feature.PR_RESF3_SCORE==20) { //solo RF3 con la puntuación máxima - solución de ingeniería
return 5;
} else if ($feature.PR_RESF1_SCORE<20 && $feature.PR_RESF2NAT_SCORE<20 && $feature.PR_RESF3_SCORE==20) { //solo RF3 con la puntuación máxima - solución natural
return 5;
//Ninguna tiene la puntuación máxima
} else if ($feature.PR_RESF1_SCORE<20 && $feature.PR_RESF2ENG_SCORE<20 && $feature.PR_RESF3_SCORE<20) { //ninguna tiene la puntuación máxima - solución de ingeniería
return 0;
} else if ($feature.PR_RESF1_SCORE<20 && $feature.PR_RESF2NAT_SCORE<20 && $feature.PR_RESF3_SCORE<20) { //ninguna tiene la puntuación máxima - solución natural
return 0;
}

