De nombreux noms de colonne, recherchez une partie de la chaîne de nom de colonne<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour,
J'y suis depuis un jour ou deux maintenant et je n'arrive pas à trouver une solution. J'ai une grande quantité de noms de colonnes et je souhaite écrire un script qui "regardera" chaque nom de colonne et identifiera si les premiers caractères sont les caractères que j'ai spécifiés. La liste des noms de colonne comporte une série de 3 premiers caractères variables, par exemple : "XX". "AA." "ZZ.". Quelles sont mes intentions générales de rechercher dans ces colonnes et de regrouper les colonnes dans des groupes qui ont : "XX". "AA." "ZZ." etc..
Re : De nombreux noms de colonnes, recherchez une partie de la chaîne de nom de colonneMerci encore, cela semble fonctionner sur mon tableau de données de test ! J'essayais d'utiliser la fonction Word avec un délimiteur et de générer une liste à partir de là, mais votre méthode est bien meilleure. Merci également pour l'astuce concernant l'"index de script" qui est très utile. J'ai utilisé le Guide de script, mais l'index est excellent. Je vois que j'ai tellement de choses à apprendre et j'apprécie toute votre aide pour me lancer.
Re : De nombreux noms de colonnes, recherchez une partie de la chaîne de nom de colonneLe instring équivalent en JSL est contient .L'option de menu Help > Scripting Index est très utile, btw.
Ce code regroupe chaque ensemble de XX et YY dans des groupes distincts.
// Crée une table pour tester les choses sur
dt = Nouveau tableau ( "Test" , Ajouter des lignes ( 3 ) ,
Nouvelle colonne ( "XX1" , Numérique , Continu , Format ( "Meilleur" , 12 ) , Définir les valeurs ( [ 1 , 2 , 3 ] ) ) ,
Nouvelle colonne ( "XX2" , Numérique , Continu , Format ( "Meilleur" , 12 ) , Définir les valeurs ( [ 1 , 2 , 3 ] ) ) ,
Nouvelle colonne ( "AA1" , Numérique , Continu , Format ( "Meilleur" , 12 ) , Définir les valeurs ( [ 1 , 2 , 3 ] ) ) ,
Nouvelle colonne ( "AA2" , Numérique , Continu , Format ( "Meilleur" , 12 ) , Définir les valeurs ( [ 1 , 2 , 3 ] ) )
) ;
// Liste des noms de colonnes pour la table
col_names = dt << obtenir les noms de colonnes ( chaîne ) ;
// Chaîne recherchée
group_list = { "xx" , "AA" } ;
// Boucle sur les groupes de colonnes
pour ( je = 1 , je <= articles ( group_list ) , je ++,
// Liste vide à remplir avec les colonnes trouvées
liste_trouvé = {} ;
un_groupe = group_list [ je ] ;
// Boucle sur tous les noms de colonne, en recherchant ceux qui commencent par "YY"
pour ( k = 1 , k <= articles ( col_names ) , k ++,
si ( commence avec ( col_names [ k ] , un_groupe ) ,
insérer dans ( liste_trouvé , col_names [ k ]) ;
) ;
) ;
si ( articles ( liste_trouvé ) > 0 ,
dt << groupes de colonnes ( un_groupe , liste_trouvé ) ;
) ;
) ;
Re : De nombreux noms de colonnes, recherchez une partie de la chaîne de nom de colonnePMroz,
Merci beaucoup pour votre aide. Je l'ai testé et il semble générer la liste que je voulais.Je n'étais pas au courant des commandes "commence par" ou "insertinto", je suis assez nouveau pour JSL. Je cherchais une sorte de fonction de caractère 'InString', qui ne semble pas exister.Une autre question, maintenant que mes noms de colonnes sont stockés dans un vecteur liste/ligne, puis-je maintenant les stocker dans un groupe ? Juste pour rendre l'interface utilisateur sur la table JMP un peu plus facile à regarder ? Merci encore pour votre aide.
Re : De nombreux noms de colonnes, recherchez une partie de la chaîne de nom de colonneCela devrait vous aider à démarrer.
// Crée une table pour tester les choses sur
dt = Nouveau tableau ( "Test" , Ajouter des lignes ( 3 ) ,
Nouvelle colonne ( "XX1" , Numérique , Continu , Format ( "Meilleur" , 12 ) , Définir les valeurs ( [ 1 , 2 , 3 ] ) ) ,
Nouvelle colonne ( "XX2" , Numérique , Continu , Format ( "Meilleur" , 12 ) , Définir les valeurs ( [ 1 , 2 , 3 ] ) ) ,
Nouvelle colonne ( "AA1" , Numérique , Continu , Format ( "Meilleur" , 12 ) , Définir les valeurs ( [ 1 , 2 , 3 ] ) ) ,
Nouvelle colonne ( "AA2" , Numérique , Continu , Format ( "Meilleur" , 12 ) , Définir les valeurs ( [ 1 , 2 , 3 ] ) )
) ;
// Liste des noms de colonnes pour la table
col_names = dt << obtenir les noms de colonnes ( chaîne ) ;
// Liste vide à remplir avec les colonnes trouvées
liste_trouvé = {} ;
// Chaîne recherchée
à la recherche de = "AA" ;
// Boucle sur tous les noms de colonne, en recherchant ceux qui commencent par "YY"
pour ( je = 1 , je <= articles ( col_names ) , je ++,
si ( commence avec ( col_names [ je ] , à la recherche de ) ,
insérer dans ( liste_trouvé , col_names [ je ]) ;
) ;
) ;
imprimer ( liste_trouvé ) ;