Come ottenere Col Sum di una riga in un'istruzione condizionale?Ciao a tutti,
Ho una colonna in cui devo filtrare alcuni valori per ottenere la somma delle colonne (usando Col Sum). È possibile ottenere il col sum in base alla condizione? Ad esempio, ogni codice 0 verrà escluso dal calcolo:
| Codice | Qtà | Conteggio totale | Totale % (Col Somma (qtà)/conteggio totale) |
| 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% |
Ho provato a utilizzare un'istruzione If, ma il codice con valori 0 viene comunque incluso quando si utilizza la formula Col Sum
Automazione e scriptingRe: Come ottenere la somma delle colonne di una riga in un'istruzione condizionale?Sono necessarie due istruzioni if, una per evitare di scrivere valori nelle righe Code = 0 e una per eseguire il calcolo
If(Code != 0,
Col Sum(If(:Code == 0, ., :Qty))
,
.
);

Re: Come ottenere la somma delle colonne di una riga in un'istruzione condizionale?Ciao @UserID16644
La formula condizionale è un po' complicata in JMP.
Come menzionato da @jthi , hai bisogno di 2 IF.
Puoi anche aggiungere una colonna formula come di seguito;
-Aggiungi 1° SE = somma della colonna se il codice non è 0

-Aggiungi 2° SE = visualizza il risultato solo se il codice non è 0

Risultato:

Script JSL (fare riferimento al generatore/log del flusso di lavoro)
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: Come ottenere la somma delle colonne di una riga in un'istruzione condizionale?Forse mi manca quello che stai chiedendo, ma questo potrebbe fare quello che vuoi con un semplice Col Sum():
Col Sum( (:Code > 0) * :Qty, :Code > 0 )
":Code > 0" diventa 0 o 1 a seconda che sia zero o meno, moltiplicato per Qty ti dà il numero che stai cercando, quindi raggruppa i casi in cui :Code >0 si separa dai casi Code == 0.