cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • JMP will suspend normal business operations for our Winter Holiday beginning on Wednesday, Dec. 24, 2025, at 5:00 p.m. ET (2:00 p.m. ET for JMP Accounts Receivable).
    Regular business hours will resume at 9:00 a.m. EST on Friday, Jan. 2, 2026.
  • We’re retiring the File Exchange at the end of this year. The JMP Marketplace is now your destination for add-ins and extensions.

Discussions

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

Saved Log vs. Viewed Log Contain Different Content

I have a table that I've manually edited extensively and am looking to save the script for so I can automate in the future. I've written the following script (intended to be pasted into data table or allow user to run independently), which works, but I have to copy & paste into a text file to save:

 

dt = Current Data Table();

If( Is Empty ( dt ),
	Try( dt = Open(), Throw("No data table found"))
	);

Open Log();

dt << Get Script;

If I add the line Save Log (" "); it correctly saved the log, but only up to the transcript of the executed script and no longer contains the output of dt << Get Script;. I've tried many iterations of reordering the commands, but can't get the saved log to match the viewed log:

dt = Current Data Table();

If( Is Empty ( dt ),
	Try( dt = Open(), Throw("No data table found"))
	);

Open Log();

dt << Get Script;

Save Log("");

 

1 ACCEPTED SOLUTION

Accepted Solutions
Craige_Hales
Super User

Re: Saved Log vs. Viewed Log Contain Different Content

dt << Get Script;

gets the script, but doesn't do anything with it. Try

write(dt << Get Script);

JMP's behavior when evaluating an expression (even an expression with a bunch of semicolon separated statements) is to print the last result. So, when your submitted script ends with dt<<GetScript, that's what winds up in the log. Otherwise, the <<GetScript method is evaluated, the value is returned, then as soon as another statement executes, the value is thrown away in favor of the next statement's result.

 

You may need a newline in the write, something like write("\!n", dt<<GetScript). The write function adds nothing to the value that is printed, unlike the print() and show() functions.

 

Craige

View solution in original post

2 REPLIES 2
Craige_Hales
Super User

Re: Saved Log vs. Viewed Log Contain Different Content

dt << Get Script;

gets the script, but doesn't do anything with it. Try

write(dt << Get Script);

JMP's behavior when evaluating an expression (even an expression with a bunch of semicolon separated statements) is to print the last result. So, when your submitted script ends with dt<<GetScript, that's what winds up in the log. Otherwise, the <<GetScript method is evaluated, the value is returned, then as soon as another statement executes, the value is thrown away in favor of the next statement's result.

 

You may need a newline in the write, something like write("\!n", dt<<GetScript). The write function adds nothing to the value that is printed, unlike the print() and show() functions.

 

Craige
amurphy
Level II

Re: Saved Log vs. Viewed Log Contain Different Content

Thank you! That solved my immediate problem and taught me some new basics that will help a lot in the future!

Recommended Articles