For Add(), a comma-separated list of variables, numbers, or matrices.
For a+b, any number of variables, numbers, or matrices.
Add() returns missing if any arguments are missing. To ignore missing values, use Sum(). See Sum(var1, var2, ...) for details.
List Operators and Functions in the Scripting Guide.
Converts the blob argument into a 16-byte blob.
Caption({h, v}, "text", <Delayed(seconds)>, <Font(font)>, <Font Size(size)>, <Text Color("color")>, <Back Color("color")>, <Spoken(Boolean)
Displays a caption window at the location described by {h, v} that displays text. The caption can be delayed before being displayed by seconds, or can be spoken. You can also specify the font type, size, and color and background color.
a list with two values. h is the horizontal displacement from the top left corner of the monitor in pixels. v is the vertical displacement from the top left corner in pixels.
seconds is optional delay before displaying the caption. Setting this option causes this caption and all subsequent captions to be delayed by the specified number of seconds.
Causes text to be spoken as well as displayed. The current setting (on or off) remains in effect until switched by another Caption statement that includes a Spoken setting.
Decode64 Blob( "dGhlIHF1aWNrIGJyb3duIGZveA==" );
Char To Blob( "the quick brown fox", "ascii~hex" )
Divides a by b. If only one argument is given (divide(x)), divides 1 by x.
The quotient of a/b; or the reciprocal of x (1/x) if only one argument is provided.
List Operators and Functions in the Scripting Guide.
Encode64 Blob( Char To Blob( "the quick brown fox" ) );
"dGhlIHF1aWNrIGJyb3duIGZveA=="
Get Addr Info("address", <port>)
A list of strings. The first element is the command (Get Addr Info). The second is the results (for example, “ok” if the command was successful). The third is a list of strings of information. Included in that information is the address that corresponds to the name that was supplied.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Copy Table Script( "Distribution" );
s = Get Clipboard();
nw = New Window( "Script", Script Box( s ) );
Get Name Info("address", <port>)
A list of strings. The first element is the command (GetNameInfo). The second is the results (for example, “ok” if the command was successful). The third is a list of strings of information. Included in that information is the port name that corresponds to the address that was supplied.
Table 1.3 describes the syntax for getting platform preferences.
Get Platform Preferences( )
Get Platform Preferences( Platform )
Get Platform Preferences( Platform( Option ) )
Get Platform Preferences( <<Changed )
Get Platform Preferences( Platform( <<Changed ) )
Get Platform Preferences( Platform( Option (
	<<Changed ) ) )
Platform Preferences(
	Distribution( Set Bin Width( 2 ), Horizontal Layout( 1 ) ),
	Model Dialog( Keep Dialog Open( 1 ) ),
	Graph Builder( Legend Position( "Bottom" ) )
);
To return all of the modified platform preferences, use Get Platform Preferences( <<Changed ):
Get Platform Preferences( <<Changed );
Platform Preferences(
	Distribution( Horizontal Layout( 1 ), Set Bin Width( 2, <<On ) ),
	Graph Builder( Legend Position( "Bottom", <<On ) ),
	Model Dialog( Keep dialog open( 1 ) )
);
Gzip Compress(
	Char To Blob(
		"random data does not usually compress well and may get larger"
	)
);
Char To Blob(
	"~1F~8B~08~00~00~00~00~00~00~0A~0D~CA~C1~0D~00~21~08~04~C0V~B6~B5~CDA~FC~80~5C~00c~EC^~E7=~C9)~E1~106~21~A1~85~19~8DU~8Bf~07_~F8~9FZ~85~ADfx~13~CE~83~A1~0Dc~0E~CD~0B~94*~16~1E=~00~00~00",
	"ascii~hex"
Gzip Uncompress( /*typically this data might come from Gzip Compress() but might also come from a .gz file using Load Text File() with the blob option*/
	Char To Blob(
		"~1F~8B~08~00~00~00~00~00~00~0A~0D~CA~C1~0D~00~21~08~04~C0V~B6~B5~CDA~FC~80~5C~00c~EC^~E7=~C9)~E1~106~21~A1~85~19~8DU~8Bf~07_~F8~9FZ~85~ADfx~13~CE~83~A1~0Dc~0E~CD~0B~94*~16~1E=~00~00~00",
		"ascii~hex"
	)
);
Char To Blob(
	"random data does not usually compress well and may get larger",
	"ascii~hex"
)
"Windows" or "Mac" tests for the specified operating system. "Bits32" or "Bits64" tests for the specified 32-bit or 64-bit JMP application.
On a Macintosh, Is Alt Key() tests for the Option key.
On a Macintosh, Is Control Key() tests for the Command key.
Returns either "Standard", "Pro", or "Student", depending on which version of JMP is licensed.
Optional argument. AutoDeclare(1) and AutoDeclare(Verbose) write verbose messages to the log. AutoDeclare(Quiet) turns off log window messages. If you omit this option, verbose messages are written to the log.
Optional argument. When you use Declare Function(), this option turns off log window messaging (Quiet) or turns on log window messaging (Verbose).
(Windows) Sends e-mail (using MAPI) to the address with the specified subject and message texts. Sends one or more attachments specified by the optional attachment argument. The attachment argument can evaluate to a string or list of strings.
(Macintosh) Creates an e-mail in the user’s Mail application. The user must click Send in the e-mail. In Microsoft Outlook, you must manually add attachments to the e-mail.
Mail(
	"yourname@company.com",
	"New data and script",
	"Today’s updated data table and script are attached.",
	{"$DOCUMENTS/wd.jsl", "$DOCUMENTS/survey.jmp"}
);
list = {"$DOCUMENTS/wd.jsl", "$DOCUMENTS/survey.jmp"};
Mail(
	"yourname@company.com",
	"New data and script",
	"Today’s updated data table and script are attached.",
	list
);
To send an email to multiple recipients:
Mail(
	{"hername@company.com", "hisname@company.com"},
	"Database updates",
	"Today’s sales database contains the numbers from last month."
);
On Macintosh, Mail() works on Yosemite and later operating systems.
Main Menu() accepts either a full path or a partial path. If a partial name is used, and there are other menu items with the same name, the first menu item found is executed. JMP searches the top-level menu (File, Tables, DOE, and so on) first for the partial name and then searches inside each of those menus in order.
Main Menu( "File:New:Data Table" ); // full path
Main Menu( "Data Table" ); // partial path
-a if a is positive (a=3; -a=-3; Minus(a)=-3).
a if a is negative (a=-3; -a=3; Minus(a)=3).
0 if a is 0 (a=0; -a=0; Minus(a)=0).
Missing if a is missing.
(Optional) Specifies the file name or extension of the files. The name filter uses * to represent zero-or-more characters ? to represent exactly one character. * and ? also match a period. The default setting is *.*, or all files.
mfi = Multiple File Import(
	<<Set Folder( "$SAMPLE_IMPORT_DATA" ),
	<<Set Name Filter( "UN*.csv" ), // import files with this name
	<<Set Name Enable( 1 ) // display the file name in a column
)
<<Import Data();
List Operators and Functions in the Scripting Guide.
Parses an XML expression using the On Element expressions for specified XML tags.
Table 1.4 describes the syntax for setting platform preferences.
Platform Preferences( <<Default )
Platform Preferences( <<Factory Default )
Platform Preferences( Default )
Platform Preferences( Platform( <<Default ) )
Platform Preferences( Platform( <<Factory Default ) )
Platform Preferences( Platform( Default ) )
Platform Preferences( Platform( option ( <<Default ) ) )
Platform Preferences( Platform( option ( <<Factory  Default ) ) )
Platform Preferences( Platform( option( value ) ) )
Platform Preferences( Platform( option ) )
Platform Preferences( Platform( option( <<On ) ) )
Platform Preferences( Platform( option( <<Off ) ) )
Platform Preferences( Platform( option( value, <<On ) ) )
Platform Preferences( Platform( option( value, <<Off ) ) )
Platform Preferences( Distribution( Set Bin Width( 2 ) ) );
Platform Preferences( Distribution( Set Bin Width( 2, <<Off ) ) );
Platform Preferences( Distribution( Set Bin Width( <<Default ) ) );
Annotation Font("font", size, "style")
Axis Font("font", size, "style")
Axis Title Font("font", size, "style")
Data Table Font("font", size, "style")
Determines whether an On Open table script is run after the user opens the data table. By default, the user is prompted. Their choice is remembered each time they open the data table in the current JMP session. Scripts that execute other programs are never run.
Data Files Directory Sets the default location for data files.
Help Files Directory Sets the default location for help files.
Installation Directory By default, this location is set to the JMP installation folder on Windows:
"C:/Program Files/SAS/JMP/14", "C:/Program Files/SAS/JMPPro/14", or "C:/Program Files/SAS/JMPSW/14"
License File Path Sets the default location for JMP license file.
Preferences File Directory Sets the default location for the preferences settings file.
Save As Directory Sets the default location for Save As file operations.
Formula Font("font", size, "style")
Heading Font("font", size, "style")
Sets the default for the maximum call depth (or stack size) for JMP in which JSL built-in functions, user-defined functions, or Recurse() function calls can be made. By default, the maximum call depth is set to 256KB.
Marker Font("font", size, "style")
Monospaced Font("font", size, "style")
Margins( <n>, <n>, <n>, <n>) sets the left, top, right, and bottom margins. Margins are in inches.
Margins(<n>) sets all margins to the same value in inches.
Orientation("portrait" | "landscape") changes the page’s print orientation.
Headers(<"char">, <"char">, <"char">) specifies text that appears in the left, middle, and right header.
Headers(<"char">) specifies the only text in the header.
Footers(<"char">, <"char">, <"char">) specifies text that appears in the left, middle, and right footer.
Footers(<"char">) specifies the only text in the footer.
Scale(<n>) decreases or increases the percentage at which the content prints.
Small Font("font", size, "style")
Text Font("font", size, "style")
Title Font("font", size, "style")
Font choice for titles. Arguments are name of font (for example, "Times"), size in points, and style ("bold", "plain", "underline", "italic").
When on, this argument forces JMP to interpret label names as column headings. Example: Pref( Name( "Use Triple-S Labels as Headings" )(0) ); turns off the preference.
Preferences( "Default" );
Preferences( "Factory Default" );
Preferences(
    Conditional Formatting Rules(
        RuleSet(
				RuleName( "Warning" ),
				NotEqualTo( Value( 0 ), Format( TextAlpha( 0.8 ) ) )
				// If the value is not equal to 0, format the text as 80% gray.
        )
    )
);
If a file named addin.def is found in the specified home folder, values from that file are used for any optional arguments that are not included in the Register Addin() function.
Register Addin("com.company.lee.dan.MyAddIn","$DOCUMENTS/myaddin", displayname( "Calculator Addin" ));
The second argument becomes the $ADDIN_HOME path variable definition. When you refer to the add-in scripts, be sure to include a trailing slash after the path variable.
Include("$ADDIN_HOME(com.jmp.jperk.texttocols)/texttocols.jsl");
Runs the external program specified by the Executable argument, with the command line arguments specified by the Options argument.
Returns either a string, a blob, or a Run Program object as controlled by the Read Function argument.
If Read Function( "text" ) is specified, a text string is returned. If Read Function( "blob" ) is specified, a blob is returned. The script waits until the external program closes its stdout. Run Program then returns all data that the external program has written to its stdout as a string or a blob.
If Read Function is not specified, a Run Program object is returned.
Notes: 
Use global variables when Run Program() is inside a function.
The Run Program object, which is returned if Read Function is not specified, accepts the following messages to read data from the external program’s stdout:
<<Read: reads any available data as a string. If no data is available, an empty string is returned.
<<Can Read: returns true if there is data available to be read.
<<Is ReadEOF: returns true when the external program has completed and all its data has been read.
A Run Program object accepts the following messages to write data to the external program’s stdin:
<<Write( "text" ): sends data to the external program’s stdin.
<<Can Write: returns true if the external program will accept data immediately; otherwise, calling <<Write causes your script to block.
<<WriteEOF: signals to the external program that you are done sending data to it.
Instead of sending messages to the returned Run Program object, you can specify the Read Function argument as an inline function. RP is the Run Program object.
RP = Run Program(
	Executable( ... ),
	Read Function(
		Function( {RP},
         <your code here>
			RP << Read
		)
	)
);
The Parameter(optParm) argument is optional in Read Function. If specified, the functions defined for Read Function and Write Function can receive a second argument, which is the value of optParm.
The following script is an example of the Write Function argument. RP is the Run Program object. In this context, it accepts the <<Write and <<WriteEOF messages.
RP = Run Program(
	Executable( ... ),
	Write Function(
		Function( {RP},
			<your code here>
			RP << Write( "Program finished." )
		)
	)
);
The following script shows an example of Parameter(optParm) argument:
RP = Run Program(
	Executable( ... ),
	Parameter( x ),
	Read Function( Function( {RP, optParm},... ) )
);
Within the Read Function, optParm contains the value of x. Do not attempt to access the optParm argument in your function if you have not specified a Parameter argument.
Queues an event to run the script after n seconds.
Evaluates the "string" argument looking for a character result, and then places the string on the clipboard.
Set Clipboard( "copy me" );
(Windows only) In the Windows registry, there are two requirements for the JavaSoft/Java Runtime Environment key: the key must include a string called “RuntimeLib” that points to a valid jvm.dll. And the Java Runtime Environment key must include a key named after the quoted JVM version number.
The internal name of the toolbar (see the View > Toolbars list in JMP), the default toolbar for the specified window type, or all toolbars. Include quotes around "toolbar name".
Shortest Edit Script( lines( A, B, <matrix( 0|1 )>, <limit( number )>, <separators( characters )>, <ignore( characters )|ignore white space( )> ) )
Returns a list or a matrix of edit commands. The simplest form returns a list. strings and lines return a matrix (if set to 1) or a list. sequences returns a matrix.
Shortest Edit Script( "abcdef", "abdezgh" );
{{"Common", "ab"}, {"Remove", "c"}, {"Common", "de"}, {"Insert", "zgh"}, {"Remove", "f"}}
aa = "this is
a test of
shortest
edit script
lines with several words";
 
bb = "this is
a test 2 of
shortest
edit ?., script
lineswithseveral words";
 
Shortest Edit Script( lines( aa, bb, separators( "\!n" ),
	// quote and newline separators
	ignore( "?., " ) ) ); // ignore these characters and spaces
{{"Common", "this is // lines in aa and bb contain "this is"
"}, {"Remove", "a test of // only on line 2 of aa
"}, {"Insert", "a test 2 of // only on line 2 of bb
"},
{"Common", "shortest
edit script
lines with several words"}}
// lines in aa and bb contain "shortest", "edit script", and "lines with several words"
Shows the messages that the given object can interpret, along with some basic syntax information.
List Operators and Functions in the Scripting Guide.
Opens the URL stored in string in the default system web browser. Under Microsoft Windows, you can add JMP Window as the second argument to have the HTML open in a JMP browser.
The http:// prefix in the URL is optional.
url = "www.jmp.com";
Web( url );
 
Web( "www.jmp.com" );
Web( "www.jmp.com", JMP Window );
Decodes symbols in XML to ordinary text. For example, &amp; becomes &, and &lt; becomes <.
Prepares text for embedding in XML. For example, & becomes &amp;, and < becomes &lt;.

Help created on 10/11/2018