Wie erhalte ich die Spaltensumme einer Zeile in einer bedingten Anweisung?Hallo zusammen,
Ich habe eine Spalte, aus der ich einige Werte herausfiltern muss, um die Summe der Spalten zu erhalten (mithilfe von Col Sum). Ist es möglich, die Spaltensumme gemäß der Bedingung zu erhalten? Beispielsweise wird jeder 0-Code von der Berechnung ausgeschlossen:
| Code | Menge | Komplette Anzahl | Gesamt % (Spaltensumme (Menge)/Gesamtanzahl) |
| 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 % |
Ich habe versucht, eine If-Anweisung zu verwenden, aber der Code mit 0-Werten wird bei Verwendung der Col Sum-Formel immer noch einbezogen
Automatisierung und SkripterstellungBetreff: Wie erhalte ich die Spaltensumme einer Zeile in einer bedingten Anweisung?Sie benötigen zwei if-Anweisungen, eine, um das Schreiben von Werten in Zeilen mit Code = 0 zu vermeiden, und eine, um die Berechnung durchzuführen.
If(Code != 0,
Col Sum(If(:Code == 0, ., :Qty))
,
.
);

Betreff: Wie erhält man die Spaltensumme einer Zeile in einer bedingten Anweisung?Hallo @UserID16644
Bedingungsformeln sind in JMP etwas knifflig.
Wie @jthi erwähnt hat, benötigen Sie 2 IFs.
Sie können auch wie folgt eine Formelspalte hinzufügen;
-Fügen Sie das 1. IF = Spaltensumme hinzu, wenn der Code nicht 0 ist

- 2. IF hinzufügen = Ergebnis nur anzeigen, wenn Code nicht 0 ist

Ergebnis:

JSL-Skript (siehe Workflow-Builder/Protokoll)
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 );
Betreff: Wie erhalte ich die Spaltensumme einer Zeile in einer bedingten Anweisung?Vielleicht übersehe ich, was Sie fragen, aber dies könnte mit einem einfachen Col Sum() das erreichen, was Sie wollen:
Col Sum( (:Code > 0) * :Qty, :Code > 0 )
„:Code > 0“ wird zu 0 oder 1, je nachdem, ob es Null ist oder nicht. Multipliziert mit „Qty“ erhalten Sie die gesuchte Zahl. Anschließend werden Fälle, in denen „:Code >0“ von den Code == 0-Fällen getrennt ist, gruppiert.