Unfortunately, the Data Filter in JMP doesn't support partial string matches. You must match whole values.
However, you can find all the values that match your partial string and then use that list in your call to the data filter.
dt = open("$sample_data\Big class.jmp");
Graph Builder(
Size( 454, 472 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :weight ), Y( :height ), Overlay( :name ) ),
Elements( Position( 1, 1 ), Points( X, Y, Legend( 3 ), Jitter( 1 ) ) ),
Elements( Position( 1, 2 ), Points( X, Y, Legend( 4 ), Jitter( 1 ) ) )
);
//create a list of the unique names
summarize(nameslist=by(:name));
//create a matrix to hold the locations of the strings that match your pattern
x=[];
//loop over list of names storing the matches in x
For( i = 1, i <= N Items( nameslist ), i++,
If( Starts With( nameslist[i], "M" ),
// "|/" is the matrix vertical concat operator
x = x |/ i;
)
);
dt << Data Filter(
Location( {848, 24} ),
Add Filter(
columns( :name ),
Where( :name == nameslist[x] ),
)
);
-Jeff