The OBS= data set option uses only the first 12 observations to create the report. (This is just to conserve space here.) The ID statement identifies observations with the formatted value of IdNumber rather than with the observation number. This report is in Default Layout for a Report with Many Variables .
proc print data=empdata(obs=12);
   id idnumber;
   title 'Personnel Data';
run;