- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
removing {} from << get selected variable
the output below puts { } on the date_selection variable. How do I remove the brackets.
output = {"date1"};
desired output = "date1";
date_list = Column( 2 ) << get values;
Show( date_list );
run_select = New Window( "checkboxes",
<<modal(),
V List Box(
cb_list = Check Box( date_list ),
Button Box( "OK", date_selection = cb_list << get selected )
)
);
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: removing {} from << get selected variable
All you need to do, is to set the value of the returned variable to being the subscript as you generate the variable.
button box("OK",date_selection=(cb_list<<get selected)[1])
by specifying the date_selection this way, date_selection will be a just a plain numeric variable.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: removing {} from << get selected variable
Hi @HarryG,
When you send the message "<< get selected" to the checkbox cb_list, JMP will return a list of all the selected elements, which as you noticed is not equivalent to a simple text string (which is what the { } indicate). If you wish to access the just the text "date1," and that's the first element in the list date_selection, you can subscript the list either with brackets or the subscript function: date_selection[1] or subscript(date_selection,1). Both of these operations will return "date1" if that's the first element in your list.
I hope this helps!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: removing {} from << get selected variable
Thanks @julian for the quick response! also thanks for letting me know my output is a List and not a simple string. this case the output selection will always be only 1, so a list is not needed.
when I use either date_selection[1] or subscript(date_selection,1) my output now looks like {{"date1"}}. Another set of brackets is added. I wanted to reduce the number of brackets, not add them. LOL! :)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: removing {} from << get selected variable
All you need to do, is to set the value of the returned variable to being the subscript as you generate the variable.
button box("OK",date_selection=(cb_list<<get selected)[1])
by specifying the date_selection this way, date_selection will be a just a plain numeric variable.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: removing {} from << get selected variable
Thanks @txnelson!!
that did the trick! the output is now a simple string as desired.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: removing {} from << get selected variable
Hello
I have a follow up question on this. If I want all the items in the list instead of a single one and I dont want them in brackets similar to the above question. What can I do to get that?
If I try this, I get the first item only without brackets.
button box("OK",date_selection=(cb_list<<get selected)[1])
If I try this, I get all the items but with brackets. I want all the items in cb_list but without the brackets.
button box("OK",date_selection=(cb_list<<get selected))
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: removing {} from << get selected variable
The << get selected message returns a JMP list. JMP Lists are noted by the curly brackets { "A", "B", "C" }. Just like a JMP matrix is noted by square brackets [ 4, 3, 5 ].
Why do you want the curly brackets removed?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: removing {} from << get selected variable
What if I want all the items in the list but without brackets. So something like this "Cats", "Dogs" instead of {"Cats", "Dogs"} ?
As in my case the list if the list of columns selected in a data filter. I want to use that list of columns in a formula column to concat the values in those list of columns.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
myPlatform = New Window( "Filter Col Selector Example",
fontobj = lb = Filter Col Selector( width( 250 ) ),
button box("OK", date_selection=(lb<<get selected); myPlatform << close window;)
);
//creating the formulacol
dt << new column("FINALNEW", Formula(Concat( date_selection ) ) );
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: removing {} from << get selected variable
I think this is the best way to handle the issue
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
date_selection = {"name", "sex"};
cString = concat items(date_selection, ",");
Eval( Parse( "dt << new column(\!"FINALNEW\!", Formula(Concat(" ||
cString || " ) ) );" ) );
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: removing {} from << get selected variable
I'll always argue against Eval(Parse())
You can just do the concat items directly with << Set Each Value (so you don't need to have the variable set)
Names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
myPlatform = New Window( "Filter Col Selector Example", << modal,
fontobj = lb = Filter Col Selector( width( 250 ) ),
button box("OK", date_selection=(lb<<get selected))
);
//creating the formulacol
dt << new column("FINALNEW", character, <<SetEachValue(Concatitems( date_selection, "," ) ) );
I wonder what you're actually doing with that column if it's really a list of dates, it might be worth just putting the list into a column as an expression column type. Depending on how you're using this column.
// using an expression column
dt << new column("FINALNEW_expression", expression, <<SetEachValue(date_selection ) );