Evaluer une expression avec la fonction where et afficher le résultatBonjour, Je réalise une série de graphiques à partir d’une table de données, qui sont séparés en fonction des noms de variables d’une autre table. Fondamentalement, lorsque je crée un graphe bivarié de y vs x, le par est sélectionné dans un autre tableau de noms. Je mets les graphiques dans une boîte de dialogue mais je ne peux pas obtenir où utiliser les valeurs réelles que représentent les variables. En outre, une zone de texte distincte apparaît au-dessus des graphiques avec l’emplacement désigné, au lieu de l’afficher dans le titre du graphique. En gros, je vois Where (: Parameter == CofA_dt10: Parameter [w]), mais j'aimerais que l'expression soit évaluée pour les différentes valeurs de w afin que nous sachions quelle variable représente le graphique. J'ai essayé plusieurs variantes de eval, eval expr et parse et je ne parviens pas à faire le test pour afficher ce que je veux. Mon code est ci-dessous, toute suggestion serait grandement appréciée. Il ne s’affiche pas avec la fonction EVAL incluse ci-dessous. Si je supprime la fonction EVAL, la fenêtre s’affiche, mais avec le problème décrit ci-dessus.
CofA_dt10 = Data Table( "GraphData" ) << Summary(
Group( :Parameter ),
Freq( "None" ),
Weight( "None" )
);
output2 = lineup box(Ncol(1));
row_count = nrow(CofA_dt10);
for(w=1, w<=row_count-1, w++,
output2 << append (CofA_dt9 << Bivariate(
Y( :test_value ),
X( :received_date ),
Where( :Parameter == Eval(CofA_dt10:Parameter[w])),
SendToReport(
Dispatch(
{},
"Bivariate Fit of CofA Parameter Value By received_date",
OutlineBox,
{Set Title( "CofA Material Parameter Value By received_date" )}
),
Dispatch( {}, "1", ScaleBox, {Label Row( Label Orientation( "Angled" ) )} ),
Dispatch( {}, "test_value", TextEditBox, {Set Text( "Value" )} )
)
))
); //end row loop
Re: Evaluer une expression avec une fonction where et afficher le résultatBonjour Uday, ça n'a pas marché. Je suis incapable d'évaluer l'expression dans le
où déclaration. Cependant, j'ai modifié le code que vous m'avez envoyé et je suis en mesure de
évaluer l'expression dans le titre du graphique. Si je trouve un moyen de supprimer
la zone de texte au-dessus des graphiques avec le texte suivant "Where (: Parameter == Eval (
Parse (Eval Insert ("Stmt")))) "alors cela devrait être un acceptable
Solution. Je suis toujours curieux de savoir pourquoi cela fonctionne dans le titre du graphique mais pas dans
la déclaration où mais c'est pour ma propre compréhension.
CofA_dt10 = Table de données * (* "GraphData" *) * << * Résumé (* Groupe * (*: Paramètre)
*) *, Freq * (* "None" *) *, Poids * (* "None" *) * *) *;
sortie2 = boîte de lignes * (* N Col * (* * 1 * *) * *) *;
row_count = N Row * (* CofA_dt10 *) *;
Pour * (* w = * 1 *, w <= nombre_lignes - * 1 *, w ++,
Stmt = CofA_dt10: Paramètre * [* w *] *;
output2 << * append (*
CofA_dt9 <<
Bivarié * (*
Y * (*: test_value *) *,
X * (*: created_date *) *,
Où * (*: paramètre == Eval * (* Parse * (* Eval Insert *) (* "Stmt" *) * *) * *) *
*) *,
SendToReport * (*
Envoi*(*
* {} *,
"Ajustement bivarié de test_value à la date de réception",
OutlineBox,
* {* Définir le titre * (* "Valeur du paramètre CofA par reçu_date" || "" || Eval * (*
Parse * (* Eval Insert * (* "Stmt" *) * *) * *) * *)} *
*) *,
Dispatch * (* * {} *, "1", ScaleBox, * {* Ligne d'étiquette * (* Orientation de l'étiquette * (*
"En angle" *) * *)} * *) *,
Envoi*(*
* {} *,
"test_value",
TextEditBox,
*{*Définir le texte*(*
"Valeur"
*)} *
*) *
*))) *
*); *
Re: Evaluer une expression avec une fonction where et afficher le résultat @tolomon ,
Une édition, je pense que cela pourrait fonctionner, sinon s'il vous plaît faites le moi savoir et je vais y jeter un coup d'oeil
CofA_dt10 <SPAN class="token operator">=</SPAN> <SPAN class="token function">Data Table</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"GraphData"</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN> Summary<SPAN class="token punctuation">(</SPAN> Group<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN><SPAN class="token function">Parameter</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> Freq<SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"None"</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> Weight<SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"None"</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
output2 <SPAN class="token operator">=</SPAN> <SPAN class="token function">Lineup Box</SPAN><SPAN class="token punctuation">(</SPAN> N Col<SPAN class="token punctuation">(</SPAN> <SPAN class="token number">1</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
row_count <SPAN class="token operator">=</SPAN> <SPAN class="token function">N Row</SPAN><SPAN class="token punctuation">(</SPAN> CofA_dt10 <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
<SPAN class="token function">For</SPAN><SPAN class="token punctuation">(</SPAN> w <SPAN class="token operator">=</SPAN> <SPAN class="token number">1</SPAN><SPAN class="token punctuation">,</SPAN> w <SPAN class="token operator"><=</SPAN> row_count <SPAN class="token operator">-</SPAN> <SPAN class="token number">1</SPAN><SPAN class="token punctuation">,</SPAN> w<SPAN class="token operator">++</SPAN><SPAN class="token punctuation">,</SPAN>
Stmt <SPAN class="token operator">=</SPAN> CofA_dt10<SPAN class="token punctuation">:</SPAN><SPAN class="token function">Parameter</SPAN><SPAN class="token punctuation">[</SPAN>w<SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">;</SPAN>
output2 <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN> append<SPAN class="token punctuation">(</SPAN>
CofA_dt9 <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN> Bivariate<SPAN class="token punctuation">(</SPAN>
Y<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>test_value <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
X<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>received_date <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Eval(Parse(Eval Insert("\[Where<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN><SPAN class="token function">Parameter</SPAN> <SPAN class="token operator">==</SPAN> <SPAN class="token punctuation">[^</SPAN>Stmt^<SPAN class="token punctuation">]</SPAN>\"<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
SendToReport<SPAN class="token punctuation">(</SPAN>
Dispatch<SPAN class="token punctuation">(</SPAN>
<SPAN class="token punctuation">{</SPAN><SPAN class="token punctuation">}</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token string">"Bivariate Fit of CofA Parameter Value By received_date"</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token function">OutlineBox</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token punctuation">{</SPAN>Set Title<SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"CofA Material Parameter Value By received_date"</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">}</SPAN>
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Dispatch<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">{</SPAN><SPAN class="token punctuation">}</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token string">"1"</SPAN><SPAN class="token punctuation">,</SPAN> ScaleBox<SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">{</SPAN>Label <SPAN class="token function">Row</SPAN><SPAN class="token punctuation">(</SPAN> Label Orientation<SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"Angled"</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">}</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Dispatch<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">{</SPAN><SPAN class="token punctuation">}</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token string">"test_value"</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token function">TextEditBox</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">{</SPAN>Set <SPAN class="token function">Text</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"Value"</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">}</SPAN> <SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN> <SPAN class="token comment">//end row loop</SPAN>
Re: Evaluer une expression avec une fonction where et afficher le résultatMerci Uday mais malheureusement, ça ne marche toujours pas pour moi. le titre
du graphique apparaît comme "
Where (: Parameter == Eval (Parse (Eval Insert ("Stmt")))) "" au lieu de
affichant Stmt pour chaque graphique. J'utilise JMP 12 si cela fait une
différence.
À votre santé,
Tesfu
Re: Evaluer une expression avec une fonction where et afficher le résultat @tolomon ,
Voici ce que vous voudrez peut-être essayer:
CofA_dt10 = Data Table( "GraphData" ) << Summary( Group( :Parameter ), Freq( "None" ), Weight( "None" ) );
output2 = Lineup Box( N Col( 1 ) );
row_count = N Row( CofA_dt10 );
For( w = 1, w <= row_count - 1, w++,
Stmt = CofA_dt10:Parameter[w];
output2 << append(
CofA_dt9 << Bivariate(
Y( :test_value ),
X( :received_date ),
Where( :Parameter == Eval(Parse(Eval Insert("\[Stmt]\")) ) ),
SendToReport(
Dispatch(
{},
"Bivariate Fit of CofA Parameter Value By received_date",
OutlineBox,
{Set Title( "CofA Material Parameter Value By received_date" )}
),
Dispatch( {}, "1", ScaleBox, {Label Row( Label Orientation( "Angled" ) )} ),
Dispatch( {}, "test_value", TextEditBox, {Set Text( "Value" )} )
)
)
)
); //end row loopVous voulez essentiellement envelopper l’éval avec un Eval Insert et Parse