Here are a few differences I experienced between SAS products and Altair SLC.
Local Settings Formats Cannot Be Used
The locale option of proc format is not supported by Altair SLC. If you work with multiple languages, you will therefore need to find a workaround. Here is an example that works with SAS Studio, but not with Altair SLC.
options locale=en_US;
proc format lib=work.formats locale;
value ny 0='No'
1='Yes';
run;
options locale=de_DE;
proc format lib=work.formats locale;
value ny 0='Nein'
1='Ja';
run;
data demo;
result=0; output;
result=1; output;
run;
options fmtsearch=(work/locale);
options locale=en_US;
proc print data=demo;
format result ny.;
run;
options locale=de_DE;
proc print data=demo;
format result ny.;
run;
ERROR: Option "locale" is not known for the PROC FORMAT statement
Listing All Files in a Given Directory (Windows)
The following code creates a text file containing a list of Excel files available in a given directory.
With SAS Institute solutions, this file can be saved to a permanent or temporary directory.
With Altair SLC, it can only be saved to a permanent directory.
In other words, the path used by the work library, obtained using the function pathname, cannot be used in the routine call system.
%let xxwork=%sysfunc(pathname(work));
options noxwait;
data _null_;
call system("dir &xxroot.\data\*.xlsx /a-d /b > &xxroot.\reporting\listfiles.txt");
*call system("dir &xxroot.\data\*.xlsx /a-d /b > &xxwork.\listfiles.txt");
run;
Stop Displaying Results in the RESULTS Tab
The destination HTML5(Web) can be used to prevent the system from displaying results in the “RESULTS” tab (in SAS Studio, for example).
This destination is not supported by Altair SLC.
ods html5(web) exclude all;
ERROR: Not a valid statement in this context: ODS destination HTML5(web) is not opened
Dataset Options Do Not Work with proc sql
In SAS Studio, dataset options can be used in a proc sql statement.
This is not always the case with Altair SLC. Here is an example:
proc sql;
select a.*, b.height
from class (keep=name age sex where=(age=12)) a
left join
class (keep=name age height where=(age=12)) b
on a.name=b.name;
quit;
Special Missing Values Do Not Work with Picture Formats
Special missing values are not supported in picture formats.
proc format;
picture euro_rd (round)
low-<0 = '000 000 009.99 €' (prefix='-')
0-high = '000 000 009.99 €'
.A = 'N/A'
other = 'Missing';
run;
ERROR: Found "A" when expecting number
Encoding of Included Files
IIf the label of your formats have a special character (for example, an accented “e,” é), you may encounter encoding issues.
If you create a permanent format catalog and use it, this will not be a problem.
If you include the program that create your formats, it won’t be displayed properly unless you add the encoding=utf-8 option in the %include statement.
However, if you use the %include statement to include the program that creates your formats, the labels will not display correctly by default.
Use a filename statement to define the location of your program and add with the encoding=utf-8 option to it. Then use the fileref in your %include statement.
filename mypgm "...sas" encoding=utf-8;
%include mypgm;

Leave a Reply