Sélecteur de colonnes et générateur de graphiquesSalut,
J'ai un certain nombre de colonnes que j'ai regroupées.
Dans le générateur de graphiques, j'ai la constante de l'axe X, mais l'axe Y doit avoir la fonction de changement de colonne où nous pouvons choisir le paramètre entre lequel nous voulons basculer à partir dudit groupe de colonnes.
Je dis d’abord à JSL quelles colonnes doivent être dans le groupe et quelle colonne doit être ma première colonne
colList = dttable << get column names( continuous );
col1 = colList[1];
Voici le code et l'erreur que j'obtiens,
Graph Builder(
Size( 570, 621 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :batch_no ), Y( :col1 ) /*###*/ ),
Elements( Points( X, Y, Legend( 8 ) ) ),
Column Switcher( :col1, {:colList} )
)
Pouvez-vous me dire ce que je dois écrire pour la variable Y afin que je puisse commencer par la première colonne, puis ajouter le sélecteur de colonnes.
Merci d'avance
Analyse et modélisation des données de baseAccès aux donnéesConception d'expériencesles fenêtresRe : Sélecteur de colonnes et générateur de graphiquesMerci
Re : Sélecteur de colonnes et générateur de graphiquesVoici mes modifications
Graph Builder(
Size( 570, 621 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( <SPAN class="lia-emoticons-autosuggestions"><SPAN class="lia-emoticons-search-term">:batch_no</SPAN></SPAN> ), Y( as column(col1) ) ),
Elements( Points( X, Y, Legend( 8 ) ) ),
Column Switcher( col1, colList )
)
;
colList est une liste, elle ne nécessite donc pas un deuxième ensemble de {}
Re : Sélecteur de colonnes et générateur de graphiquesSalut Jim,
Merci pour votre aide.
J'obtiens le graphique maintenant, mais le sélecteur de colonnes ne fonctionne toujours pas.
dtrelsplit << Newscript ("graph",
Graph Builder(
Size( 570, 621 ),<BR />
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(
X( :batch_no ),
Y(col1),
),
Elements( Points( X, Y, Legend( 8 ) ) ),
Column Switcher(
col1, {colList}
),
),
Column Switcher cannot find specified column col1 in platform script</CODE></PRE>
<P>Voici l'erreur affichée</P>
<BR />
</LINGO-BODY>
<LINGO-SUB id="lingo-sub-724503" slang="en-US" mode="CREATE">Re : Sélecteur de colonnes et générateur de graphiques</LINGO-SUB><LINGO-BODY id="lingo-body-724503" slang="en-US" mode="CREATE"><P>Vous précisez</P>
<PRE><CODE class=" language-jsl">:col1
Les deux points indiquent à JMP qu'il y a une colonne dans la table de données appelée "col1" (voir la portée dans la documentation JMP) ; Col1 est une variable mémoire, pas une colonne. Supprimez les deux points et votre code devrait fonctionner.
Re : Sélecteur de colonnes et générateur de graphiquesLe JMP est-il devenu plus strict ?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
colLst = { :Height, :Weight, :Age };
// doesn't work
dt << New Script( "test",
Graph Builder(
Variables( X( :Weight ), Y( :Height ) ),
Elements( Points( X, Y ) ),
Column Switcher( :Height, colLst )
)
);
// does work
dt << New Script( "test2",
Graph Builder(
Variables( X( :Weight ), Y( :Height ) ),
Elements( Points( X, Y ) ),
Column Switcher( :Height, { :Height, :Weight, :Age } )
)
);
// does work
Eval( Eval Expr( dt << New Script( "test3",
Graph Builder(
Variables( X( :Weight ), Y( :Height ) ),
Elements( Points( X, Y ) ),
Column Switcher( :Height, Expr( colLst ) )
)
)));
Re : Sélecteur de colonnes et générateur de graphiquesÀ quelles deux versions de JMP faites-vous référence ?
Re : Sélecteur de colonnes et générateur de graphiquesJMP19.
Modification : Je ne pourrais pas déterminer sans effort si la variable colList fonctionnait dans JMP18 ou une version antérieure. Je suis surpris, car j'ai trouvé plusieurs références concernant l'utilisation de variables auxquelles des listes sont transmises pour une utilisation ultérieure.
Re : Sélecteur de colonnes et générateur de graphiques@Ressel ,
En utilisant une instance nouvellement exécutée, donc propre, de JMP 18, l'exemple de script que vous avez inclus du cas que vous avez suggéré fonctionnait pour vous dans JMP 18 n'a pas fonctionné pour moi.
Le problème est dû à l'isolement que JMP fournit pour l'exemple de script que vous avez inclus, où il a comme première ligne
Names Default To Here( 1 );
Cette fonction isole les variables créées pour qu'elles soient uniques à l'exécution du script. Par conséquent, la variable « collist » n'est connue du script qu'à son exécution. L'exécution du script intégré enregistré dans la table de données crée un nouvel environnement de script, et la variable « collist » n'est pas définie.
La raison pour laquelle vos deux versions du code qui s'exécutent correctement fonctionnent réellement est que dans le premier cas, les valeurs sont codées en dur dans le script, et dans le second cas, les
Expr( colLst )
étend la variable colist en valeurs codées en dur avant l'exécution du code, faisant du script intégré dans la table de données une version codée en dur du script.
Ainsi, dans votre cas, JMP 19 n’a pas changé par rapport à la version 18
Re : Sélecteur de colonnes et générateur de graphiquesAh, d'accord. Je suppose que c'est un problème d'« espace de noms » ?
De plus, je n'ai pas prétendu que cela fonctionnait pour moi dans JMP18. Je me demandais pourquoi la solution proposée ici, qui semblait si claire, ne fonctionnait pas. J'ai alors soupçonné à tort que cela pouvait être lié à l'évolution de JSL. Ce n'est pas le cas.
Merci pour la clarification !
Re: Sélecteur de colonnes et générateur de graphiquesSuper conversation 
loupe sur les écrous et boulons de JSL...
Je me demandais simplement quelle était la différence entre Variables() et Column Switcher() dans
Variables( ... Y( as column(col1) ) ),
Column Switcher( col1, colList )
Celui-ci fonctionne aussi :
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
cols = dt << get column names( continuous );
col1= cols[1];
gb = dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X(col1 ), ),
Elements( bar( X ), ),
Column Switcher( col1, cols )
);
ainsi que celui-ci :
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
cols = dt << get column names( continuous, "String" );
col1= cols[1];
gb = dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X(Column(col1) ), ),
Elements( bar( X ), ),
Column Switcher( col1, cols )
);
Ce qui ne fonctionne pas :
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
cols = dt << get column names( continuous, "String" );
col1= cols[1];
gb = dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X(col1 ), ),
Elements( bar( X ), ),
Column Switcher( col1, cols )
);
Donc, Sélecteur de colonnes() accepte correctement une chaîne de caractères .
La fonction Variables() nécessite un nom ou une colonne (créée via As Column() ou colonne() ).
Re : Sélecteur de colonnes et générateur de graphiques@hogi , vos résultats signifient-ils qu'il ne s'agit pas d'un problème d'environnement ou d'espace de noms, mais de quelque chose de différent ?
Re : Sélecteur de colonnes et générateur de graphiquesNon, le problème avec les scripts de table est un problème d'espace de noms, comme l'a expliqué @txnelson .
Chaîne , nom ou colonne est juste une autre chose que l'on peut apprendre.