Betreff: Datentabellen-Tools, Teil 3: Nummerieren von Zeilen in Gruppen, um flexible Rangfolgen zu erhaltenHallo ist es möglich, dies mit JMP 12 zu tun? Vielen Dank
Betreff: Datentabellen-Tools, Teil 3: Nummerieren von Zeilen in Gruppen, um flexible Rangfolgen zu erhaltenHallo,
Die Col Cumulative Sum-Funktion wurde in JMP 13 eingeführt. Andernfalls könnten Sie so etwas versuchen, obwohl die aktuelle Datentabelle () Probleme verursacht, wenn die Tabelle mit dieser Formel nicht die aktuelle ist. Beachten Sie, dass Sie, wenn Sie mehr als eine einzelne Spalte zum Gruppieren verwenden möchten, die mehreren Spalten verketten und die Formel auf dieser neuen Spalte aufbauen müssen.
Prost,
Brady
Names Default To Here( 1 );
dt = open("$Sample_Data\Car Physical Data.jmp");
dt << New Column( "Rnk",
formula(
dtCur = Current Data Table();
ct = :country[Row()];
Contains( dtCur << get rows where( :country == ct ), Row() );
)
);
Betreff: Datentabellen-Tools, Teil 3: Nummerieren von Zeilen in Gruppen, um flexible Rangfolgen zu erhaltenDas hat super funktioniert, danke! Ich führe dieses Skript sofort nach dem SQL-Pull aus, damit die aktuelle Datentabelle () großartig funktioniert.
Und ja, ich habe mehr als eine Spalte zu gruppieren (4 Spalten insgesamt), so dass das Erstellen einer neuen Spalte mit den 4 zusammengehörigen Spalten perfekt funktioniert hat. Ich arbeite nur an Datentabellen mit 5.000 bis 6.000 Datenzeilen und es gibt ungefähr 780 gruppierte Elemente, die ich rangiere, so dass es ungefähr eine Minute dauert, bis JMP die Rnk-Spalte generiert - aber es funktioniert!
Danke nochmal!
Betreff: Datentabellen-Tools, Teil 3: Nummerieren von Zeilen in Gruppen, um flexible Rangfolgen zu erhaltenVor JMP13 wurde in diesem Beitrag erläutert, wie eine fortlaufende Summe erstellt wird. Dieser Beitrag befasst sich nicht mit Gruppen, aber es ist nicht allzu schwierig, das Konzept dahingehend zu erweitern.
https://community.jmp.com/t5/Discussions/how-to-get-cumulative-sum-data/td-p/6766
Betreff: Datentabellen-Tools, Teil 3: Nummerieren von Zeilen in Gruppen, um flexible Rangfolgen zu erhaltenIm Speziellen, Jaredgj, probiere die Formel:
k = row ();
Summation (i = 1, k, If (: Land [i] ==: Land [k], 1, 0));
Ich hatte die Summierungsfunktion vergessen. Es ist viel schneller als die andere Funktion, da das Abrufen von Zeilen wie bei der anderen Formel zeitaufwändig ist.
Prost,
Brady
Betreff: Datentabellen-Tools, Teil 3: Nummerieren von Zeilen in Gruppen, um flexible Rangfolgen zu erhaltenSuper danke brady_brady, das hat auch funktioniert. Es dauerte noch ein bisschen, bis das Skript fertig war, aber es war ein bisschen schneller als das Original, das Sie gepostet haben. Danke nochmal
Und danke bfoulkes für den zusätzlichen Link / Post
Datentabellen-Tools, Teil 3: Nummerieren von Zeilen in Gruppen, um flexible Rangfolgen zu erhaltenHatten Sie jemals einen Datensatz, in dem Sie Aufgaben ausführen mussten, die einer der folgenden ähneln:
Erstellen Sie aus einem hohen Tisch mit mehreren Messungen mehrerer Werkzeuge, die in unregelmäßigen Abständen aufgezeichnet wurden, eine Untergruppentabelle mit nur der k-ten letzten Messung für jede Werkzeug- / Bedienerkombination. Suchen Sie für eine bestimmte Metrik die oberen (oder unteren) k Vorkommen in jeder Gruppe. Ein Beispiel ist die Auflistung der drei Produkte in jeder Region, die den höchsten Umsatz oder die niedrigste Gewinnspanne erzielen.Wenn ja, bist du nicht allein. Ziemlich regelmäßig erhalten wir Anfragen, wie wir solche Probleme angehen können. Da für jede dieser Aufgaben Rangfolgen erforderlich sind, ist es für JMP-Benutzer selbstverständlich, auf die rank () -Funktion in JSL zu achten, und dies ist sicherlich eine Option. Das Problem ist, dass für die Funktion rank () die Spalte, nach der die Tabellenzeilen sortiert werden sollen, explizit angegeben werden muss. Wenn wir Daten untersuchen, möchten wir häufig mit einer Vielzahl von Rangfolgen experimentieren, ohne mehrere neue Spalten zu erstellen oder zu bearbeiten Spaltenformeln.
Durch die kreative Verwendung der Funktion Col Cumulative Sum () in JMP 13 können wir die Zeilen flexibel und dynamisch sortieren: Um eine andere Rangfolge zu erzielen, sortieren wir einfach nach einer anderen Variablen.
Betrachten Sie zur Veranschaulichung die Datei Car Physical Data.jmp, die nominelle und kontinuierliche Daten zu Autos enthält. Es wird im JMP-Beispieldatenordner installiert, auf den Sie zugreifen können, indem Sie Hilfe> Beispieldatenbibliothek auswählen.
Unten habe ich eine Spalte (hervorgehoben) hinzugefügt, um die kumulative Anzahl von Autos zu berechnen, die in oder vor der angegebenen Zeile nach Land gruppiert sind. Beachten Sie, dass die Fahrzeuge mit Country = Japan und Country = Other fortlaufend nummeriert werden.
Dieser Ansatz ist wirkungsvoll, da wir zur Beantwortung der Frage "Welche sind die fünf leichtesten Autos in jedem Land?" Nur Folgendes tun müssen:
Sortieren Sie die Tabelle nach Gewicht in aufsteigender Reihenfolge, wobei Sie die ursprüngliche Tabelle beibehalten. Wählen Sie die Zellen aus, in denen die Ranglistenspalte <= 5 ist. Falls gewünscht, setzen Sie diese Zeilen unter.Dieser Ansatz ist auch flexibel, da wir, wenn wir jetzt entscheiden, die drei stärksten Autos aus jedem Land zu finden, einfach nach PS in absteigender Reihenfolge sortieren und Zellen auswählen, in denen die Rangfolge kleiner oder gleich drei ist.
Die Formel in der Ranglistenspalte ist einfach (siehe unten), aber Sie müssen sie nicht aufschreiben: Mit dem Add-In "Datentabellen-Tools" können auch Nicht-Skript-Benutzer einer Tabelle in beliebiger Kombination auf einfache Weise eine solche Spalte hinzufügen Spalten gruppieren.
Sobald Sie das Add-In ausgeführt haben, müssen Sie nur die gewünschte Tabelle und Gruppierungsspalte auswählen und auf die Schaltfläche "Spalte erstellen" klicken. Das ist es!
Das Add-In für Datentabelle-Tools kann kostenlos von der heruntergeladen werden JMP-Dateiaustausch - Ein kostenloses SAS-Profil ist erforderlich.
Hinweis: Dieses Blog ist der dritte in einer Reihe, in der die verschiedenen Funktionen des Add-Ins "Datentabelle-Tools" erläutert werden.
Mit dem Add-In "Datentabelle-Tools" können Sie eine Spalte erstellen, um flexible Abfragen nur auf der Grundlage der Tabellensortierreihenfolge durchzuführen - keine Codierung erforderlich!