cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • DownloadSemiconductor Toolkit: Tools to create wafer maps, add wafer geometry to graphics, explore die defects & compare wafers.
  • Discovery Summit 2026: Early User Edition - September 23-24.Register. It's free.
  • See how to design an experiment, explore factor-response relationships, assess tradeoffs, and ID best settings. Register for Sep. 11 Mastering JMP.

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar
ashwint27
Level III

Column Switcher selection to dynamically label column in data table

I am interested in utilizing the Column Switcher in Graph Builder to where I select a column within the Column Switcher, and it dynamically sets the corresponding data table's column as a "label" column.  It should also "unlabel" any previously labeled data table columns no longer selected within the Column Switcher.  Is there a way this can be accomplished?  I am using JMP version 19.

1 ACCEPTED SOLUTION

Accepted Solutions
ashwint27
Level III

Re: Column Switcher selection to dynamically label column in data table

Thanks Jim.  I adapted the example script in the Scripting Index for "Make Column Switch Handler" and this code seems to work for what I was looking for:

 
dt = Open( "$SAMPLE_DATA/Process Measurements.jmp" );
gb = Graph Builder( Variables( Y( :Process 1 ) ), Elements( Histogram( Y, Legend( 3 ) ) ) );

dt << Clear Column Selection();

columnSwitcher = gb << Column Switcher(
	:Process 1,
	{:Process 1, :Process 2, :Process 3, :Process 4, :Process 5, :Process 6, :Process 7}
);


dt << Set Label Columns();
dt << Set Label Columns( :Process 1 );


pre = Function( {currentColumn, nextColumn, switcher},
	Print(
		"Before switch: " || (currentColumn << get name) || " >> " || (nextColumn << get name) ||
		" [Column Switcher] current: " || (columnSwitcher << Get Current)
	);
	currentColumn << Label( 1 );
);
post = Function( {previousColumn, currentColumn, switcher},
	Print(
		"After switch: " || (previousColumn << get name) || " >> " || (currentColumn << get name) ||
		" [Column Switcher] current: " || (columnSwitcher << Get Current)
	);
	previousColumn << Label( 0 );
	currentColumn << Label( 1 );
);
handler = columnSwitcher << Make Column Switch Handler( pre, post );
 

View solution in original post

2 REPLIES 2
txnelson
Super User

Re: Column Switcher selection to dynamically label column in data table

Using a Make Column Switch Handler, you should be able to add the JSL required to make your required changes when the Column Switcher is used.  See the Scripting Index for a description of and example of the Make Column Switch Handler.

Jim
ashwint27
Level III

Re: Column Switcher selection to dynamically label column in data table

Thanks Jim.  I adapted the example script in the Scripting Index for "Make Column Switch Handler" and this code seems to work for what I was looking for:

 
dt = Open( "$SAMPLE_DATA/Process Measurements.jmp" );
gb = Graph Builder( Variables( Y( :Process 1 ) ), Elements( Histogram( Y, Legend( 3 ) ) ) );

dt << Clear Column Selection();

columnSwitcher = gb << Column Switcher(
	:Process 1,
	{:Process 1, :Process 2, :Process 3, :Process 4, :Process 5, :Process 6, :Process 7}
);


dt << Set Label Columns();
dt << Set Label Columns( :Process 1 );


pre = Function( {currentColumn, nextColumn, switcher},
	Print(
		"Before switch: " || (currentColumn << get name) || " >> " || (nextColumn << get name) ||
		" [Column Switcher] current: " || (columnSwitcher << Get Current)
	);
	currentColumn << Label( 1 );
);
post = Function( {previousColumn, currentColumn, switcher},
	Print(
		"After switch: " || (previousColumn << get name) || " >> " || (currentColumn << get name) ||
		" [Column Switcher] current: " || (columnSwitcher << Get Current)
	);
	previousColumn << Label( 0 );
	currentColumn << Label( 1 );
);
handler = columnSwitcher << Make Column Switch Handler( pre, post );
 

Recommended Articles