Neue Spalte: Rang eindeutigHallo,
Ich möchte eine Spalte mit den Werten 1,2,3 – N erstellen, um eindeutige Werte in einer anderen Spalte zu kennzeichnen.
In der Community gibt es mehrere ähnliche Beiträge
So erstellen Sie eine neue Spalte mit einer numerischen Nummer basierend auf der eindeutigen Gruppierung von Spalte A
Rang Einzigartig
mit vielfältigen Lösungen.
Aber die eine coole Lösung habe ich bisher nicht gefunden.
Es sollte sein
- dynamisch (auf Änderungen in der Tabelle reagieren) -> keine Tabellen/Zusammenfassung, kein Label zum Code
- unabhängig vom Spaltentyp (mindestens: Zeichen + Zahl) -> keine Beschriftung zum Codieren
- Funktioniert auch für nicht sortierte Tabellen -> keine Verzögerung
- schnell -> kein assoziatives Array
Am besten: eine kurze Funktion wie (*)
rank unique(:col1)
oder eine Option einer Funktion (**)
rank(:col1, << unique(1))
Ich habe die Option gefunden
rank(:col1, << tie(mode))
aber ich habe keins gefunden Modus was Nummer 1, 2,3 ... ergibt N
Ich dachte, dass man dorthin gelangen kann, indem man verwendet Rang zweimal:
New Column( "step1",Formula( Col Rank( :sex, <<TIE></TIE>
Aber Schritt2 kennt einige Geheimnisse über Spalte Schritt1, die der Benutzer nicht sehen kann:

Was funktioniert:
New Column( "Rank[sex]",
Formula(
If(row() == 1,summarize(values= by(:sex)));
Contains( values, :sex )
)
);
Ich suche immer noch nach (*) oder (**) und hoffe, dass ich es im Kontextmenü der Spalte „Neue Formel“ finden kann. Aber wo?
Datenmischung und -bereinigungBetreff: Neue Spalte: Rang eindeutigEs gibt keine einzelne Col-Funktion, die diese Aufgabe ausführen kann. Sie können dies mit Col-Funktionen tun, aber es wird höchstwahrscheinlich nur wenige davon erfordern und langsamer sein als die Verwendung von Summarize (oder Associative Array). Fügen Sie den Funktionen „Ranking Tie“ und „Col Rank“ eine dichte Rangfolge hinzu
Betreff: Neue Spalte: Rang eindeutigSchade mit den Wunschzetteleinträgen – es gibt so gute – aber sie bleiben unbemerkt.
Wie konnte mir das entgehen...
-> Kudo von meiner Seite.
Betreff: Neue Spalte: Rang eindeutigDie Suche ist nicht die beste in der JMP-Community, daher hätte ich dem Titel mehr „Schlüsselwörter“ hinzufügen sollen, beispielsweise das eindeutige Ranking. Dies ist ein Problem, mit dem ich von Zeit zu Zeit bei der Arbeit konfrontiert bin, aber zum Glück (zumindest noch nicht ...) ist entweder die Berechnungsgeschwindigkeit kein Problem oder ich benötige keine dynamische Formel.
Betreff: Neue Spalte: Rang eindeutigSuche: Vielen Dank für Ihren Beitrag auf uns in der Community.
Seitdem folge ich Ihrem Vorschlag und verwende immer die Google-Suche – ich habe sogar eine Verknüpfung zu meinem Browser hinzugefügt.
Früher war es ein guter Ansatz, einen Beitrag an die Community zu senden, ihn dann zu öffnen und sich rechts die Vorschläge für „verwandte Beiträge“ anzusehen – aber seit dem Update des Community-Layouts kann ich diese Funktion nicht mehr finden.
Eine schöne Anwendung für Rank Unique:
Wenn ich im Graph Builder Wafer in die Drop-Zone der Gruppe
Dann ist es cool, den Rang 1,2,3 ... für die Drop-Zone der Gruppe X und die Wafer-Info einfach per Hover-Label zu haben.
Es ist nicht wirklich wichtig, die dynamische Version zu haben – aber ich habe ein besseres Gefühl, wenn sich die Werte nach einer Tabellenaktualisierung automatisch anpassen – so dass garantiert ist, dass keine alten Werte vorhanden sind.
Assoziative Arrays werden bereits bei einer angemessenen Datenlänge sehr langsam. Wirklich gefährlich, wenn Ihre Daten nicht gespeichert wurden ...
Betreff: neue Spalte: eindeutiger RangHm, immer noch das Gleiche in Jmp 18:

Nach einer Idee von @jthi aus „Add Counter for Unique Cases in Groups“ :
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Column( "rank_unique (sex) by age",
Formula(
Col Minimum(
Col Rank( If( Row() == Col Min( Row(), :age, :sex ), 1 ), :age ),
:age,
:sex
)
)
)
- nur ein Wert für das erste von jedem Geschlecht x Alter
- Rang generieren
- Verwenden Sie Col Minimum, um die Werte an die anderen Zeilen zu übertragen