Zählen der Anzahl der Werte oder Wörter in jeder SpalteIch habe einen Datensatz und möchte die Anzahl der „OK“ zählen und den berechneten Wert am Ende der Zeile für jede Spalte einfügen.
Zum Beispiel:
| ab | Und | Anzeige |
| OH;OC; | OK | OK |
| OH;OC; | OK | OK |
| OH;OC; | OK | OK |
| OK | OK | OK |
| OK | OK | OK |
| OK | OK | OK |
| OK | OK | OK |
| OK | OK | OK |
| OK | OK | OK |
| 6 | 9 | 9 |
For(i=1,i<=NCol(dt),i++,
Column(dt,i)[NRows(dt)] = Char(N Rows( dt<< get rows where( As Column(dt,i) == "OK")));
)
Ich habe den obigen Code verwendet, aber er lässt mich den Wert für gesperrte Spalten anscheinend nicht eingeben.
Wenn ich try() verwende, ignoriert es es einfach und fährt mit dem Skript fort.
Die gesperrten Spalten enthalten Formeln. Gibt es eine andere Möglichkeit, dies zu schreiben oder einen Fehler beim Überschreiben der gesperrten Spalte zu verursachen? Ich verwende JMP 14
Automatisierung und SkripterstellungBetreff: Anzahl der Werte oder Wörter in jeder Spalte zählenEs gibt wahrscheinlich einen direkteren Weg, aber ich denke, das wird funktionieren. Erstellen Sie eine Spalte mit 0,1 Werten, wobei 1 angibt, dass alles in Ordnung ist. Verwenden Sie dann die Tabellenzusammenfassung, um die Gesamtzahl der Einsen anzugeben. Machen Sie daraus eine Datentabelle und verketten Sie sie dann (nachdem die Spaltennamen übereinstimmen) mit der ursprünglichen Datentabelle.
Betreff: Anzahl der Werte oder Wörter in jeder Spalte zählenDenken Sie daran, dass JMP nicht Excel ist. Jeder Wert in einer Spalte hat das gleiche Format, sodass Sie am Ende Ihrer Spalte keine laufende Summe haben können. Für Ihre Situation könnten Sie Tabellenvariablen verwenden. Versuchen Sie, dies als Tabellenskript festzulegen:
dt = Current Data Table();
For( i = 1, i <= N Col( dt ), i++,
dt << Set Table Variable( (Column( dt, i ) << Get Name) || "OK", N Items( dt << Get Rows Where( Column( dt, i )[Row()] == "OK" ) ) )
);
Es muss natürlich ausgeführt werden, um auf dem neuesten Stand zu sein, aber es sorgt dafür, dass Ihre Gesamtsummen sichtbar bleiben.

Betreff: Anzahl der Werte oder Wörter in jeder Spalte zählenDa Sie die Struktur der Datentabelle durch das Hinzufügen eines Zusammenfassungswerts am Ende der Tabelle ändern, besteht die einfachste Möglichkeit, das Problem mit Formelspalten zu vermeiden, darin, die Formel für jede Spalte zu löschen. Durch das Löschen der Formel werden die Zellenwerte nicht entfernt, sondern lediglich zu statischen Werten gemacht.
For(i=1,i<=NCol(dt),i++,
try(Column(dt,i)<<DELETE formula=""></DELETE>
<P>Die Try()-Funktion vermeidet lediglich Probleme beim Versuch, eine Formel für Spalten zu löschen, die keine Formel haben.</P>
<P> </P>