1. What is the use of catalog?

SAS CATALOG IS A TYPE OF SPECIAL SAS FILE THAT CONTAINS
ELEMENTS.MOST COMMMON ELEMENTS IN SAS CATALOG ARE 'FORMAT'
'SOURCE' OUTPUT,LOG EC.

PROC FORMAT IS USED TO CREATE THE FORMAT AND STORE THEN
IN THE SASCATALOG.

proc format library=SMA;
value $region
'1'='n orthwest'
'2'='southwest'
'3'='central'
;
run;

FORMAT NAME 'REGION' IS STORED IN CATALOG IN 'SMA' LIBRARY

TO KNOW THE CONTENTS OR TO MOVE THE CONTENTS OF ASA CATALOG
USE THE PROCEDURE 'PROC CATALOG'

2. Suppose a null dataset with 10 variables; i want to print only name of the varibales in log window and also output window. How can we do this one?

data sm;
input name $ number;
datalines;
run;

dataset in created without observations but the dataset has
varibles.

3. What is validvarname and varnum? why we are using this options; explain with a syntax for this options?

The following example shows how the Pass-Through Facility
works with
VALIDVARNAME=UPPERCASE.

options validvarname=uppercase;
proc sql;
connect to oracle as tables(user=USERID orapw=passward
path='INSTANCE');
create table lab as
select lab_rslt, lab_test
from connection to oracle
(select "laboratory result$", "laboratory test$"
from DBMStable);
quit;

When we check the Output we observe that the variables in
the DBMS column is changed to upper case as well as V7
(default option) converts those variables into UPPERCASE
variables. Ex: " laboratory result$" becomes LAB_RSLT and "
laboratory test$" becomes LAB_TEST


VARNUM returns the number of a variable's position in a SAS
data set, or 0 if the variable is not in the SAS data set.
This is the same variable number that is next to the
variable in the output from PROC CONTENTS.

4. Suppose a dataset with 100000 records. i want 100 records from that dataset and create a dataset.we need to pick the observations random order like
100obs,500obs,1020obs,1890obs,2565obs like that i need 100 obs in random order? how can we create this one?

data A;
do slice = 100,500,1890,256,...100th;
set source point=slice;
output;
end;
stop;
run;

5. In PROC PRINT, can you print only variables that begin with the letter “A”?

Use the idea of variable list (varlist) wildcard :

e.g.,
proc print data=xxx ;
var A: ;
run ;
This will list all variables start with letter A.

6. Code the tables statement to produce a multi-level frequency?

multiple levels: tables a*b a*c a*b*c;

7. Code the tables statement for a single-level (most common) frequency?

one level: tables a b c;

8. How to add a number to a macro variable?

Use %eval to do simple calculation for macro variables.
e.g.,
data _null_;
%let a = 1;
%let b = %eval(&a+1);
%put a=&a b=&b;
run;

9. How to CREATE an external dataset with sas code?

I thought about sth like this:

Data _null_;
filename fileref <device-type>
dsnname='path'

run;


something like this buy it do not work.
and i would like to add BLK, DISP; UNIT SIZE

10. What is option year cuttoff in sas?

by this option we can set the year span like
Options yearcutoff=2050
so it sets year from 2050 to 2049 ..

Download Interview PDF

11. Suppose date is 05sep2005; i want the output like 05sep2005:00:00:00 ; how it will come?

data test_date;
input date;
informat date datetime18;
cards;
05sep2005:00:00:00
run;
proc print data=test_date;
format date datetime18.;
run;