Inkrementierung um Ebenen der Zeichenspalte (Scripting)Vielleicht sehe ich wieder nicht den Wald vor den Bäumen; Ich möchte nur eine numerische Erhöhung für jede einzelne Ebene einer Zeichenspalte anwenden.
Gleiche Level erhalten das gleiche Inkrement, unterschiedliche Level erhalten unterschiedliche Zahlen.
Annahme: Daten werden nach „Character_Column_Have“ sortiert. „Numeric_Increment_Want“ sollte mit 1 beginnen.
Character_Column_Have Numeric_Increment_Want
AAA 1
AAA 1
ABC 2
BBB 3
CCD 4
EEE 5
EEE 5 ...
Das einzige Ergebnis, das ich bisher erreicht habe, war, mein JMP wiederholt zum Absturz zu bringen, indem ich „col **bleep** rank“ verwendete.
JMP und ich könnten es besser machen, oder?
Danke für jeden Hinweis!
Neuling
Betreff: Inkrementierung um Ebenen der Zeichenspalte (Scripting) New Column( "Increment",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
If( Row() == 1,
Summarize( myGroups = by( :Period ) )
);
Contains( myGroups, :Period );
)
);
Ich kann nicht erklären, warum es jetzt funktioniert. Ich habe mich auch an „Gruppen“ angepasst. Seltsam. Wie auch immer, ich habe es so gelöst und es funktioniert wie ein Zauber. Jim, vielen Dank. Wieder!
Betreff: Inkrementierung um Ebenen der Zeichenspalte (Scripting)Hier ist die Formel für die Spalte Numeric_Increment_Want
If( Row() == 1,
Summarize( myGroups = by( :Period ) )
);
Contains( myGroups, :Period );
Ich musste den vorherigen Code ändern, da der Verweis auf „Gruppen“ im alten Code im Widerspruch dazu steht, dass die Dolphins-Datentabelle eine Spalte mit dem Namen „Gruppen“ hat.Also habe ich den Variablennamen in myGroups geändert.

Im Anhang finden Sie die Datentabelle mit der neuen hinzugefügten Spalte
Betreff: Inkrementierung um Ebenen der Zeichenspalte (Scripting)Ich habe alle Ihre Ansätze ausprobiert, aber es scheint, dass ich sie nicht zum Laufen bringen kann.
Ein Ansatz verwirrt mich konzeptionell. Es adressiert zwei Eingabespalten, während für die Eingabe nur die Zeichenspalte zur Verfügung steht.
Könnten Sie bitte einen Ansatz für den JMP-Datensatz „Dolphins“ demonstrieren (Auszug unten)?
Reisemorgen 6
Futtermorgen 28
... Reiseabend 13
Futterabend 56
Gesellschaftsabend 10
Für die „Delphine“-Level Morgen, Mittag, Nachmittag, Abend würde ich die Abstufungen 1,2,3 bzw. erwarten. 4 (je nach Sortierreihenfolge)
Betreff: Inkrementierung um Ebenen der Zeichenspalte (Scripting)Ich mag Jims Antwort. Sie könnten auch eine einfache Formel verwenden:
If(
Row() == 1, 1,
:Have == Lag( :Have ), Lag( :Want ),
Lag( :Want ) + 1
)
Oder das entsprechende Skript:
For Each Row( If( Row() == 1, 1, :Have == Lag( :Have ), Lag( :Want ), Lag( :Want ) + 1 ) );
Betreff: Inkrementierung um Ebenen der Zeichenspalte (Scripting)Hier ist die Formel, die ich verwenden würde
If( Row() == 1,
Summarize( groups = by( :Character_Column_Have ) )
);
Contains( groups, :Character_Column_Have );
Es gibt auch andere Methoden.
- Verwenden Sie Recode, um eine neue Spalte zu erstellen und die gefundenen Werte in die gewünschten neuen numerischen Werte zu ändern
- Verwenden Sie die Summary Platform mit Character_Column_Have als Gruppenspalte, um eine neue Datentabelle mit einer Zeile pro Wert von Character_Column_Have zu erstellen.Erstellen Sie dann eine neue Spalte mit der Formel Row().Verwenden Sie abschließend die Update-Plattform, um die Übersichtstabelle mit der Originaltabelle zu verknüpfen.