允许将数据对象从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 )
);