Sélectionnez Où() ne fonctionne pasJ'essaie d'ajouter un graphique de variabilité et une ligne de données sélectionnée dans le journal. Mais j'ai du mal à ajouter la ligne sélectionnée dans le journal. Quelqu'un peut-il me conseiller s'il vous plaît ?
A côté de cela, j'ai également eu une autre erreur d'avertissement. Comment puis-je corriger l'erreur ?
Impossible de trouver l'élément "Concat" dans le contexte du plan {"Tableau de variabilité pour " || valeursMatrice[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
);Voici ma table de données et mon script
Exploration et visualisation des donnéesIngénierie Qualité et ProcédésRe : Sélectionner Où() ne fonctionne pasSalut,
Bien sûr, je suis heureux d'avoir aidé.
Re : Sélectionner Où() ne fonctionne pasSalut Hadley,
Tu as raison! Après avoir commenté la ligne, ça peut fonctionner maintenant ! Merci pour votre contribution.
Re : Sélectionner Où() ne fonctionne pasJe pense que le problème vient de la ligne après celle-là.Il devrait lire :
ob_sum[Table Box( 1 )] << Set Scrollable( 0, 0 );
Re : Sélectionner Où() ne fonctionne pasSalut Hadley,
Après avoir modifié le script ci-dessous, cela me donne une erreur. ça ne marche pas pour moi.
ob_sum << Append( dt_sum << Get As Report );
indice non valide (doit être un nombre ou une liste de nombres) lors de l'accès ou de l'évaluation de 'dt_sum[Table Box(1)]' , dt_sum[/*###*/Table Box( 1 )]
Re : Sélectionner Où() ne fonctionne pasSalut,
Les lignes 25 à 29 devraient ressembler à ceci :
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 : Sélectionner Où() ne fonctionne pasvoici mon script modifié. Le script original est déjà téléchargé dans mon message d'origine avec tous les tableaux de données pertinents pour le 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 : Sélectionner Où() ne fonctionne pasSalut,
Je crois que dt_sum est redéfini en tant que DisplayBox.Pouvez-vous publier l'intégralité de votre code modifié ?Je vais voir si je peux repérer où cela se produit.
Re : Sélectionner Où() ne fonctionne pasSalut Hadley,
Merci pour votre réponse. J'essaie de modifier le code en conséquence. Mais cela me donne toujours une erreur. 
La boîte d'affichage « BorderBox » ne reconnaît pas le message « Select Where » ; peut-être voulez-vous dire l'un de ces éléments : <<<<<<<<<<<Re : Sélectionner Où() ne fonctionne pasSalut,
Je pense que le problème avec la ligne est que, plus tôt dans le code, vous avez réaffecté dt_sum pour qu'il soit un DisplayBox.De plus, je pense que nous devons définir la ligne comme un rapport si nous voulons l'annexer à un journal.
J'ai modifié la boucle for comme suit :
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>
J'ai également modifié la partie où vous définissez dt_sum comme suit :
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 );
S'il vous plaît, essayez cela et faites-moi savoir si cela fonctionne.