DATA Step, Macro, Functions and more

need to find title and output of the follwing code- thanks

Accepted Solution Solved
Reply
New Contributor
Posts: 3
Accepted Solution

need to find title and output of the follwing code- thanks

data txns; do amt = 40000, 42000, 48000;
output;
end;
run;
data process;
set txns; if amt >= 50000 then do;
%let title_suffix = NOTE: Large Transaction Amounts!!;
large_tran_flag = 'Y';
end;
run; title "Transaction Report &title_suffix";
proc print data = process:
run;
 
 
another one :
 
Given the following array, how would you total the values
 
array abc(5) ( 12 5 . 17 20);

Accepted Solutions
Solution
‎03-03-2016 06:37 AM
Super User
Super User
Posts: 7,987

Re: need to find title and output of the follwing code- thanks

Posted in reply to chann1313

Sorry, your first question doesn't make sense, then title can be found on the row indicated by the arrow 3 in the below code plus the text from the macro variable indicated by arrow 2 (note I have updated your to follow some good programmnig practice rules such as indentation and keeping one code line on one line for readbility).  Do note that the %let is not condition in this code, macro code is separate from datastep code.  Output is marked by arrow 1:

data txns; 
  do amt=40000, 42000, 48000;
    output;     <--1
  end;
run;

%let title_suffix=NOTE: Large Transaction Amounts!!;  <--2

data process;
  set txns;
  if amt >= 50000 then do;
    large_tran_flag = 'Y';
  end;
run;

title "Transaction Report &title_suffix";    <--3
proc print data=process:
run;

For your second question - which should be in a separate post - you can use the of array syntax to simplfy your code:

data want;
  array abc(5) (12 5 . 17 20);
  result=sum(of abc{*});
run;

View solution in original post


All Replies
Solution
‎03-03-2016 06:37 AM
Super User
Super User
Posts: 7,987

Re: need to find title and output of the follwing code- thanks

Posted in reply to chann1313

Sorry, your first question doesn't make sense, then title can be found on the row indicated by the arrow 3 in the below code plus the text from the macro variable indicated by arrow 2 (note I have updated your to follow some good programmnig practice rules such as indentation and keeping one code line on one line for readbility).  Do note that the %let is not condition in this code, macro code is separate from datastep code.  Output is marked by arrow 1:

data txns; 
  do amt=40000, 42000, 48000;
    output;     <--1
  end;
run;

%let title_suffix=NOTE: Large Transaction Amounts!!;  <--2

data process;
  set txns;
  if amt >= 50000 then do;
    large_tran_flag = 'Y';
  end;
run;

title "Transaction Report &title_suffix";    <--3
proc print data=process:
run;

For your second question - which should be in a separate post - you can use the of array syntax to simplfy your code:

data want;
  array abc(5) (12 5 . 17 20);
  result=sum(of abc{*});
run;
New Contributor
Posts: 3

Re: need to find title and output of the follwing code- thanks

Posted in reply to chann1313
Thanks rw9, I m trying to learn.
☑ This topic is solved.

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

Discussion stats
  • 2 replies
  • 210 views
  • 0 likes
  • 2 in conversation