Comment passer une variable de chaîne à ComboBox<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour,
J'essaie de transmettre quelques chaînes stockées dans des variables à une liste déroulante dans un rapport. Cela ne fonctionne pas, la liste déroulante reste à la valeur par défaut.
Voici le code
Profiler (
Y ( Colonne ( 3 ) ) ,
Profiler (
1 ,
Valeur du terme (
prénom ( "Globalement YA-P20" ) ( 227.01 ) ,
prénom ( "Général XB-P2" ) ( 324.6375 )
) ,
Simulateur (
1 ,
Les facteurs (
prénom ( "Globalement YA-P20" ) << au hasard (
distNameOne ( 227.01 , 0.0241999999999962 )
) ,
prénom ( "Général XB-P2" ) << au hasard (
NomDeuxDeux ( 324.6375 , 0.0300000000000068 )
)
) ,
Réponses ( Combiné << Pas de bruit )
)
)
)
Les variables distNameOne et distNameTwo, par exemple, stockent le mot "Weibull".
J'ai également confirmé que la chaîne appropriée des variables était stockée à l'aide de la commande Show ().
Est-ce que quelqu'un sait comment faire ce travail?
Merci
Comment passer une variable de chaîne à ComboBoxGénial! Merci cela a fonctionné!
Comment passer une variable de chaîne à ComboBoxComme Dave l'a mentionné, vous ne pouvez pas utiliser une variable pour représenter directement un nom de fonction. Pour ces situations, j’utilise une approche légèrement différente sans evalinsert:
nom distone = "Weibull" ;
distnametwo = "LogNormal" ;
profile_expr = "
Profiler (
Y (colonne (3)),
Profiler (
1,
Valeur du terme (Nom (\! "Overall YA-P20 \!") (227.01), Nom (\! "Overall XB-P2 \!") (324.6375)),
Simulateur(
1,
Les facteurs(
Nom (\! "Overall YA-P20 \!") << Aléatoire (
" || distNameOne || "(227.01, 0.0241999999999962)),
Nom (\! "Overall XB-P2 \!") << Aléatoire (
" || NomDeuxDeux || "(324.6375, 0.0300000000000068)
)
),
Réponses (combiné << Pas de bruit)
)
)
) " ;
eval ( analyser ( profile_expr )) ;
Notez que les guillemets doubles dans l’expression doivent être remplacés par \! ".
Cordialement,
Peter
Re: Comment passer une variable de chaîne à ComboBoxVous avez du code qui ressemble à quelque chose comme ça ...
myDist = "Weibull";
Profiler (
Y (: hauteur de la formule Pred),
Profiler (
1,
Valeur du terme (poids (120)),
Simulateur(
1,
Facteurs (poids << Aléatoire (myDist (3, 134))),
Réponses (hauteur de la formule Pred << Ajoutez un bruit aléatoire (1))
)
)
)
La raison pour laquelle le code échoue est que JMP évalue la commande sans évaluer la variable myDist qui a été insérée. Il existe différentes approches pour résoudre ce problème, qui fonctionnent toutes en substituant des valeurs à l'expression avant son évaluation.
Ci-dessous une approche,
myDist = "Weibull";
Eval (Parse (EvalInsert ("\ [
Profiler (
Y (: hauteur de la formule Pred),
Profiler (
1,
Valeur du terme (poids (120)),
Simulateur(
1,
Facteurs (poids << Aléatoire ( ^ myDist ^ (3, 134))),
Réponses (hauteur de la formule Pred << Ajoutez un bruit aléatoire (1))
)
)
)
] \ ")));
Ceci est basé sur le modèle de code suivant:
Eval (Parse (EvalInsert ("\ [
// insérer Déclarations JSL ici
] \ ")));
Où Déclarations JSL représentent les expressions JSL, y compris les variables incorporées, en utilisant la notation ^ nom ^.
Dave