Automatisches Gruppierungsskript<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo alle
Ich brauche Hilfe, wie man am besten mehrere Spalten der gleichen Tabelle gruppiert.
Meine Tabelle hätte folgende Spalten:
Z 3, X 1, Z 2, X 3, X 4, Y 1, X 2, Y 2, Z 1
Ich würde gerne alle Xs, Ys und Zs zusammenfassen und wenn möglich in numerischer Reihenfolge. Dies ist eine komprimierte Version von dem, was ich behandele, was normalerweise in der Größenordnung von Hunderten von Säulen mit unterschiedlichen Gruppengrößen ist.
Ich denke, der einfachste Weg wäre, eine Liste basierend auf den Spaltennamen zu erstellen und dann die loc () -Funktion zu verwenden, um die Position jedes ähnlichen Spaltennamens zurückzugeben. Was ist jedoch der beste Weg, um den Befehl group () zu verwenden?
Jede Hilfe zu diesem Problem wird geschätzt.
Vielen Dank!
Re: Automatisches GruppierungsskriptFunktioniert super, danke MS!
Eine Folgefrage ... Gibt es eine einfache Möglichkeit, dem Benutzer eine Liste aller Gruppen anzuzeigen, eine weitere Gruppe aus der Liste auszuwählen und das Skript dann Teilmengestabellen erstellen, die nur die ausgewählten Gruppen enthalten?
Re: Automatisches GruppierungsskriptEs gibt wahrscheinlich mehrere Möglichkeiten, dies zu tun. Hier ist eine Idee, die für jede Tabelle funktionieren sollte, bei der die Gruppierung auf dem ersten Buchstaben der Spaltennamen basieren soll.
// Beispieltabelle
Namen = { Z 3 . X 1 . Z 2 . X 3 . X 4 . Y 1 . X 2 . Y 2 . Z 1 } ;
dt = Neue Tabelle ( "Prüfung" ) ;
Zum ( ich = 1 . ich <= N Artikel ( Namen ) . ich ++
dt << Neue Spalte ( Verkohlen ( Namen [ ich ] ) . numerisch )
) ;
// Tabellenspalten sortieren und Liste der ersten Buchstaben der Spaltennamen erstellen
dt << Nach Name sortieren () ;
Collist = dt << Spaltennamen erhalten ( Schnur ) ;
Zum ( ich = 1 . ich <= N Col ( dt ) . ich ++
Collist [ ich ] = Links ( Collist [ ich ] . 1 )
) ;
// Liste mit eindeutigem Spaltennamen 1. Buchstaben erstellen
col_type = Assoziatives Array ( Collist ) << Schlüssel holen ;
// Gruppieren Sie Spalten
Zum ( ich = 1 . ich <= N Artikel ( col_type ) . ich ++
pos = Loc ( Collist . col_type [ ich ] ) ;
dt << Gruppenspalten ( Säule ( pos [ 1 ] ) . N Row ( pos ) ) ;
) ;