BookmarkSubscribeRSS Feed
mdrichar
SAS Employee

Is there a simple way to change this code so that the table label for the new &ds will be the same as for the old &ds, before the data step executed?

data &ds;

     set &ds;

     /* Additional processing */

run;

2 REPLIES 2
Amir
PROC Star

Hi,

You could try storing the original label, then making use of it later, e.g.:

data class(label='Class subset');

  set sashelp.class;

  where name=:'J';

run;

%let ds=work.class;

proc sql noprint;

  select memlabel into :classlabel

  from dictionary.tables

  /*where libname='WORK'

    and memname=upcase("&ds")*/

  where cats(libname,'.',memname)=upcase("&ds")

  ;

quit;

data &ds(label="&classlabel");

  set &ds;

run;

If &ds is a one level data set name (i.e. no libname specified) then you can use the commented where clause instead, that is in the proc sql.

Regards,

Amir.

Peter_C
Rhodochrosite | Level 12

to update the data set without losing the label, don't replace it like that.

Update it.

 

to update the descriptor portion (names, labels and formats) you have PROC DATASETS (see http://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/a000247753.htm )

to update data values within the table you have 2 choices (I believe)

  1. data step statement MODIFY  http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/a000173361.htm
  2. update data with PROC SQL  http://support.sas.com/documentation/cdl/en/sqlproc/65065/HTML/default/n1hz0uhw57yye2n16m5r103jjpjj....

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 3125 views
  • 3 likes
  • 3 in conversation