L'une des meilleures façons de le faire via des scripts est de le faire d'abord dans l'interface graphique, puis de trouver le triangle rouge dans le coin supérieur gauche de votre fenêtre de résultats et de sélectionner Enregistrer le script... dans la fenêtre de script. Voici un exemple de script pour créer un tableau de bord avec 2 fenêtres combinées. Je n'ai eu qu'à taper 1 ligne de code (ligne 1, pour ouvrir la table de données). Le reste a été généré par JMP lorsque j'ai utilisé Save Script...To Script Window.
open ("$SAMPLE_DATA\Big class.jmp");
JMP App(
Set Name( "Dashboard" ),
Set Description( "Description" ),
Auto Launch( 1 ),
Snap To Grid( 1 ),
Show Grid( 1 ),
Show Properties( 0 ),
Show Sources( 1 ),
Group By Category( 0 ),
Dashboard Mode( 1 ),
Parameters,
Tables(
DataTable1 = GuiTable(
Set Path( "$SAMPLE_DATA/Big Class.jmp" ),
Set Label( "Big Class" ),
Location( "Current Data Table" ),
Invisible( 0 )
)
),
Script(JSL Quote(// This script is executed when the application is run.
// Named objects have been created for the application modules
// (for example, "Module1") and the pre-defined object
// "thisApplication" refers to the application object itself.
// Variables and functions declared here are scoped to the
// Application namespace.
) ),
Allocate(
Module1 = Plan(
PreAllocate,
Script(JSL Quote(// This script is executed when a new module instance is
// created. The pre-defined object "thisModuleInstance" refers
// to the instance object, but other objects such as boxes and
// scripts have not yet been created. Variables declared here are
// scoped to the ModuleInstance namespace.
// This special function will receive parameters passed to CreateInstance()
OnModuleLoad({},
);
thisModuleInstance << Create Objects;
// After this point your module instance objects have been created
// and can be referred to by name (for example, "Button1").
Try(TabPage3 << Set Scriptable Object(thisApplication));
) ),
Allocate(
TabPage3 = Tab Page Box();
Splitter1 = H Splitter Box();
TabPage1 = Tab Page Box();
Scroll1 = Scroll Box();
Report1 = Platform(
DataTable1,
Graph Builder(
Size( 588, 501 ),
Show Control Panel( 0 ),
Fit to Window,
Variables( X( :age ), Y( :height ) ),
Elements(
Points( X, Y, Legend( 12 ) ),
Smoother( X, Y, Legend( 13 ) )
)
)
);
TabPage2 = Tab Page Box();
Scroll2 = Scroll Box();
Report2 = Platform(
DataTable1,
Graph Builder(
Size( 594, 500 ),
Show Control Panel( 0 ),
Fit to Window,
Variables( X( :sex ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
)
);
),
Organize(
Reparent( Scroll2( Report2 ) );
Reparent( TabPage2( Scroll2 ) );
Reparent( Splitter1( TabPage2 ) );
Reparent( Scroll1( Report1 ) );
Reparent( TabPage1( Scroll1 ) );
Reparent( Splitter1( TabPage1 ) );
Reparent( TabPage3( Splitter1 ) );
Relocate( TabPage3( 0, 0 ) );
),
Initialize(
TabPage3 << Background Color( "None" ),
TabPage3 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
TabPage3 << Enabled( 1 ),
TabPage3 << Horizontal Alignment( "Default" ),
TabPage3 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
TabPage3 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
), TabPage3 << Text Color( "None" ), TabPage3 << UI Only( 0 ),
TabPage3 << Vertical Alignment( "Default" ),
TabPage3 << Visibility( "Visible" ),
TabPage3 << Set Min Size( 369, 128 ),
TabPage3 << Set Max Size( 30000, 30000 ),
TabPage3 << Set Stretch( {"Neutral", "Neutral"} ),
TabPage3 << Title( "Dashboard" ), TabPage3 << Tip( "" ),
TabPage3 << Icon( "" ), TabPage3 << Closeable( 0 ),
TabPage3 << Moveable( 0 ), TabPage3 << Set Base Font( "Text" ),
TabPage3 << Set Font Scale( 1 ),
Splitter1 << Background Color( "None" ),
Splitter1 << Border(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
), Splitter1 << Enabled( 1 ),
Splitter1 << Horizontal Alignment( "Default" ),
Splitter1 << Margin(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
),
Splitter1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
), Splitter1 << Text Color( "None" ), Splitter1 << UI Only( 0 ),
Splitter1 << Vertical Alignment( "Default" ),
Splitter1 << Visibility( "Visible" ), Splitter1 << Dockable( 1 ),
Splitter1 << Set Width( 1351 ), Splitter1 << Set Height( 537 ),
Splitter1 << Set Sizes( {0.500741839762611, 0.499258160237389} ),
Splitter1 << Set Min Size( 369, 102 ),
Splitter1 << Set Max Size( 60003, 30000 ),
Splitter1 << Set Stretch( {"Window", "Window"} ),
Splitter1 << set horizontal( 1 ),
TabPage1 << Background Color( "None" ),
TabPage1 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
TabPage1 << Enabled( 1 ),
TabPage1 << Horizontal Alignment( "Default" ),
TabPage1 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
TabPage1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
), TabPage1 << Text Color( "None" ), TabPage1 << UI Only( 0 ),
TabPage1 << Vertical Alignment( "Default" ),
TabPage1 << Visibility( "Visible" ),
TabPage1 << Set Min Size( 187, 102 ),
TabPage1 << Set Max Size( 30000, 30000 ),
TabPage1 << Set Stretch( {"Neutral", "Neutral"} ),
TabPage1 << Title( "Graph Builder" ), TabPage1 << Tip( "" ),
TabPage1 << Icon( "Trellis" ), TabPage1 << Closeable( 1 ),
TabPage1 << Moveable( 1 ), TabPage1 << Set Base Font( "Text" ),
TabPage1 << Set Font Scale( 1 ),
Scroll1 << Background Color( "None" ),
Scroll1 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Scroll1 << Enabled( 1 ),
Scroll1 << Horizontal Alignment( "Default" ),
Scroll1 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Scroll1 << Padding( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Scroll1 << Text Color( "None" ), Scroll1 << UI Only( 0 ),
Scroll1 << User Resizable( {1, 1} ),
Scroll1 << Vertical Alignment( "Default" ),
Scroll1 << Visibility( "Visible" ),
Scroll1 << Set Min Size( 187, 76 ),
Scroll1 << Set Max Size( 30087, 30001 ),
Scroll1 << Set Stretch( {"Window", "Window"} ),
Scroll1 << Width( 675 ), Scroll1 << Height( 511 ),
Scroll1 << Set Auto Scrollable( 1 ),
Scroll1 << Set Scrollers( 0, 0 ), Scroll1 << Set Show Empty( 0 ),
Scroll1 << Set Clip Printing( 0 ),
Report1 << Background Color( "None" ),
Report1 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Report1 << Enabled( 1 ),
Report1 << Horizontal Alignment( "Default" ),
Report1 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Report1 << Padding( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Report1 << Text Color( "None" ), Report1 << UI Only( 0 ),
Report1 << Vertical Alignment( "Default" ),
Report1 << Visibility( "Visible" ),
Report1 << Set Min Size( 187, 76 ),
Report1 << Set Max Size( 30087, 30001 ),
Report1 << Set Stretch( {"Neutral", "Neutral"} ),
Report1 << set horizontal( 0 ),
TabPage2 << Background Color( "None" ),
TabPage2 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
TabPage2 << Enabled( 1 ),
TabPage2 << Horizontal Alignment( "Default" ),
TabPage2 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
TabPage2 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
), TabPage2 << Text Color( "None" ), TabPage2 << UI Only( 0 ),
TabPage2 << Vertical Alignment( "Default" ),
TabPage2 << Visibility( "Visible" ),
TabPage2 << Set Min Size( 179, 102 ),
TabPage2 << Set Max Size( 30000, 30000 ),
TabPage2 << Set Stretch( {"Neutral", "Neutral"} ),
TabPage2 << Title( "Graph Builder" ), TabPage2 << Tip( "" ),
TabPage2 << Icon( "Trellis" ), TabPage2 << Closeable( 1 ),
TabPage2 << Moveable( 1 ), TabPage2 << Set Base Font( "Text" ),
TabPage2 << Set Font Scale( 1 ),
Scroll2 << Background Color( "None" ),
Scroll2 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Scroll2 << Enabled( 1 ),
Scroll2 << Horizontal Alignment( "Default" ),
Scroll2 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Scroll2 << Padding( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Scroll2 << Text Color( "None" ), Scroll2 << UI Only( 0 ),
Scroll2 << User Resizable( {1, 1} ),
Scroll2 << Vertical Alignment( "Default" ),
Scroll2 << Visibility( "Visible" ),
Scroll2 << Set Min Size( 179, 76 ),
Scroll2 << Set Max Size( 30079, 30001 ),
Scroll2 << Set Stretch( {"Window", "Window"} ),
Scroll2 << Width( 673 ), Scroll2 << Height( 511 ),
Scroll2 << Set Auto Scrollable( 1 ),
Scroll2 << Set Scrollers( 0, 0 ), Scroll2 << Set Show Empty( 0 ),
Scroll2 << Set Clip Printing( 0 ),
Report2 << Background Color( "None" ),
Report2 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Report2 << Enabled( 1 ),
Report2 << Horizontal Alignment( "Default" ),
Report2 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Report2 << Padding( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Report2 << Text Color( "None" ), Report2 << UI Only( 0 ),
Report2 << Vertical Alignment( "Default" ),
Report2 << Visibility( "Visible" ),
Report2 << Set Min Size( 179, 76 ),
Report2 << Set Max Size( 30079, 30001 ),
Report2 << Set Stretch( {"Neutral", "Neutral"} ),
Report2 << set horizontal( 0 )
)
)
),
Initialize(
Module1 << Auto Launch( 1 );
Module1 << Set Module Type( "Report" );
Module1 << Set Window Title( "^TABLENAME - ^APPNAME" );
)
) << Run