Spaltenrang nach Gruppe?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Gibt es eine Möglichkeit, eine Formel zu erstellen, die «ColumnRank by…» (Gruppe) entspricht? Normalerweise verwende ich die Verteilungsplattform (mit der Option «nach Gruppe») und speichere die Ränge zu diesem Zweck in einer statischen Spalte. Aber dieses Mal brauche ich eine dynamische Spalte (berechnet).
Vielen Dank,
Claude
Betreff: Spaltenrang nach Gruppe?Hallo zusammen,
Die Col Rank-Funktion unterstützt jetzt BY-Variablen, wie ursprünglich gefordert. Es sieht so aus, als ob die vollständige Unterstützung im Zeitrahmen von JMP 13 hinzugefügt wurde. Wenn Sie also diese Version oder eine neuere verwenden, sollten Sie dazu in der Lage sein.
Die Online-JMP-Hilfe enthält einige weitere Details und Tie-Break-Optionen:
https://www.jmp.com/support/help/en/15.1/#page/jmp/statistical-functions-2.shtml?os=win&source=application#ww2752649
Ich weiß, dass dies ein älterer Thread ist, aber ich wollte, dass diese Informationen für alle anderen verfügbar sind, die danach suchen.
Beifall!
Audrey
Betreff: Spaltenrang nach Gruppe?Danke Ron.
Schließlich entschied ich mich, das ursprüngliche Update-Skript zu ändern. Es ist ein 3-Schritte-Verfahren:
- Der erste Schritt ist die ursprüngliche Aktualisierung (ODBC-Datenquelle), die eine neue Tabelle erstellt (wegen der Hardcode-Spalten);
- Dann aktualisiert ein zweiter Scriptschritt meine Haupttabelle mit den Daten dieser neuen Tabelle;
- Der letzte Schritt ist das Schließen der neuen Tabelle.
Auf diese Weise kann ich so viele neue Hardcode-Spalten erstellen, wie ich benötige (das Skript benötigt keine Korrektur).
Claude
Betreff: Spaltenrang nach Gruppe?hallo claude.bellavance ,
Wenn es ein Problem mit einem Update gibt, müssen Sie nur die fest codierten Spalten kurz vor dem Update löschen und sie unmittelbar danach wieder einführen.
wie zum Beispiel:
hartcodierte Spalten löschen;
aktualisieren;
die fest codierten Spalten neu berechnen;
Beste,
Ron
Betreff: Spaltenrang nach Gruppe?Vielen Dank Ron. Es ist ein genialer Weg, um das Problem zu lösen.
Leider kann ich kein Skript verwenden, da ich eine berechnete Spalte durchlaufen muss. Wenn ich Spalten mit harten Daten hinzufüge, erstellt die Aktualisierung meiner Tabelle mit meiner Datenbank (über DNS/ODBC) tatsächlich eine neue Tabelle, anstatt einfach Daten zu ersetzen.
Claude
Betreff: Spaltenrang nach Gruppe?hallo claude.bellavance
Ich bin auch unzufrieden mit der Idee von " Krawatten werden willkürlich gebrochen" . Es sollte zumindest eine Option geben, dies zu ändern, damit Bindungen den gleichen Rang erhalten, wie dies bei einer regulären Ordinalvariablen der Fall wäre.
Ich habe eine andere Möglichkeit, "nachzuordnen", ohne die Tabelle zu sortieren - in meinem Fall ist das Sortieren lästig. es gibt den Bindungen gleiche Werte.
Beste,
Ron
Namen standardmäßig hierher ( 1 ) ;
// Definiere die Datenquelle
dt = Offen ( "$SAMPLE_DATA/Große Klasse.jmp" ) ;
// eine Spalte für den Rang hinzufügen
dt << Neue Spalte ( "Rang" , numerisch , Ordinal- ) ;
//// Option 1: Rang nach Spalte
// Extrahieren Sie die Liste der By-Variablenebenen
nach Variablenliste = assoziatives Array ( dt : das Alter ) << Schlüssel bekommen ;
// Erstellen Sie für jede Altersgruppe separate Ranglisten der Körpergröße
Pro ( ib = 1 , ib <= Gegenstände ( nach Variablenliste ) , ib ++,
auswerten ( analysieren ( "Höhenliste" || verkohlen ( nach Variablenliste [ ib ]) || " = Assoziatives Array( " || verkohlen ( dt : Höhe [ dt << Holen Sie sich Zeilen wo ( : das Alter == nach Variablenliste [ ib ])]) || " ) << Schlüssel holen" )) ;
) ;
Pro ( ic = 1 , ic <= näht ( dt ) , ic ++,
: Rang [ ic ] = auswerten ( analysieren ( "loc( Höhenliste " || verkohlen ( dt : das Alter [ ic ] ) || " ," || verkohlen ( dt : Höhe [ ic ]) || " ) " )) ;
) ;
// sehen, ob es funktioniert hat
dt << Sortieren (
Von ( : das Alter , : Höhe ) ,
Befehl ( Aufsteigend , Aufsteigend )
) ;
////
//// Option 2: Rang (ohne by-Spalte)
// Holen Sie sich die eindeutigen Werte für die Höhe als Liste
Höhenliste = Assoziatives Array ( dt : Höhe ) << Schlüssel bekommen ;
Für ( ich = 1 , ich <= N Zeilen ( dt ) , ich ++,
dt : Rang [ ich ] = Lok ( Höhenliste , : Höhe [ ich ] ) ;
) ;
// sehen, ob es funktioniert hat
dt << Sortieren (
Von ( : Höhe ) ,
Befehl ( Aufsteigend )
) ;
Betreff: Spaltenrang nach Gruppe?Hallo Jerry,
Kein Problem. Ich freue mich zu sehen, dass eines Tages meine Wünsche wahr werden!
Nochmals vielen Dank.
Claude
Betreff: Spaltenrang nach Gruppe?Entschuldigung für die Verwirrung, ich habe anscheinend nicht darauf geachtet, welche Version auf meinem System aktiv ist, als ich mir das ansah. Als Ergebnis erhalten Sie also eine „nicht autorisierte“ Vorschau auf Funktionen, die für eine „zukünftige“ JMP-Version geplant sind.
Betreff: Spaltenrang nach Gruppe?Hallo MS,
Nun, das ist sehr interessant Problemumgehung. Es steht mir offen a ganz und gar neuen Bereich (Eval, Formel usw.).
Ich drücke einer zukünftigen JMP-Version mit dieser neuen Funktion „ColRank by…“ die Daumen.
Vielen Dank, dass Sie sich die Zeit genommen haben, meine Frage zu beantworten.
Claude
Betreff: Spaltenrang nach Gruppe?Ich fürchte, die optionalen Argumente für Col Rank() werden von der aktuellen JMP-Version nicht unterstützt.
Ich habe keine gute Problemumgehung, die wirklich dynamisch funktionieren würde. Die Spaltenformel im Beispiel unten sollte funktionieren, aber nur, wenn die Variable innerhalb von Gruppen sortiert ist.
dt = Offen ( "$SAMPLE_DATA/Große Klasse.jmp" ) ;
dt << Sortieren ( von ( : das Alter , Gewicht ) , Tisch ersetzen ( 1 )) ;
F = Ausdruck (
Bewertung ( Bewertungsausdr ( Spaltennummer ( : Gewicht , Zeile () <= Ausdruck ( Zeile ()) ,: das Alter )))
) ;
dt << Neue Spalte ( "Gewichtsrang nach Alter" , numerisch , Formel ( Name Ausdruck ( F ))) ;
Betreff: Spaltenrang nach Gruppe?Hallo Jerry,
Können Sie bitte mehr erklären. Das Handbuch ist in Bezug auf dieses dritte Argument sehr minimalistisch.
Oberster Rang
Rangt den Wert jeder Zeile, von 1 für den niedrigsten Wert bis zur Anzahl der Nicht-Werte ‐ fehlende Spalten für den höchsten Wert. Krawatten werden willkürlich gebrochen .
Ich verstehe nicht, was es bedeuten könnte und wie man es benutzt.
Danke für Ihre Hilfe!
Claude
Betreff: Spaltenrang nach Gruppe?Hallo Claude,
Die Funktion Col Rank(column, ) macht das, wonach Sie suchen. Die Standardeinstellung für das Aufheben von Bindungen ist die Zeilenreihenfolge, aber es gibt ein optionales drittes Argument, das einige andere Auswahlmöglichkeiten zulässt. Hoffe das hilft.
-Jerry