Bedingter Inhalt der Concate Cell aus verschiedenen ZeilenHallo,
Einen Fall wie unten gezeigt.
Ich möchte die verschiedenen Zeilen von "Beschreibung" für dieselbe "Fallnummer" zu einer kombinierten Zelle verketten, die mit "Fallnummer" übereinstimmt.
z.B C2 verkettet B2, B3, B4, die alle für "Fall 1" sind.
C5 verkettet B5, was für "Fall 2" steht.
C6 verkettet B6, B7, die alle für "Fall 3" sind.
Am Ende werden redundante Zeilen gelöscht, wobei nur eine Zeile für eine Fallnummer mit den Beschreibungen in der zweiten Spalte übrig bleibt
Die mögliche Anzahl der Beschreibungszeilen variiert für verschiedene "Fälle". Es gibt nur wenige Tausend "Fälle", es ist unmöglich, dies manuell zu tun
Ich würde gerne einen Rat einholen, um dies in JSL zu tun, wenn möglich, danke:)

Betreff: Bedingter Inhalt von Concate Cell aus verschiedenen ZeilenStift,
Dies ist interaktiv ziemlich einfach, die JSL ist jedoch etwas umständlich, da die Anzahl der Beschreibungen unbekannt ist und im Code berücksichtigt werden muss. Um dies interaktiv zu tun:
- Erstellen Sie eine Spalte mit den ausgefüllten Fallnummern, falls dies noch nicht geschehen ist (dh Sie möchten keine fehlenden Werte in dieser Spalte). Dies kann mit der Formel erfolgen
If( Row() == 1 | !Is Missing( oldColRef ),
oldColRef,
Lag( newColRef, 1 )
)
Dabei ist oldColRef eine Referenz auf die alte Fallspalte und newColRef auf die Spalte, die Sie in der Formel erstellen
- Wählen Sie die Spalte Beschreibung und Spalten> Dienstprogramme> Indikatorspalten erstellen
- Verwenden Sie Tabellen> Zusammenfassung, um nach der neuen Fallspalte zusammenzufassen. Wählen Sie alle Indikatorspalten aus und wählen Sie Max als Statistik. Stellen Sie das statistische Spaltenformat auf Spalte ein. Sie können die Verknüpfung zur ursprünglichen Tabelle aufheben, dies ist jedoch nicht erforderlich.

- Wählen Sie in der resultierenden Tabelle alle Indikatorspalten aus und gehen Sie zu Spalten> Dienstprogramme> Spalten kombinieren. Stellen Sie sicher, dass das Kontrollkästchen Ausgewählte Spalten sind Indikatorspalten aktiviert ist.
Die resultierende Tabelle sollte genau das sein, wonach Sie suchen, glaube ich. Lassen Sie mich wissen, ob dies funktioniert. Dank an @brady_brady wer zeigte eine Variation davon in seinem 10+ Dinge, die Sie über JMP® nicht wissen (EU 2018 424) Entdeckungsgespräch. Wenn Sie wirklich, wirklich, wirklich den JSL-Code benötigen, kann ich mir etwas einfallen lassen. Für einen unerfahrenen Scripter macht es jedoch wahrscheinlich keinen Sinn.
Betreff: Bedingter Inhalt von Concate Cell aus verschiedenen ZeilenHallo Pin,
Hier ist JSL, um dies zu tun. Ich habe auch eine andere Möglichkeit, dies interaktiv zu tun, indem ich Tools verwende, die einige der von Don beschriebenen Prozesse automatisieren. Lassen Sie mich wissen, wenn Sie diese brauchen; Sie befinden sich im Add-In "Datentabellen-Tools" des Dateiaustauschs.
Als Randnotiz können Sie Schritt 1 von Dons Prozess ausführen, indem Sie alle Zeilen in der Spalte auswählen, mit der rechten Maustaste klicken und "Fehlende durch vorherigen Wert ersetzen" auswählen. (Beachten Sie, dass diese Menüoption nur angezeigt wird, wenn tatsächlich fehlende Werte oder leere Zeichenfolgen in der Spalte vorhanden sind.)
Zurück zum Skript:
Das folgende Skript geht davon aus, dass Spalte 1 "col1" heißt, Spalte 2 "col2" heißt und eine Spalte mit dem Namen "Combined" erstellt. Ändern Sie diese also nach Ihren Wünschen.
Ich habe eine Tabelle mit dem beiliegenden Skript angehängt. Probieren Sie es aus, ich denke, es wird tun, was Sie wollen.
Prost,
Brady
Names Default To Here(1);
dt = :col1 << get data table();
r = (dt << get rows where(:col1 == "" ));
for(i=1, i<=nrow(r), i++, dt:col1[r[i]] = dt:col1[r[i]-1]);
dt << new column ("Combined", character);
r = 1;
while (r <= nrow(dt),
set = dt << get rows where(:col1 == dt:col1[r]);
dt: Combined[r] = concatitems((dt:col2 << get values)[set], " ");
r += nrow(set);
);
Betreff: Bedingter Inhalt von Concate Cell aus verschiedenen ZeilenSehr dankbar @brady_brady @ DonMcCormack
Ja, mit dem Skript habe ich es geschafft, es einfach zu erledigen.
Mehr Mühe, JSL zu lernen, Hoffnung kann in Zukunft selbst etwas schreiben:)