Scripting Guide > Efficient Scripts > Scripting Data Tables
Publication date: 08/13/2020

Scripting Data Tables

Displaying a large data table can cause scripts to run slower. To speed things up, you can make a data table invisible, especially if you need to reference numbers in a report that will be used for future calculations or used in another platform. In this case, there isn't a need to see the current data table.

dt = Open( "$SAMPLE_DATA/Big", invisible);

Drawing objects is slow. Suppose that you have a graph with a lot of data. The platform does complicated calculations or the data table contains a formula. Adding a row can require a lot of processing. Use Begin Data Update() so you only redraw the graph once instead of for each change. Begin Data Update() saves all update messages until End Data Update() is reached.

dt = Open( "" );
dt << Distribution(
	Column( :Name( "N=1" ), :Name( "N=5" ), :Name( "N=10" ) )
dt << Begin Data Update;
dt << Add Rows( 2000 );
dt << End Data Update;

The use of functions might help speed things up, for example, using the Summarize() function rather than creating a Summary table. Maintaining a data table can be too much overhead. See Store Summary Statistics in Global Variables in the Data Tables section.

Data tables are great for keeping tabular data.

Keep data table strings under 23 characters. Longer strings have additional overhead.

Numeric values use less memory than character values.

Want more information? Have questions? Get answers in the JMP User Community (