允许将数据对象从 JMP 传递到 SAS全部,
我正在学习 SAS,并且非常兴奋能够利用 JMP 与 SAS 的接口。
当我开始使用 JMP 进行一些测试时,我意识到了以下几点:
目前,JMP 允许使用 SAS Submit 函数将单个变量从 JMP 传递到 SAS 作为宏。但是,我相信允许将多个变量或数据对象(如关联数组)传递到 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 )
); 自动化和脚本回复:允许将数据对象从JMP传递到SAS-状态更改为:已拒绝如上所述,SAS没有与JSL中类似的复杂数据结构。
回复:允许将数据对象从JMP传递到SAS这是一个有趣的建议,但是SAS没有与关联数组类似的宏数据结构,因此没有任何东西可以将关联数组传递给它。
您可以使用Char()函数将几乎所有的JMP数据类型转换为字符串,然后使用Declare Macros()将该字符串转换为宏变量。
ex = Associative Array( {"red", "blue"}, {1, 2} );
char_ex=char(ex);
SAS Submit(
"
%put &char_ex;
",
DeclareMacros(char_ex),
GetSASLog( True )
);