Wie zähle ich die Anzahl nicht leerer Zeilen in bestimmten Zeilen?Ich habe die Tabelle hier angezeigt und möchte eine neue Spalte erstellen, die „N“ enthält, also die Anzahl der Spalten mit Zahlen, aber nur für die Spalten mit der Bezeichnung „DecodeCount_BW**“. Beispielsweise sollte für die erste Zeile „5“ zurückgegeben werden, für die zweite Zeile „2“ usw.
In Excel mache ich das mit „counta“, aber ich versuche, JMP zu lernen, um die statistische Analyse zu verbessern, aber ich stecke bei einfachen Dingen wie diesen fest, vielleicht liegt es an meinem Excel-formatierten Gehirn ... Entschuldigen Sie, wenn das super einfach ist, aber ich kann in der Formelliste keine Formel finden, die das macht...
Danke
JMP17-Benutzer
InhaltsorganisationDatenzusammenführung und -bereinigungBetreff: Wie zähle ich die Anzahl der nicht leeren Zeilen in bestimmten Zeilen?Formeln funktionieren in dieser Hinsicht im Allgemeinen nicht so einfach (Berechnungen zeilenweise statt spaltenweise). Je nachdem, was Sie tun, kann es von Vorteil sein, Ihre Daten zunächst zu stapeln.
Sie können dafür Formeln verwenden (das kann etwas kompliziert sein), aber im Allgemeinen würde ich Skripte verwenden. Unten sehen Sie ein Beispiel

Names Default To Here(1);
dt = New Table("Untitled 3",
Add Rows(3),
Compress File When Saved(1),
New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Set Values([., ., .])),
New Column("Column 2", Numeric, "Continuous", Format("Best", 12), Set Values([., ., .])),
New Column("AB1", Numeric, "Continuous", Format("Best", 12), Set Values([2, ., .])),
New Column("AB2", Numeric, "Continuous", Format("Best", 12), Set Values([., 2, 1])),
New Column("AB3", Numeric, "Continuous", Format("Best", 12), Set Values([., 5, .]))
);
dt << New Column("N", Numeric, Continuous);
cols_of_interest = Filter Each({colname}, dt << Get Column Names("String"),
Starts With(colname, "AB");
);
For Each Row(Current Data Table(),
:N = Sum(!Is Missing(dt[Row(), cols_of_interest]));
);
und wenn Sie wirklich Formeln verwenden möchten, können Sie möglicherweise so etwas verwenden
As Constant(cols_of_interest = Filter Each({colname}, Current Data Table() << Get Column Names("String"),
Starts With(colname, "AB");
));
Sum(!Is Missing(dt[Row(), cols_of_interest]));
Sie müssen Ihren eigenen Vergleich durchführen, um die Spalten herauszufiltern, die für Sie von Interesse sind (Beginnt mit sollte für Ihre Daten auch funktionieren).
Betreff: Wie zähle ich die Anzahl der nicht leeren Zeilen in bestimmten Zeilen?Tabellen/Zusammenfassungen können für Sie zählen. Um die Zählung über mehrere Spalten durchzuführen, müssen Sie die Daten zunächst stapeln:
dt = New Table( "test",
Add Rows( 6 ),
New Column( "W8",Set Values( [2, 5, ., 5, ., 6] )),
New Column( "W9",Set Values( [2, ., 3, 3, 1, 2] )),
New Column( "W1",Set Values( [2, ., ., ., ., .] )),
New Column( "W2",Set Values( [3, ., ., ., ., .] )),
New Column( "W3",Set Values( [3, ., ., ., ., .] )),
New Column( "W4",Set Values( [., ., 4, ., 2, .] )),
New Column( "W5",Set Values( [., 2, ., ., ., .] )),
New Column( "W6",Set Values( [., ., 5, ., 3, .] )));
dt << New Column( "row",Formula( Row() ));
dtstack =dt << Stack( columns( :W8, :W9, :W1, :W2, :W3, :W4, :W5, :W6 ),"Non-stacked columns"n( Keep( :row ) ));
dtstack << Summary( Group( :row ), N( :Data ) );
übrigens:
"Non-stacked columns"n
ein benanntes Argument, das als "..."n geschrieben werden muss. Argh!
Wie gut, dass das erweiterte Protokoll diese Details kennt …