<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour à tous
J'ai besoin d'aide pour savoir quel serait le meilleur moyen de regrouper plusieurs colonnes du même tableau.
Ma table aurait des colonnes similaires à celles-ci:
Z 3, X 1, Z 2, X 3, X 4, Y 1, X 2, Y 2, Z 1
J'aimerais regrouper tous les X, les Y et les Z et, si possible, par ordre numérique. Ceci est une version condensée de ce que je traite qui est généralement de l'ordre de centaines de colonnes avec différentes tailles de groupe requises.
Le moyen le plus simple, selon moi, serait de créer une liste basée sur les noms de colonne, puis d’utiliser la fonction loc () pour renvoyer la position de chaque nom de colonne similaire. Cependant, quel serait le meilleur moyen d'utiliser la commande group ()?
Toute aide sur ce problème est appréciée.
Merci!
Fonctionne très bien, merci MS!
Une question de suivi ... Existe-t-il un moyen simple de présenter à l'utilisateur une liste de tous les groupes, de lui demander de sélectionner un groupe supplémentaire dans la liste, puis de faire en sorte que le script crée des sous-ensembles contenant uniquement les groupes sélectionnés?
Il y a probablement plusieurs façons de le faire. Voici une idée qui devrait fonctionner pour toute table où le regroupement doit être basé sur la première lettre du nom des colonnes.
// exemple de table
des noms = { Z 3 , X 1 , Z 2 , X 3 , X 4 , Y 1 , X 2 , Y 2 , Z 1 } ;
dt = Nouvelle table ( "tester" ) ;
Pour ( je = 1 , je <= N articles ( des noms ) , je ++,
dt << Nouvelle colonne ( Carboniser ( des noms [ je ] ) , numérique )
) ;
// trie les colonnes du tableau et crée la liste de la première lettre du nom des colonnes
dt << réorganiser par nom () ;
colliste = dt << obtenir des noms de colonnes ( chaîne ) ;
Pour ( je = 1 , je <= N Col ( dt ) , je ++,
colliste [ je ] = La gauche ( colliste [ je ] , 1 )
) ;
// Liste des noms de colonnes uniques en 1ère lettre
type_col = Tableau associatif ( colliste ) << obtenir des clés ;
// Colonnes de groupe
Pour ( je = 1 , je <= N articles ( type_col ) , je ++,
pos = Loc ( colliste , type_col [ je ] ) ;
dt << colonnes de groupe ( Colonne ( pos [ 1 ] ) , N Row ( pos ) ) ;
) ;