Seleziona Where() non funzionaProvo ad aggiungere il grafico della variabilità e la riga di dati selezionata nel diario. Ma ho problemi ad aggiungere la riga selezionata al diario. Qualcuno può consigliare?
Oltre a questo, ho ricevuto anche un altro errore di avviso. Come posso correggere l'errore?
Impossibile trovare l'elemento "Concat" nel contesto struttura {"Grafico della variabilità per " || valoriMatrice[i]}
for( i=1, i<=NItems(valuesMatrix), i++,
obj_chart = dt_wo_spec << Variability Chart(
Y( valuesMatrix[i] ),
X( :Product, :Lot, :Wafer Number ),
Connect Cell Means( 1 ),
Std Dev Chart( 0 ),
Show Box Plots( 1 ),
SendToReport(
Dispatch(
{"Variability Chart for " || valuesMatrix[i]},
"Variability Chart",
FrameBox,
{Row Legend( Product, Color( 1 ), Color Theme( "JMP Default" ), Marker( 1 ) )}
)
)
);
lub << append ( Report (obj_chart ));
lub << append( dt_sum << Select Where( :PCM == valuesMatrix[i] ) ); // this part is not working
);Ecco la mia tabella dati e script
Esplorazione e visualizzazione dei datiIngegneria della qualità e dei processiRe: Seleziona Where() non funzionaCIAO,
Certo, felice di averti aiutato.
Re: Seleziona Where() non funzionaCiao Hadley,
Hai ragione! Dopo aver commentato la riga, ora può funzionare! Grazie per il contributo.
Re: Seleziona Where() non funzionaPenso che il problema sia con la linea successiva.Dovrebbe leggere:
ob_sum[Table Box( 1 )] << Set Scrollable( 0, 0 );
Re: Seleziona Where() non funzionaCiao Hadley,
Dopo aver modificato lo script in basso, mi dà errore. per me non funziona.
ob_sum << Append( dt_sum << Get As Report );
pedice non valido (deve essere un numero o un elenco di numeri) nell'accesso o nella valutazione di 'dt_sum[Table Box(1)]' , dt_sum[/*###*/Table Box( 1 )]
Re: Seleziona Where() non funzionaCIAO,
Le righe 25-29 dovrebbero assomigliare a questa:
dt_sum = Open( "DSA_ALL.jmp" );
dt_sum << Clear Column Selection();
dt_sum << Clear Select;
ob_sum << Append( dt_sum << Get As Report );
ob_sum[Table Box( 1 )] << Set Scrollable( 0, 0 );
Re: Seleziona Where() non funzionaecco il mio script modificato. Lo script originale è già caricato nel mio post originale con tutte le tabelle di dati rilevanti per JSL.
Names Default To Here( 1 );
Clear Symbols();
Clear Log();
Close All( Data Tables, NoSave );
Close All( Journals, NoSave );
//dt_sum << clear select;
//Current Data Table( dt_sum );
//dt_sum = Current Data Table();
nw = New Window( "Reports",
<<JOURNAL>1.5
Zone2:Cpk<1.33 && DSA<1.5
Zone3:Cpk>1.33 && DSA>1.5
Zone4:Cpk>1.33 && DSA<1.5" ) );
tb1 << Set Font Size( 14 ) << Set Font Style( "Bold" ) << Justify Text( "left" );
tb1 << set width(700) << set wrap(700);
lub << Append( Page Break Box() );
//Open limit files to get the parameters into list
dt_limit = Open( "Limit.jmp" );
dt_wo_spec = Open( "JOIN.jmp" );
//Group1
lub << Append( Page Break Box() );
lub << Append( tb2 = Text Box( "Group 1 Parameters : Target process is MF process and test key is the same as MF version" ) );
tb2 << Set Font Size( 14 ) << Set Font Style( "Bold" ) << Justify Text( "Center" );
tb2 << set width(1000) << set wrap(1000);
lub << Append( Page Break Box() );
Current Data Table(dt_limit);
dt_limit << Select Where( :DSA Group == 1 );
//dt_limit << Select Where( as Column("DSA Group") == 1 );
Group1List = :new_name[dt_limit << get selected rows];
Show( Group1List);
for( i=1, i<=NItems(Group1List), i++,
obj_chart_g1 = dt_wo_spec << Variability Chart(
Y( Group1List[i] ),
X( :Product, :Lot, :Wafer Number ),
Connect Cell Means( 1 ),
Std Dev Chart( 0 ),
Show Box Plots( 1 ),
SendToReport(
Dispatch(
{},
"Variability Chart for " || Group1List[i],
OutlineBox,
{Set Title( "Group 1 Variability Chart for " || Group1List[i])}
),
Dispatch(
{"Variability Chart for " || Group1List[i]},
"Variability Chart",
FrameBox,
//{Row Legend( Product, Color( 1 ), Color Theme( "JMP Default" ), Marker( 1 ), Marker Theme( "Standard" ), Continuous Scale( 0 ), Reverse Scale( 0 ), Excluded Rows( 0 ))}
{Row Legend( Product, Color( 1 ), Color Theme( "JMP Default" ), Marker( 1 ), Marker Theme( "Standard" ))}
)
)
);
lub << append ( Report (obj_chart_g1 ));
//lub << append( dt_sum << Select Where( :PCM == Group1List[i] ) ); // this part is not working
lub << append( dt_sum << Select Where( as column("PCM") == Group1List[i] ) <<GET as="" report=""></GET></JOURNAL>
Re: Seleziona Where() non funzionaCIAO,
Credo che dt_sum venga ridefinito come DisplayBox.Puoi postare l'intero codice modificato?Vedo se riesco a individuare dove sta accadendo.
Re: Seleziona Where() non funzionaCiao Hadley,
Grazie per la risposta. Provo a modificare il codice di conseguenza. Ma mi dà ancora errore. 
La casella di visualizzazione 'BorderBox' non riconosce il messaggio 'Seleziona dove'; forse intendi uno di questi: <<<<<<<<<<<<< Ottieni immagine <<<<<<<<<<<<<<<<<Re: Seleziona Where() non funzionaCIAO,
Credo che il problema con la riga sia che, in precedenza nel codice, hai riassegnato dt_sum come DisplayBox.Inoltre, penso che dobbiamo definire la riga come report se vogliamo aggiungerla a un diario.
Ho modificato il ciclo for come segue:
for( i=1, i<=NItems(valuesMatrix), i++,
obj_chart = dt_wo_spec << Variability Chart(
Y( valuesMatrix[i] ),
X( :Product, :Lot, :Wafer Number ),
Connect Cell Means( 1 ),
Std Dev Chart( 0 ),
Show Box Plots( 1 ),
SendToReport(
Dispatch(
{"Variability Chart for " || valuesMatrix[i]},
"Variability Chart",
FrameBox,
{Row Legend( Product, Color( 1 ), Color Theme( "JMP Default" ), Marker( 1 ) )}
)
)
);
lub << append ( Report (obj_chart ));
lub << append( dt_sum << Select Where( :PCM == valuesMatrix[i])<<GET as="" report=""></GET>
Ho anche cambiato la parte in cui definisci dt_sum come segue:
dt_sum = Open( "DSA_ALL.jmp" );
dt_sum << Clear Column Selection();
dt_sum << Clear Select;
ob_sum << Append( dt_sum << Get As Report );
ob_sum[Table Box( 1 )] << Set Scrollable( 0, 0 );
Per favore, provalo e fammi sapere se funziona.