Bonjour, voici un script pour tracer des cartes de contrôle (toutes les limites de contrôle sont définies par l'utilisateur et cette partie du code n'est pas affichée ici). Comment puis-je modifier le script pour modifier le titre de la carte de contrôle ?
Merci beaucoup!
dt << Control Chart Builder(
Size( 719, 464 ),
Show Two Shewhart Charts( 0 ),
Show Control Panel( 0 ),
Show Capability( 0 ),
Show Limit Summaries( 0 ),
Variables( Subgroup( :column( Lot ) ), Y( :column( CQA ) ) ),
Chart(
Points( Statistic( "Individual" ) ),
Add Spec Limits( {LSL( LSL_def ), USL( USL_def )} ),
Set Control Limits( {LCL( LCL_def ), UCL( UCL_def ), Avg( Avg )} ),
Warnings( Test 1( 1 ), Test 2( 1 ), Test 3( 1 ) )
),
SendToReport(
Dispatch(
{},
Variable,
ScaleBox,
{Min( Min( LCL_def, LSL_def ) - 1 ), Max( Max( UCL_def, USL_def ) + 1 ), Inc( 1 ), Minor Ticks( 0 ),
Add Ref Line( LSL_def, "Solid", "Blue", "LSL=" || Char( LSL_def ), 2 ),
Add Ref Line(
USL_def,
"Solid",
"Blue",
"USL=" || Char( USL_def ),
2
),
Add Ref Line( LCL_def, "Solid", "Red", "-" || Sigma || "σ=" || Char( LCL_val ), 1 ), Add Ref Line(
UCL_def,
"Solid",
"Red",
"+" || Sigma || "σ=" || Char( UCL_val ),
1
),
Add Ref Line( Avg, "", "Green", "µ=" || Char( Avg ), 1 ), Label Row( Set Font Style( "Bold" ) )}
),
Dispatch(
{},
"Control Chart Builder",
FrameBox,
{Add Graphics Script( 2, Description( "" ), Text( {10, 100}, "" ) ), Add Graphics Script(
3,
Description( "" ),
Pen Color( "black" );
V Line( Split - 0.5 );
), Grid Line Order( 1 ), Reference Line Order( 4 ), DispatchSeg(
TopSeg( 2 ),
{Set Script(
Pen Color( "black" );
V Line( Split - 0.5 );
)}
)}
)
)
)Votre Subset_Strength est une liste JMP, pas une chaîne de caractères.Vous pouvez utiliser Concat Items() pour prendre les éléments de la liste et les déplacer vers une chaîne de caractères, qui peut ensuite être utilisée comme vous le souhaitez.
Summarize( dt, SubSet_Strength = by( :Strength ) );
Current Report()[Text Box( 1 )] << set text( Char( Variable ) || " - " || Concat Items( Subset_Strength, ", " ) );
Merci beaucoup !
J'ai une dernière question. Je souhaite changer le titre de la Carte de Contrôle en fonction des niveaux de ma variable "Force".
J'ai utilisé votre code et je l'ai modifié :
summarize(dt,SubSet_Strength=by(:Strength));
Current Report()[Text Box( 1 )] << set text(Char( Variable)||" - "||Char( SubSet_Strength ) );
Et j'ai obtenu le résultat suivant :

Comment puis-je avoir les niveaux de ma variable Force avec des virgules, mais sans parenthèses ni guillemets ?
Merci!
Vous pouvez le faire en référençant simplement la zone de texte contenant le titre, puis en la mettant à jour.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt << Control Chart Builder( Variables( Y( :height ) ), Show Control Panel( 0 ) );
Current Report()[Text Box( 1 )] << set text( "new title" )
;
