Great. Thanks.
DATAsp
Rhapsody,
1 data have;
2 input theta1-theta3;
3 datalines;
NOTE: The data set WORK.HAVE has 4 observations and 3 variables.
NOTE: Compressing data set WORK.HAVE increased size by 100.00 percent.
Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: DATA statement used (Total process time):
real time 0.17 seconds
cpu time 0.00 seconds
8 ;
9 run;
10
11 options cmplib = work.cmpar;
12
13 %let rc = %sysfunc(array2array(have, want));
WARNING: No CMP or C functions found in library work.cmpar.
ERROR: The ARRAY2ARRAY function referenced in the %SYSFUNC or %QSYSFUNC macro function is not
found.
WARNING: Argument 2 to function PUTN referenced by the %SYSFUNC or %QSYSFUNC macro function is
out of range.
[1] I do not know why this NOTE comes:
NOTE: Compressing data set WORK.HAVE increased size by 100.00 percent.
Compressed is 2 pages; un-compressed would require 1 pages.
I have not used COMPRESS option in the Data Set.
[2] WARNING: No CMP or C functions found in library work.cmpar.
As long as you have used the statement:
options cmplib = work.cmpar;
You must not get the WARNING shown above.
I reran your new Data Set and worked without ERROR or WARNING.
The output (WANT) is:
Obs trans1 trans2 trans3 1 0.2 0.7 0.500 2 0.3 0.9 0.623 3 0.5 0.6 0.150 4 0.7 0.9 0.210
Can you show source code of the Function? I can check it.
DATAsp
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.