comment convertir les noms de colonnes en une liste de chaînesSalut,
Je voudrais convertir les noms de colonnes en chaînes mais je ne sais pas comment.
dt = Open( "$SAMPLE_DATA/Decathlon.jmp" );
col_names = dt << Get Column Names();
Show(col_names);
cela mène à
col_names = {Name, Country, Score, Name("100m"), Long Jump, Shot Put, High Jump, Name("400m"), Name("100m hurdles"), Discus, Pole Vault, Javelin, Name("1500m")};J'aimerais plutôt avoir quelque chose comme ça :
col_names = {"Name", "Country", "Score", "100m", "Long Jump", "Shot Put", "High Jump", "400m", "100m hurdles", "Discus", "Pole Vault", "Javelin", "1500m"};Une idée?
Merci pour votre aide!
Re : comment convertir les noms de colonnes en une liste de chaînesci-dessous attribuera une valeur de chaîne d'un nom de colonne, pour la première colonne sélectionnée dans la table de données active actuelle.
dt = current data table();
theName = ((dt<<GET selected="" columns=""></GET>
Re : comment convertir les noms de colonnes en une liste de chaînessupposons que j'ai un seul nom de colonne en tant que variable, comment transformer ce nom de colonne en chaîne ? Par exemple, une boîte de dialogue utilisateur sélectionne une colonne, je veux ce nom de colonne sous forme de chaîne. Merci.
Re : comment convertir les noms de colonnes en une liste de chaînesCela a fonctionné mais je devais d'abord créer une variable de nom de groupe.
j=1;
GN = "ColGroupe"||j ;
dt < < Colonnes de groupe (GN , col_list ) ;
travaillé.
Mais
dt < < Regrouper les colonnes( "ColGroupe"||j , liste_col);
pas.
Il s'est avéré que c'était le problème depuis le début.
Le message d'erreur donnait l'impression que le problème provenait de la liste des colonnes.
Re : comment convertir les noms de colonnes en une liste de chaînesCela marche:
dt = current data table();
col_list = {"Column 1", "Column 2", "Column 3"};
dt << Group Columns("ColGroup", col_list);Re : comment convertir les noms de colonnes en une liste de chaînesJ'ai le problème inverse. J'ai besoin de convertir une liste de chaînes en une liste de noms de colonnes.
J'ai une liste de noms de colonnes sous forme de chaînes, {"col1", "col2", "col3"}
Je veux regrouper ces colonnes mais cette fonction a besoin que la liste ressemble à ceci :
dt << Group Columns("ColGroup", {:col1, :col2, :col3});
J'ai essayé de nombreuses permutations de eval, evapexpr et column mais je n'ai pas trouvé la bonne.
Re : comment convertir les noms de colonnes en une liste de chaînesÉtant donné que votre objectif déclaré est que les mêmes couleurs de Graph Builder s'appliquent à d'autres graphiques, pourriez-vous utiliser les propriétés de colonne - Couleurs de valeur pour accomplir ce que vous voulez ?
Re : comment convertir les noms de colonnes en une liste de chaînescol_str = dt << Obtenir les noms de colonne( "String" ); fonctionne dans JMP 13.
Pour JMP 12, utilisez col_str = dt << Get Column Names( "String" );
Comme l'a suggéré Ian.
Re : comment convertir les noms de colonnes en une liste de chaînesIl est possible que l'expression du script enregistré de Graph Builder ait changé, et si c'est le cas, la façon dont le script est analysé devrait être modifiée en conséquence. Je n'ai pas cette version installée donc je ne peux pas vérifier facilement.
Mais vous devriez être capable d'utiliser l'approche générale.
Re : comment convertir les noms de colonnes en une liste de chaînesMerci pour le retour rapide.
J'utilise JMP Pro 12.2.0. C'est peut-être la raison pour laquelle nos résultats diffèrentRe : comment convertir les noms de colonnes en une liste de chaînesJ'ai eu quelques problèmes avec le logiciel Community, et vous avez peut-être une version incomplète. En tout cas, le code me donne maintenant (JMP Pro 13.1 sur un Mac):
{:height, :weight}
Re : comment convertir les noms de colonnes en une liste de chaînesMerci pour votre réponse.
Malheureusement ton code revient
{Empty()}Re : comment convertir les noms de colonnes en une liste de chaînesSuite à la réflexion de Jim, peut-être quelque chose comme?
Names Default To Here( 1 );
// Make a Graph Builder report
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder( Variables( X( :height ), Y( :weight ) ), Elements( Points( X, Y ), Smoother( X, Y ) ) );
// Post-hoc interrogation of the report . . .
// (1) Get the script that launched the platform (or do: ' sc = gb << getScript')
sc = (Report(gb) << getScriptableObject) << getScript;
// (2) Pick apart the script expression and get what's needed
varList = {};
for(i=1, i<=Narg(Arg(sc,1)), i++,
InsertInto(varList, Arg(Arg(Arg(sc,1), i),1));
);
Print(varList);
Le code est un peu concis, mais vous pouvez utiliser 'Help > Scripting Guide' pour voir ce que font 'Arg()' et 'NArg()'.
Re : comment convertir les noms de colonnes en une liste de chaînesNames Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder( Variables( X( :height ), Y( :weight ) ), Elements( Points( X, Y ), Smoother( X, Y ) ) );
// you could extract the x and y labels if you think
// these might have remained as the variable names
yvar=report(gb)[TextEditBox(3)]<<GET text=""></GET>
Re : comment convertir les noms de colonnes en une liste de chaînesMerci pour votre retour.
L'idée est d'utiliser JSL pour faire quelque chose avec la liste des variables du graphe (par exemple, vérifier quelle couleur a été attribuée par le constructeur de graphes pour une variable donnée (qui ne sait pas encore comment faire)) et utiliser le résultat pour faire autre chose (par exemple assurez-vous que la même couleur est utilisée dans un autre graphique).
L'analyse de l'ensemble du script de création de graphes renvoyé par Get Script pour déterminer la liste des noms de variables semble être une manière assez compliquée de procéder.
Re : comment convertir les noms de colonnes en une liste de chaînesSi vous cherchez à obtenir quelles variables ont été utilisées Post Hoc sur la plate-forme en cours d'exécution, vous pouvez toujours extraire le script utilisé pour produire la plate-forme et l'examiner pour obtenir les variables.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = Graph Builder(
Variables(
X( :Sex ),
Y( :Height ),
Group X( :Age )
),
Elements( Box Plot( X, Y ) )
);
t = obj << Get Script;
Show( t );
Re : comment convertir les noms de colonnes en une liste de chaînes
Essayez d'ajouter String dans la fonction Get Column Names. Par exemple:
col_str = dt << Obtenir les noms de colonne (chaîne);
Il en résulte
{"Nom", "Pays", "Score", "100 m", "Saut en longueur", "Lancer du poids", "Saut en hauteur", "400 m",
"100m haies", "Disque", "Perche", "Javelot", "1500m"}
Re : comment convertir les noms de colonnes en une liste de chaînesEssayez d'ajouter String comme argument de la fonction Get Column Names.
Par exemple:
col_str = dt << Obtenir les noms de colonne (chaîne);
Il en résulte
{"Nom", "Pays", "Score", "100 m", "Saut en longueur", "Lancer du poids", "Saut en hauteur", "400 m",
"100m haies", "Disque", "Perche", "Javelot", "1500m"}Re : comment convertir les noms de colonnes en une liste de chaînesExiste-t-il quelque chose de similaire pour Get Variables() ?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder( Variables( X( :height ), Y( :weight ) ), Elements( Points( X, Y ), Smoother( X, Y ) ) );
gbb = Report( gb )[Graph Builder Box( 1 )];
gbb << Get Variables();
Re : comment convertir les noms de colonnes en une liste de chaînesMerci!
Re : comment convertir les noms de colonnes en une liste de chaînesEssayez '<< getColumnNames ( "Chaîne" )'.
Recherchez les info-bulles de l'éditeur qui s'affichent pour les mots-clés colorés, ou utilisez "Aide > Index des scripts" pour approfondir.