DATA Step, Macro, Functions and more

Make new observation from empty dataset.(0 obs dataset)

Accepted Solution Solved
Reply
Contributor
Posts: 35
Accepted Solution

Make new observation from empty dataset.(0 obs dataset)

I'm looking for ways to generate new obs from empty dataset(which have 0 obs).

Let's say you have 2 obs in adsl. From this data set, we create 0obs dataset(adsl_empty).

 

After that, please tell me if you know how to generate only 1obs with USUBJID = "No patients"; As I get "0 obs" after executing below sample. I want this to be 1 OBS in "adsl_x" dataset.

 

data work.adsl;
 USUBJID ="xx1";output;
 USUBJID ="xx2";output;
run;

data work.adsl_empty;
 set work.adsl;
delete;
run;

data work.adsl_X;
 set work.adsl_empty;
 USUBJID = "No patients";output;
run;

0obs.jpg

Regards


Accepted Solutions
Solution
‎03-06-2017 10:31 AM
Super User
Posts: 5,082

Re: Make new observation from empty dataset.(0 obs dataset)

Here's a simple DATA step approach:

 

data want;

if 5=4 then set adsl_empty;

USUBJID = 'No Patients';

output;

run;

 

One issue you may need to address is the length of the variable USUBJID.  It has to be at least 11 characters long in ADSL_EMPTY, in order to be able to fit the full text within "No Patients".

View solution in original post


All Replies
Super User
Super User
Posts: 7,401

Re: Make new observation from empty dataset.(0 obs dataset)

You can do it in a variety of ways:

data step - set empty and new dataset with your data in example:

data temp;
  usubjid="No subjects";
run;

data adsl;
  set adsl_blank temp;
run;

proc append - put one dataset under another

proc sql - union all, selelct * from each

proc sql insert into

 

Contributor
Posts: 35

Re: Make new observation from empty dataset.(0 obs dataset)

Thank you RW9.
I appreciate your telling me many ways for this.
Solution
‎03-06-2017 10:31 AM
Super User
Posts: 5,082

Re: Make new observation from empty dataset.(0 obs dataset)

Here's a simple DATA step approach:

 

data want;

if 5=4 then set adsl_empty;

USUBJID = 'No Patients';

output;

run;

 

One issue you may need to address is the length of the variable USUBJID.  It has to be at least 11 characters long in ADSL_EMPTY, in order to be able to fit the full text within "No Patients".

Contributor
Posts: 35

Re: Make new observation from empty dataset.(0 obs dataset)

Thank you Astounding.
This way is very simple and clear.
I also care length of USUBJID variable.
☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 146 views
  • 0 likes
  • 3 in conversation