Wertreihenfolge oder Wertbezeichnung anhand einer anderen Spalte festlegenIch habe ein interessantes Problem mit der Sortierung und Beschriftung von Datenwerten. Siehe beigefügte Dateien. Die Daten stammen aus einem Gaschromatographen. Die Reihenfolge richtet sich nicht nach der alphabetischen Sortierung der Verbindungsnamen, sondern nach der Retentionszeit (RT). Es gibt 31 Verbindungen – die manuelle Sortierung der Werte in der Spalte „Verbindung“ oder die manuelle Beschriftung der Werte in den Spalten „RT“ oder „MW“ ist aufwendig und fehleranfällig. Jeder, der mit chromatographischen oder spektralen Daten arbeitet, kennt dieses Problem wahrscheinlich.
Gibt es eine dialoggesteuerte Möglichkeit, die Wertbezeichnungen oder die Reihenfolge durch Bezugnahme auf eine andere Spalte als Referenz festzulegen?
Oder hat vielleicht jemand ein Skript, das das kann?
Ich habe auch eine anonymisierte Version der Datentabelle veröffentlicht.
Dank im Voraus!
Datenzusammenführung und -bereinigungBetreff: Festlegen der Wertreihenfolge oder der Wertbezeichnung anhand einer anderen SpalteDiese Methode geht davon aus, dass die Spalte „MW Order“ manuell hinzugefügt werden müsste, daher wird nur die Spalte „RT“ berücksichtigt. Eine Sortierung der Tabelle ist nicht erforderlich.
Names Default To Here( 1 );
dt << New Column( "Order", numeric, Formula( Col Rank( :R.T. ) ) );
order_list = {};
Wait( 0 );
For Each( {{k, v}, i}, Associative Array( :Order, :Component ), Insert Into( order_list, v ) );
Eval( Eval Expr( :Component << Set Property( "Value Order", {Custom Order( Expr( order_list ) )}, Common Order( 0 ) ) ) );
dt << Delete Columns( "Order" );
Betreff: Festlegen der Wertreihenfolge oder der Wertbezeichnung anhand einer anderen SpalteDanke! Es hat wie gewünscht funktioniert.*
* muss als Zeile #2 hinzugefügt werden: dt = Aktuelle Datentabelle ();
Betreff: Festlegen der Wertreihenfolge oder der Wertbezeichnung anhand einer anderen SpalteWow, eine sehr elegante Methode, die Reihenfolge von einer Spalte in eine andere zu übertragen!
order_list={};
For Each( {{k, v}, i}, Associative Array( :Order, :Component ), Insert Into( order_list, v ) );
- Associative Array mit Spaltenverweisen:
Associative Array( :Order, :Component ) !!! (--> find the documentation)
automatically: duplicates get skipped, entries ... ordered by keys
- For Each( {{k, v}, i} ... -> {v}
als Alternative:
Associative Array( :Order, :Component ) << get values
Betreff: Festlegen der Wertreihenfolge oder der Wertbezeichnung anhand einer anderen SpalteDas können Sie auch manuell tun.
Erstellen Sie eine Zusammenfassungstabelle (verwenden Sie gegebenenfalls die Statistiken).

Sortieren Sie Ihre Daten

Legen Sie die Wertereihenfolge für die Spalte fest, die Sie in der Zusammenfassungstabelle sortieren möchten.

Kopieren Sie die Spalteneigenschaften aus der Zusammenfassungstabelle und fügen Sie sie in Ihre Originaltabelle ein.


(Ich verwende eine modifizierte, skriptbasierte Version dieses Prozesses.)
Betreff: Festlegen der Wertreihenfolge oder der Wertbezeichnung anhand einer anderen SpalteSo oft ich auch mit assoziativen Arrays arbeite, vergesse ich immer noch das <
Betreff: Festlegen der Wertreihenfolge oder der Wertbezeichnung anhand einer anderen SpalteAnwendungsfall:
Bundesstaaten (mit Name = Abkürzung) nach Postleitzahl sortieren:
Diagramm-Überarbeitung: Masern-Heatmap
Betreff: Festlegen der Wertreihenfolge oder der Wertbezeichnung anhand einer anderen SpalteAlternative Lösung von @MS
Wie sortiert man die x-Achse nach einem anderen Spaltenwert?
Zusammenfassung + Rangindex