<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Hola. A ver si me podeis echar un cable....</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Tengo un .shp de puntos con una tabla de atributos de la siguiente forma...</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">CUADRI                  TRANS       LET </div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">30STH500600             1             50</div><div class="gmail_default" style="font-family:verdana,sans-serif">30STH500600             1             50 </div><div class="gmail_default" style="font-family:verdana,sans-serif">..........                     ...            ...</div><div class="gmail_default" style="font-family:verdana,sans-serif">...........                    ...            ...</div><div class="gmail_default" style="font-family:verdana,sans-serif">.</div><div class="gmail_default" style="font-family:verdana,sans-serif">. </div><div class="gmail_default" style="font-family:verdana,sans-serif">.</div><div class="gmail_default" style="font-family:verdana,sans-serif">30STH500600             2              10</div><div class="gmail_default" style="font-family:verdana,sans-serif">30STH500600             2              10<br></div><div class="gmail_default" style="font-family:verdana,sans-serif">30STH500600             2              10<br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><div class="gmail_default">..........                     ...            ...</div><div class="gmail_default">...........                    ...            ...</div><div class="gmail_default">.</div><div class="gmail_default">. </div><div class="gmail_default"><div class="gmail_default">30STH500600             3              20</div><div class="gmail_default">30STH500600             3              20<br></div><div class="gmail_default">30STH500600             3              20</div><div class="gmail_default"><div class="gmail_default">..........                     ...            ...</div><div class="gmail_default">...........                    ...            ...</div><div class="gmail_default">.</div><div class="gmail_default"><br></div><div class="gmail_default">29SQC450600             1              10</div><div class="gmail_default"><br></div><div class="gmail_default"><br></div><div class="gmail_default"><br></div><div class="gmail_default">Y así sucesivamente, varios miles de datos similares. Y ahora quiero establecer otro campo (LET_TOTAL) que me asigne un valor a cada uno de los campos CUADRI que sea el resultante de la suma del valor LET de los campos TRANS, es decir en el caso que he expuesto, el valor debería ser 50+10+20....</div><div class="gmail_default"><br></div><div class="gmail_default">Para ello he intentado utilizar la siguiente sentencia en la calculadora de campos....</div><div class="gmail_default"><br></div><div class="gmail_default">LET_TOTAL =</div><div class="gmail_default"><br></div><div class="gmail_default"><b><i>CASE WHEN</i></b> "CUADRI"='30STH500600' <b><i>AND</i></b> "TRANS"=1 <b><i>THEN</i></b> LET <i><b>END</b></i></div><div class="gmail_default"><i><b><br></b></i></div><div class="gmail_default">Con esta sentencia obtengo el valor 50, entonces he pensado que si repito la sentencia, cambiando el valor de TRANS y hago las correspondientes sumas, obtendría el valor deseado, 80. Para hacer el encadenamiento de sentencias, las agrupo con paréntesis. </div><div class="gmail_default"><br></div><div class="gmail_default"><b><i>(CASE WHEN</i></b> "CUADRI"='30STH500600' <b><i>AND</i></b> "TRANS"=<font color="#ff0000"><b><i>1</i></b></font> <b><i>THEN</i></b> LET <i><b>END)+(</b></i><b><i>CASE WHEN</i></b> "CUADRI"='30STH500600' <b><i>AND</i></b> "TRANS"=<b><i><font color="#ff0000">2</font></i></b> <b><i>THEN</i></b> LET <i><b>END)+(</b></i><b><i>CASE WHEN</i></b> "CUADRI"='30STH500600' <b><i>AND</i></b> "TRANS"=<font color="#ff0000"><b><i>3</i></b></font> <b><i>THEN</i></b> LET <i><b>END)</b></i><br></div><div class="gmail_default"><br></div><div class="gmail_default"><br></div><div class="gmail_default">Bueno pues nada, obtengo valor NULL, pero curiosamente y por error, descubrí que si utilizo varias veces el mismo valor TRANS, si me hace la suma. Debe haber una manera de redactar la sentencia correctamente, pero no se por donde probar, parentesis, anidado, utilizanción de ELSE.....</div><div class="gmail_default"><br></div><div class="gmail_default">Gracias y perdón por el tostón.....</div></div></div></div></div>