Minitab macros

A macro is a text file that contains a series of Minitab session commands. You can use macros to automate a repetitive task (for example, generating a monthly report) or to extend Minitab's functionality (for example, computing a special test statistic). A library of macros is available on the Minitab web site (www.minitab.com/support/macros/), or you can write your own macros.

 There are three types of macros available in Minitab:

·    Global macros (.MAC file name extension) allow you to analyze and manipulate data in the active worksheet. However, the identity of any columns, constants, and matrices that are to be accessed must be specified within the macro; therefore, the worksheet must be configured the same way each time the macro is run.

·    Local macros (.MAC file name extension) are more powerful and flexible than global macros because they can accept arguments and have their own subcommands. Users specify the data to be processed when they run the macro, making the data setup more flexible. However, local macros are also more complicated to write than global macros.

·    Execs (.MTB file extension) are a simpler form of Minitab macro; execs cannot have control statements or accept arguments and subcommands when run. Execs can be useful if you want to rerun a series of commands you just ran; for example, to recreate a graph you made earlier in your Minitab session. Simply highlight the commands in Minitab's History window and save them as an exec file.

Examples of macros

Global macro

Local macro

Exec

This macro (NOMISS) looks for the first missing observation in a column named X, then deletes the rest of the column.  

This macro (MNSTD) calculates the mean and standard deviation for the first two rows of a column, then the first three rows, and so on.

This exec draws a histogram of frequency for two columns and panels them.

GMACRO

NOMISS    

LET K90 = COUNT('X')

DO K91 = 1:K90

  IF  'X'[K91] = '*'

  DELETE  K91:K90 'X'

    BREAK

  ENDIF

ENDDO

 

ENDMACRO

MACRO

MNSTD x y z

MCOLUMN x y z v

MCONSTANT N i k1 k2

MRESET

BRIEF 0

LET N=count(x)

LET y(1)='*'

LET z(1)='*'

DO i=2:N

COPY x v;

  USE 1:i.

LET y(i)= MEAN(v)

LET z(i)= STDEV(v)

ENDDO

ENDMACRO

 

HISTOGRAM C1 C2;

YFrequency;

Bar;

Panel.