Stapeln Sie Spalten mit mehreren NamenHallo zusammen!
Nehmen wir an, ich habe eine Datentabelle, die so aussieht:
A, B1, B2, C1, C2, D
1,2,3,4,5,16
6,7,8,9,10,16
11,12,13,14,15,16
Ich möchte sie so stapeln, dass die neue Tabelle so aussieht:
ABC
1,2,4
1,3,5
6,7,9
6,8,10
11,12,14
11,13,15
Ich habe drei Listen: eine mit Spalten, die beibehalten werden müssen: list_to_keep= {A}, list_to_stack_before= {B1,C1} und list_to_stack_after = {B2,C2}.
Zuerst habe ich ein Skript geschrieben, um eine neue Liste mit den neuen Spaltennamen zu erstellen:
new_column_names = {};
str = char(list_to_stack_before);
newstr = replacement(str,"", "", "_be_sam","");
new_column_names = parse(newstr);
Dann habe ich versucht, die Stapelfunktion zu wiederholen, aber sie fügt immer nur weitere Zeilen hinzu. Ich kann die normale Stack-Funktion nicht verwenden, da ich damit nicht mehrere Namen im Argument „Stacked Data Column“ verwenden kann. Wie kann ich dieses Problem lösen? Vielen Dank, ich bin ganz neu bei jmp.
Automatisierung und SkripterstellungBetreff: Spalten mit mehreren Namen stapelnHallo Greg, vielen Dank für deine Antwort!
Ich bin mit der Stack-Schnittstelle vertraut und habe auch den Workflowbuilder verwendet, um ein Skript zum Stapeln zu bekommen. Das Problem beim Umbenennen besteht darin, dass ich nicht 3 Spalten habe, die ich stapeln möchte, sondern eher 40, und ich erwarte, dass sie mit den eingehenden neuen Messungen wachsen.
Mir wurde klar, dass ich wahrscheinlich ein Skript schreiben könnte, um die Spalten mithilfe einer Liste umzubenennen, aber das scheint kein so schöner Workaround zu sein und anfällig für Fehler in der Reihenfolge. Ich hatte gehofft, dass es eine reibungslosere Methode gibt. Es ist sehr bedauerlich, dass die Option „Neue Spaltennamen“ nicht mehr als ein Argument zulässt.
Am besten
Betreff: Spalten mit mehreren Namen stapelnLassen Sie Spalte D fallen? Wie entscheiden Sie in Ihren realen Datentabellen, welche Spalten gelöscht werden sollen? Wie lautet die Namenskonvention für die Spalten (vor und nach dem Stapel)? Dies sollte nicht allzu schwer über JSL zu automatisieren sein.
*bearbeiten*
Ist die Anzahl der Vielfachen außerdem immer gleich? Wenn es zum Beispiel B1 und B2 gibt, wird es dann immer C1 und C2 geben, oder könnte es auch C3 geben? Wenn ja, wie soll damit umgegangen werden?
Betreff: Spalten mit mehreren Namen stapelnOK-
Gut, dass Sie Skripte erstellen können. Vielen Dank für die Klarstellung, dass Sie nach etwas Skalierbarem suchen, um das Umbenennen vieler Spalten zu vermeiden.
Zuerst als Nebenbemerkung/Tangente – als Tipp und Trick für die Bearbeitung von Spaltennamen im manuellen Modus, aber im Maßstab: Das ist schnell und leistungsstark ( muss aber mit Vorsicht durchgeführt werden ).
- Wählen Sie im Spaltenbereich alle Spalten aus – „Kopieren“ (legt den Text in den Kopierpuffer)
- In einer anderen Datentabelle (oder einem Tabellenkalkulations- oder Textverarbeitungsprogramm) wird durch „Einfügen“ die Liste der Spalten als Text erstellt.
Bearbeiten Sie es nach Ihren Wünschen (geben Sie Text an Ort und Stelle bearbeiten ein, erstellen Sie eine Formelspalte, um Präfix/Suffix hinzuzufügen ... was auch immer) ...
- „Kopieren“ Sie die bearbeitete Textliste mit neuen Spaltennamen
- Zurück zur ursprünglichen Tabelle. Löschen Sie die Spaltenauswahl und wählen Sie dann die Liste der Spalten im Spaltenbereich erneut aus. Klicken Sie auf „Einfügen“, um bearbeitete Spaltennamen zu überschreiben
Zurück zur zuvor vorgeschlagenen Tabellenoperationsmethode.
Wenn das niedrigste Zeichen immer 1/2 ist (oder zumindest die Spaltenfamilie angibt, die gestapelt werden soll), kann dies in zwei Tabellenoperationen und einer Formel erfolgen. Diese Schritte können per Skript erstellt oder im Workflow-Builder erfasst werden, wenn die Aktionen wiederholbar sein müssen.

Fügen Sie eine Formelspalte hinzu, um „Label“ zu kürzen, mit Ausnahme des niedrigsten Zeichens

Tabelle „Aufgeteilte“ Daten nach zugeschnittener Beschriftung....

Betreff: Spalten mit mehreren Namen stapelnWow, schöne Verbindung zwischen Mehrserien-Stack und Stack + Split!