Evaluar una expresión con la función where y mostrar la salida.Hola, estoy haciendo una serie de gráficos a partir de una tabla de datos que se separan en base a nombres de variables en otra tabla. Básicamente, cuando hago una gráfica bivariada de y vs x, el by se selecciona de otra tabla de nombres. Pongo los gráficos en un cuadro de alineación, pero no consigo dónde usar los valores reales que representan las variables. Además, aparece un cuadro de texto separado sobre los gráficos con el lugar designado en lugar de mostrarse en el título del gráfico. Básicamente, veo Dónde (: Parámetro == CofA_dt10: Parámetro [w]) pero me gustaría ver la expresión evaluada para los diferentes valores de w, por lo que sabemos qué variable representa la gráfica. He probado múltiples variaciones de eval, eval expr y parse y no puedo hacer que la prueba muestre lo que quiero. Mi código está abajo, cualquier sugerencia sería muy apreciada. No se muestra con la función EVAL incluida como se muestra a continuación, si elimino la función EVAL, se mostrará la ventana pero con el problema descrito anteriormente.
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: Evaluar una expresión con la función where y mostrar la salidaHola Uday, que no funcionó; Soy incapaz de evaluar la expresión en el
donde declaración. Sin embargo, modifiqué el código que me enviaste y puedo
Evaluar la expresión dentro del título del gráfico. Si encuentro una forma de borrar
el cuadro de texto sobre los gráficos con el siguiente "Dónde (: Parámetro == Eval (
Parse (Eval Insert ("Stmt")))) "entonces esto debería ser un aceptable
solución. Todavía tengo curiosidad de por qué esto funciona en el título del gráfico pero no en
La declaración donde está, pero eso es para mi propio entendimiento.
CofA_dt10 = Tabla de datos * (* "GraphData" *) * << * Resumen (* Grupo * (*: Parámetro
*) *, Frecuencia * (* "Ninguna" *) *, Peso * (* "Ninguna" *) * *) *;
output2 = Cuadro de alineación * (* N Col * (* * 1 * *) * *) *;
row_count = N Row * (* CofA_dt10 *) *;
Para * (* w = * 1 *, w <= row_count - * 1 *, w ++,
Stmt = CofA_dt10: Parámetro * [* w *] *;
output2 << * append (*
CofA_dt9 <<
Bivariable * (*
Y * (*: test_value *) *,
X * (*: fecha_recibida *) *,
Donde * (*: Parámetro == Eval * (* Parse * (* Eval Insert * (* "Stmt" *) * *) * *) *
*) *,
SendToReport * (*
Envío*(*
* {} *,
"Ajuste bivariado de test_value Por Recibido_fecha",
ContornoBox,
* {* Establecer título * (* "Valor de parámetro CofA por fecha de recepción" || "" || Eval * (*
Parse * (* Eval Insert * (* "Stmt" *) * *) * *) * *)} *
*) *,
Dispatch * (* * {} *, "1", ScaleBox, * {* Label Row * (* Label Orientation * (*
"En ángulo" *) * *)} * *) *,
Envío*(*
* {} *,
"test_value",
TextEditBox,
* {* Establecer texto * (*
"Valor"
*)} *
*) *
*))) *
*); *
Re: Evaluar una expresión con la función where y mostrar la salida @tsolomon ,
Una edición, creo que esto podría funcionar, si no, hágamelo saber y lo echaré un vistazo.
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: Evaluar una expresión con la función where y mostrar la salidaGracias Uday, pero desafortunadamente, eso todavía no funciona para mí. el título
de la gráfica aparece como "
Donde (: Parámetro == Eval (Parse (Eval Insert ("Stmt")))) "en lugar de
mostrando Stmt para cada gráfica. Estoy usando JMP 12 si eso hace una
diferencia.
Aclamaciones,
Tesfu
Re: Evaluar una expresión con la función where y mostrar la salida @tsolomon ,
Lo que podrías querer probar es esto:
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 loopBásicamente, desea envolver la evaluación con un Insert Insert y Parse