cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • JMP 19 is here! See the new features at jmp.com/new.
  • Register to attend Discovery Summit 2025 Online: Early Users Edition, Sept. 24-25.
Choose Language Hide Translation Bar

Scripters Club Recording: Elaborate on Elaborate - Interactive Reporting & AI Playgrounds in Development

In this Session, we dive into the power of interactive reporting in JMP—showcasing how to build sophisticated, user-friendly reports that go beyond the basics. You'll also get a behind-the-scenes look at how Predictum is integrating AI into their development workflows, including practical use cases of their free  add-in for JMP and how tools like GitHub Copilot are accelerating custom analytics solutions.

 

 

Resources: 

Comments: 

Heidi Hardner: 

I was very surprised when I learned the built-in button could not be simply told to be "a big red button", that might not be obvious until you try to do it.

 Holger Specht

Not via simple messages sent to the objects. I didn't know that it's so easy to define how an object reacts on  "messages"  (sent via <<)

Sage Darling: 

Copilot also has a feature where you can update the model type! at the bottom of the copilot chat window near where you write the prompt, where it says "GPT-4.1", there's other options such as Claude and Gemini. I've found some models better than others for different tasks.  

2 REPLIES 2
hogi
Level XII

Re: Scripters Club Recording: Elaborate on Elaborate - Interactive Reporting & AI Playgrounds in Development


@farhan_mansoor wrote:

The linked example uses MouseBox + TextBox to get buttons with colors.
Seems that JMP Class is not used but suggested in the post.

hogi
Level XII

Re: Scripters Club Recording: Elaborate on Elaborate - Interactive Reporting & AI Playgrounds in Development

Interesting post:
Returning an expression from a function differs when namespace is used. 

The issue seems to affect as well JMP Classes.

 

funcNS = Define Class(
	"myClass",	
	f1 = Function( {}, 
		expr(1+2)
	)
);

myClass:f2 = Function( {}, 
	expr(1+2)
);
	
Show( Type( myClass:f1() ), Type( myClass:f2() ) );


cl = New Object( myClass( ) );

show(cl << f1);
show(cl << f2);