I am scripting a dashboard with graph builder in it. I want to add a column switcher that should use a variable as a column list, due to changing columns. For some reason this doesn't work, only first column in a list will show. Column list is created like this:
col_list3 = dt << get column names(Numeric);
for (i = nitems(col_list3), i > 0, i--,
if (!contains(col_list3[i], "%"),
remove from(col_list3, i);
);
);
But when I try to use col_list3 in the Column Switcher embedded in dasboard script, it doesn't work.
Column Switcher(
:FC 1244%,
{col_list3}
)
I have tried to use eval ect., but no success. What am I missing, any Ideas? For some reason I can't add any files to this post so whole script pasted below and a image of my example data table.

Names default to here (1);
dt = Data Table("example");
//get only columns with %
col_list3 = dt << get column names(Numeric);
for (i = nitems(col_list3), i > 0, i--,
if (!contains(col_list3[i], "%"),
remove from(col_list3, i);
);
);
//dashboard
JMP App(
Set Name( "Dashboard" ),
Set Description( "Selection in one report filters the second" ),
Auto Launch( 1 ),
Snap To Grid( 1 ),
Show Grid( 1 ),
Show Properties( 0 ),
Show Sources( 1 ),
Group By Category( 0 ),
Dashboard Mode( 1 ),
Parameters,
Tables(
DataTable1 = GuiTable(
Set Path( "" ),
Set Label( "example" ),
Set Location( "Current Data Table" ),
Set Invisible( 0 )
)
),
Thumbnail(
New Image(
Char To Blob(
"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",
"base64compressed"
),
"png"
)
),
Script(JSL Quote(// This script is executed when the application is run.
// Named objects have been created for the application modules
// (for example, "Module1") and the pre-defined object
// "thisApplication" refers to the application object itself.
// Variables and functions declared here are scoped to the
// Application namespace.
) ),
Allocate(
Module1 = Plan(
PreAllocate,
Script(JSL Quote( thisModuleInstance << Create Objects; Try(MainTabPage << Set Scriptable Object(thisApplication));
) ),
Allocate(
DataFilterContext1 = Data Filter Context Box();
MainTabPage = Tab Page Box();
Splitter1 = H Splitter Box();
DataFilterSource1 = Data Filter Source Box();
TabPage1 = Tab Page Box();
Scroll1 = Scroll Box();
Report1 = Platform(
DataTable1,
Distribution(
Automatic Recalc( 1 ),
Nominal Distribution( Column( :Product ) )
)
);
TabPage2 = Tab Page Box();
Scroll2 = Scroll Box();
Report2 = Platform(
DataTable1,
Graph Builder(
Size( 534, 448 ),
Show Control Panel( 0 ),
Fit to Window( "Maintain Aspect Ratio" ),
Variables( X( :DAY ), Y( :FC 1244% ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
Column Switcher(
:FC 1244%,
{col_list3} //not working
)
)
);
),
Organize(
Reparent( Scroll2( Report2 ) );
Reparent( TabPage2( Scroll2 ) );
Reparent( Splitter1( TabPage2 ) );
Reparent( Scroll1( Report1 ) );
Reparent( TabPage1( Scroll1 ) );
Reparent( DataFilterSource1( TabPage1 ) );
Reparent( Splitter1( DataFilterSource1 ) );
Reparent( MainTabPage( Splitter1 ) );
Reparent( DataFilterContext1( MainTabPage ) );
Relocate( DataFilterContext1( 0, 0 ) );
),
Initialize(
DataFilterContext1 << Background Color( 2147483647 ),
DataFilterContext1 << Border(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
),
DataFilterContext1 << Enabled( 1 ),
DataFilterContext1 << Horizontal Alignment( "Default" ),
DataFilterContext1 << Margin(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
),
DataFilterContext1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
),
DataFilterContext1 << Text Color( 2147483647 ),
DataFilterContext1 << Vertical Alignment( "Default" ),
DataFilterContext1 << Visibility( "Visible" ),
MainTabPage << Background Color( 2147483647 ),
MainTabPage << Border(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
),
MainTabPage << Enabled( 1 ),
MainTabPage << Horizontal Alignment( "Default" ),
MainTabPage << Margin(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
),
MainTabPage << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
),
MainTabPage << Text Color( 2147483647 ),
MainTabPage << Vertical Alignment( "Default" ),
MainTabPage << Visibility( "Visible" ),
MainTabPage << Title( "Dashboard" ),
MainTabPage << Tip( "" ),
MainTabPage << Icon( "" ),
MainTabPage << Closeable( 0 ),
MainTabPage << Moveable( 0 ),
Splitter1 << Background Color( 2147483647 ),
Splitter1 << Border(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
),
Splitter1 << Enabled( 1 ),
Splitter1 << Horizontal Alignment( "Default" ),
Splitter1 << Margin(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
),
Splitter1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
),
Splitter1 << Text Color( 2147483647 ),
Splitter1 << Vertical Alignment( "Default" ),
Splitter1 << Visibility( "Visible" ),
Splitter1 << Dockable( 1 ),
Splitter1 << Set Width( 1036 ),
Splitter1 << Set Height( 500 ),
Splitter1 << Set Sizes( {0.210067763794773, 0.789932236205227} ),
Splitter1 << set horizontal( 1 ),
Splitter1 << Set Min Size( 456, 193 ),
Splitter1 << Set Max Size( 60003, 30000 ),
Splitter1 << Set Auto Stretching( 1, 1 ),
DataFilterSource1 << Background Color( 2147483647 ),
DataFilterSource1 << Border(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
),
DataFilterSource1 << Enabled( 1 ),
DataFilterSource1 << Horizontal Alignment( "Default" ),
DataFilterSource1 << Margin(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
),
DataFilterSource1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
),
DataFilterSource1 << Text Color( 2147483647 ),
DataFilterSource1 << Vertical Alignment( "Default" ),
DataFilterSource1 << Visibility( "Visible" ),
TabPage1 << Background Color( 2147483647 ),
TabPage1 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
TabPage1 << Enabled( 1 ),
TabPage1 << Horizontal Alignment( "Default" ),
TabPage1 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
TabPage1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
),
TabPage1 << Text Color( 2147483647 ),
TabPage1 << Vertical Alignment( "Default" ),
TabPage1 << Visibility( "Visible" ),
TabPage1 << Title( "Distributions" ),
TabPage1 << Tip( "" ),
TabPage1 << Icon( "Distrib" ),
TabPage1 << Closeable( 1 ),
TabPage1 << Moveable( 1 ),
Scroll1 << Background Color( 2147483647 ),
Scroll1 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Scroll1 << Enabled( 1 ),
Scroll1 << Horizontal Alignment( "Default" ),
Scroll1 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Scroll1 << Padding( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Scroll1 << Text Color( 2147483647 ),
Scroll1 << User Resizable( {1, 1} ),
Scroll1 << Vertical Alignment( "Default" ),
Scroll1 << Visibility( "Visible" ),
Scroll1 << Width( 218 ),
Scroll1 << Height( 474 ),
Scroll1 << Set Auto Scrollable( 1 ),
Scroll1 << Set Scrollers( 1, 1 ),
Scroll1 << Set Background Color( 2147483647 ),
Scroll1 << Set Show Empty( 0 ),
Scroll1 << Set Clip Printing( 0 ),
Scroll1 << Set Min Size( 72, 36 ),
Scroll1 << Set Max Size( 30000, 30000 ),
Scroll1 << Set Auto Stretching( 1, 1 ),
Report1 << Background Color( 2147483647 ),
Report1 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Report1 << Enabled( 1 ),
Report1 << Horizontal Alignment( "Default" ),
Report1 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Report1 << Padding( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Report1 << Text Color( 2147483647 ),
Report1 << Vertical Alignment( "Default" ),
Report1 << Visibility( "Visible" ),
Report1 << set horizontal( 0 ),
TabPage2 << Background Color( 2147483647 ),
TabPage2 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
TabPage2 << Enabled( 1 ),
TabPage2 << Horizontal Alignment( "Default" ),
TabPage2 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
TabPage2 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
),
TabPage2 << Text Color( 2147483647 ),
TabPage2 << Vertical Alignment( "Default" ),
TabPage2 << Visibility( "Visible" ),
TabPage2 << Title( "TabPage2" ),
TabPage2 << Tip( "" ),
TabPage2 << Icon( "Trellis" ),
TabPage2 << Closeable( 1 ),
TabPage2 << Moveable( 1 ),
Scroll2 << Background Color( 2147483647 ),
Scroll2 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Scroll2 << Enabled( 1 ),
Scroll2 << Horizontal Alignment( "Default" ),
Scroll2 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Scroll2 << Padding( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Scroll2 << Text Color( 2147483647 ),
Scroll2 << User Resizable( {1, 1} ),
Scroll2 << Vertical Alignment( "Default" ),
Scroll2 << Visibility( "Visible" ),
Scroll2 << Width( 815 ),
Scroll2 << Height( 474 ),
Scroll2 << Set Auto Scrollable( 1 ),
Scroll2 << Set Scrollers( 0, 0 ),
Scroll2 << Set Background Color( 2147483647 ),
Scroll2 << Set Show Empty( 0 ),
Scroll2 << Set Clip Printing( 0 ),
Scroll2 << Set Min Size( 381, 167 ),
Scroll2 << Set Max Size( 30281, 30026 ),
Scroll2 << Set Auto Stretching( 1, 1 ),
Report2 << Background Color( 2147483647 ),
Report2 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Report2 << Enabled( 1 ),
Report2 << Horizontal Alignment( "Default" ),
Report2 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Report2 << Padding( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} ),
Report2 << Text Color( 2147483647 ),
Report2 << Vertical Alignment( "Default" ),
Report2 << Visibility( "Visible" ),
Report2 << set horizontal( 0 )
)
)
),
Initialize(
Module1 << Auto Launch( 1 );
Module1 << Set Module Type( "Report" );
Module1 << Set Window Title( "^TABLENAME - ^APPNAME" );
Module1 << Set Min Size( 0, 0 );
Module1 << Set Max Size( 30000, 30000 );
Module1 << Set Auto Stretching( ., . );
)
) << Run
Never mind, the variable was simply undefined in my local context!
Did not manage to remove this post...
Dear all,
Facing the same issue, this solution does not solve my issue, supposedly because my columns have more complex names and the list variable contains quotes:
colList = {"Time At Entrance Queue", "Time At Check-In", ...,
"Total Time From Last Chute To Exit", "EBS Total Duration", "Flight ID", "BAG ID", "PAX ID", "CheckInQueue", "CheckIn", "CheckInCollector", "TransferCollector", "Presortation", "Dep-Reader-TimeStamp", "ICS-Loader", "ICS-Unloader", "Last Chute", "MakeUp", "MakeUp Group", "Stopped", "Before WarmUp", "PBC Type", "Recirculation", "HBS_1_Index", "HBS_2_Index", "HBS_3_Index", "HBS_4_Index", "HBS_5_Index", "IntLnk", "MES_Index", "EBS_Index", "Transfer Infeed Desk", "Transfer Infeed Queue", "ORIGINATING", "HBS3-b", "MES-b", "EBS-b"};
In the following script, error marked by /*###*/
Column Switcher( :Total Time From CheckIn Collector To Exit, colList/*###*/ ),Any workaround of your knowledge?
Thanks