¿Cómo obtener Col Sum de una fila en una declaración condicional?Hola a todos,
Tengo una columna donde necesito filtrar algunos valores para obtener la suma de las columnas (usando Col Sum). ¿Es posible obtener la suma col según la condición? Por ejemplo, cada código 0 será excluido del cálculo:
| Código | Cantidad | Cuenta total | % total (suma de columnas (cantidad)/recuento total) |
| 0 | 50 | 250 | - |
| 0 | 25 | 250 | - |
| 1 | 60 | 250 | 205/250 x 100 = 82% |
| 6 | 67 | 250 | 205/250 x 100 = 82% |
| 3 | 78 | 250 | 205/250 x 100 = 82% |
Intenté usar una declaración If, pero el código con valores 0 aún se incluye cuando se usa la fórmula Col Sum
Automatización y secuencias de comandosRe: ¿Cómo obtener Col Sum de una fila en una declaración condicional?Hola @ID de usuario16644
La fórmula condicional es un poco complicada en JMP.
Como mencionó @jthi , necesitas 2 IF.
También puede agregar una columna de fórmula como se muestra a continuación;
-Agregar 1er IF = suma de columnas si el código no es 0

-Agregar segundo IF = mostrar resultado solo si el código no es 0

Resultado:

JSL Script (consulte el generador de flujo de trabajo/registro)
Names Default To Here( 1 );
//Change column info: Total % (Col Sum Qty/Total Count)
Data Table( "dt1" ):Column 4 << Set Name( "Total % (Col Sum Qty/Total Count)" )
<< Set Formula(
If( !:Code == 0,
Col Sum( If( !:Code == 0, :Qty, . ) ) / :Total Count
)
);
//Change column format: Total % (Col Sum Qty/Total Count)
Data Table( "dt1" ):"Total % (Col Sum Qty/Total Count)"n <<
Format( "Percent", 12, 2 );
Re: ¿Cómo obtener Col Sum de una fila en una declaración condicional?Necesita dos declaraciones if, una para evitar escribir valores en Código = 0 filas y otra para realizar el cálculo.
If(Code != 0,
Col Sum(If(:Code == 0, ., :Qty))
,
.
);

Re: ¿Cómo obtener Col Sum de una fila en una declaración condicional?Tal vez me estoy perdiendo lo que estás pidiendo, pero esto podría hacer lo que quieres con una simple Col Sum():
Col Sum( (:Code > 0) * :Qty, :Code > 0 )
":Código > 0" se convierte en 0 o 1 dependiendo de si es cero o no, multiplicado por Cantidad le da el número que está buscando, luego agrupa los casos donde :Código >0 se separa del Código == 0 casos.