Wählen Sie Where() aus, das nicht funktioniertIch versuche, das Variabilitätsdiagramm und die ausgewählte Datenzeile in das Journal einzufügen. Aber ich habe Probleme, die ausgewählte Zeile in das Journal anzuhängen. Kann mir bitte jemand einen Rat geben?
Daneben habe ich noch einen weiteren Warnfehler erhalten. Wie kann ich den Fehler beheben?
Das Element „Concat“ kann im Gliederungskontext {„Variabilitätsdiagramm für“ || nicht gefunden werden WerteMatrix[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
);Hier ist meine Datentabelle und mein Skript
Datenexploration und -visualisierungQualitäts- und VerfahrenstechnikBetreff: Select Where() funktioniert nichtHallo,
Klar, ich bin froh, geholfen zu haben.
Betreff: Select Where() funktioniert nichtHallo Hadley,
Du hast Recht! Nachdem ich die Zeile auskommentiert habe, kann es jetzt funktionieren! Danke für den Input.
Betreff: Select Where() funktioniert nichtIch denke, das Problem liegt in der Zeile danach.Es sollte lauten:
ob_sum[Table Box( 1 )] << Set Scrollable( 0, 0 );
Betreff: Select Where() funktioniert nichtHallo Hadley,
Nachdem ich das Skript wie folgt geändert habe, erhalte ich eine Fehlermeldung. Bei mir funktioniert es nicht.
ob_sum << Append( dt_sum << Get As Report );
Ungültiger Index (muss eine Zahl oder eine Liste von Zahlen sein) beim Zugriff oder bei der Auswertung von „dt_sum[Table Box(1)]“, dt_sum[/*###*/Table Box( 1)]
Betreff: Select Where() funktioniert nichtHallo,
Die Zeilen 25-29 sollten so aussehen:
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 );
Betreff: Select Where() funktioniert nichtHier ist mein modifiziertes Skript. Das Originalskript ist bereits in meinem Originalbeitrag mit allen für die JSL relevanten Datentabellen hochgeladen.
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>
Betreff: Select Where() funktioniert nichtHallo,
Ich glaube, dass dt_sum als DisplayBox neu definiert wird.Können Sie Ihren gesamten geänderten Code veröffentlichen?Ich werde sehen, ob ich erkennen kann, wo das passiert.
Betreff: Select Where() funktioniert nichtHallo Hadley,
Danke für die Antwort. Ich habe versucht, den Code entsprechend zu ändern. Aber es gibt mir immer noch eine Fehlermeldung. 
Das Anzeigefeld „BorderBox“ erkennt die Meldung „Select Where“ nicht; Vielleicht meinen Sie eines davon: <<<<<<<<<<<<< Bild abrufen <<<<<<<<<<<<<<<<<Betreff: Select Where() funktioniert nichtHallo,
Ich glaube, das Problem mit der Zeile besteht darin, dass Sie dt_sum früher im Code einer DisplayBox zugewiesen haben.Außerdem denke ich, dass wir die Zeile als Bericht definieren müssen, wenn wir sie an ein Journal anhängen möchten.
Ich habe die for-Schleife wie folgt geändert:
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>
Ich habe auch den Teil, in dem Sie dt_sum definieren, wie folgt geändert:
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 );
Versuchen Sie es bitte und lassen Sie mich wissen, ob es funktioniert.