cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Learn how to build custom Python data connectors and further customize JMP’s Data Connector Framework with the Python Data Connector Demo, available now in the JMP Marketplace!
  • See how to create experiments to support product design and ID useful product features. Register for June 12 webinar, 2pm US Eastern Time.

JMP Wish List

We want to hear your ideas for improving JMP. Share them here.
Choose Language Hide Translation Bar
0 Kudos

Allow passing data objects from JMP to SAS

All, 
   I am learning SAS and I am geeked and super excited to leverage the interface that JMP has to SAS. 

   As I was getting to set up some testing using JMP, I realised the following: 

 

   Currently JMP allows the passing of a single variable from JMP into SAS as a macro using the SAS Submit function. However, I believe there will be a lot of benefit to allow passing of multiple variables or data objects like associative arrays into SAS. 

 

     

// Works 
ex = 1; 
SAS Submit(
			"
			 %put &ex; 
			",
			 DeclareMacros(ex),
			 GetSASLog( True )
		  ); 

// Fails 
ex = Associative Array( {"red", "blue"}, {1, 2} );
SAS Submit(
			"
			 %put &ex; 
			",
			 DeclareMacros(ex),
			 GetSASLog( True )
		  ); 
2 Comments
Jeff_Perkinson
Community Manager

This is an interesting suggestion but SAS doesn't have a macro data structure analgous to an associative array, so there's nothing to pass the associative array to.

 

You can convert almost any JMP data type to a character string using the Char() function and then use Declare Macros() to get that character string into a macro variable.

 

ex = Associative Array( {"red", "blue"}, {1, 2} );
char_ex=char(ex);
SAS Submit(
			"
			 %put &char_ex; 
			",
			 DeclareMacros(char_ex),
			 GetSASLog( True )
		  ); 
Jeff_Perkinson
Community Manager
Status changed to: Not Planned For Now

As noted above, SAS doesn't have complex data structures analgous to the structures in JSL.