¿Alguna vez se ha sentido confundido por el resultado al intentar agregar valores numéricos usando un operador más (+)? Tal vez descubrió la función Sum () para solucionar el problema, pero nunca entendió realmente por qué funcionaba. En esta publicación de blog, explico la función Agregar (), el operador más (+) y la función Suma () para ayudarlo a obtener los resultados que necesita de su secuencia de comandos o fórmula de columna.

Comencemos con la función Add (). ¿Sabías que más (+) es la representación simbólica de la función Add ()? ¡Es! Eso significa que las siguientes dos expresiones son exactamente iguales:
1 + 2; //Returns 3
Add( 1, 2 ); //Returns 3
La función Agregar () y el operador más agregan valores para calcular un valor total. Los argumentos pueden ser números, matrices o listas de números.
Pero, ¿qué pasa si falta uno de los valores numérico (.)? La función Add () devolverá como faltante si alguno de los argumentos es un valor faltante.
En el ejemplo anterior, el resultado fue 3 para cualquier expresión. Sobre la base de eso, si un valor faltante fuera uno de los argumentos, entonces devolvería faltante, en lugar de 3.
1 + . + 2; //Returns missing
Add( 1, ., 2 ); //Returns missing
Entonces, ¿cómo se obtiene un valor total excluyendo los valores faltantes? Aquí es donde entra la función Sum (). La función Sum () también agregará valores para calcular un valor total, sin embargo, ignora valores faltantes.
A continuación se muestra la sintaxis de la función Sum (). Observe que los argumentos están separados por comas y se calcula el valor total de todos los argumentos que no faltan.
Sum( 1, ., 2 ); //Returns 3
¿Puede Sum () volver a desaparecer? Bueno, sí, puede. Cuando los argumentos proporcionados a la función Sum () son todas valores perdidos, el resultado también faltará. En este ejemplo, falta el valor de x e y.
x = y = .;
Sum( x, y ); //Returns missing
Y no se equivoque pensando que puede usar el operador más para especificar los argumentos.
Sum( 1 + . + 2 ); ); //Returns missing
Cuando haces eso, JMP ve esto como un argumento que usa la función Add (). Y recuerde que la función Add () devuelve missing cuando falta alguno de los argumentos:
Sum( Add( 1, ., 2 ) ); //Returns missing
Que es esencialmente lo mismo que esto:
Sum( . ); //Returns missing
Si cambió ese ejemplo para incluir dos argumentos, como:
Sum( 100, 1 + . + 2 ); //Returns 100
El resultado es 100 porque los argumentos son 100 y faltan, como en:
Sum( 100, . ); //Returns 100
Espero que esto ayude a aclarar los usos de Add (), plus (+) y Sum ().