BookmarkSubscribeRSS Feed
sas1981
Calcite | Level 5

I have some code below with the @ sign that devides the data set into two datasets; first and second (using the @ sign):

 

data first second;
INPUT x y @;
OUTPUT first;
INPUT x y;
OUTPUT second;
DATALINES;
1 2 3 4 9 10
5 6 7 8
;
PROC PRINT data=first;
Title 'first';
RUN;
PROC PRINT data=second;
Title 'second';
RUN;

 

When I replace the @ sign with @@ I am getting the same result but I was assuming I would not. I am wondering why the two different code produce the same output. Thank you for any advise. 

1 REPLY 1
art297
Opal | Level 21

You defeat the functionality of @ and @@ by including two input statements. Try the following:

data first_a second_a;
  INPUT x y @;
  if mod(_n_,2) then OUTPUT first_a;
  else OUTPUT second_a;
  DATALINES;
1 2 3 4 5 6
7 8 9 10 11 12
;

data first_b second_b;
  INPUT x y @@;
  if mod(_n_,2) then OUTPUT first_b;
  else OUTPUT second_b;
  DATALINES;
1 2 3 4 5 6
7 8 9 10 11 12
;

Art, CEO, AnalystFinder.com

 

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

How to connect to databases in SAS Viya

Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 1 reply
  • 622 views
  • 1 like
  • 2 in conversation