Data Energyconsm;
if Windows="N" then do; New Windows=1; OldWindows=0;
if Windows="O" then do; Old Windows=1; NewWindows=0;
input Hotel Area NumRooms OccRate EffRooms Windows Energy;
Datalines;
1 43.000 420 32.60 136.92 N 8.199053
2 19.979 215 63.00 135.45 O 6.650887
3 46.529 273 65.05 177.59 O 7.765729
4 20.962 222 70.50 156.51 N 0.446270
5 24.212 474 69.70 330.38 N 2.985187
6 82.200 787 48.97 385.39 O 16.391854
Proc print data=Energyconsm;
run;
I am not getting an output i require.
Showing - ERROR 180-322: Statement is not valid or it is used out of proper order. Please Help
Corrected:
Data Energyconsm;
input Hotel Area NumRooms OccRate EffRooms Windows $ Energy;
if Windows="N" then do; NewWindows=1; OldWindows=0;end;
else if Windows="O" then do; OldWindows=1; NewWindows=0;end;
Datalines;
1 43.000 420 32.60 136.92 N 8.199053
2 19.979 215 63.00 135.45 O 6.650887
3 46.529 273 65.05 177.59 O 7.765729
4 20.962 222 70.50 156.51 N 0.446270
5 24.212 474 69.70 330.38 N 2.985187
6 82.200 787 48.97 385.39 O 16.391854
;
Proc print data=Energyconsm;
run;
Corrected:
Data Energyconsm;
input Hotel Area NumRooms OccRate EffRooms Windows $ Energy;
if Windows="N" then do; NewWindows=1; OldWindows=0;end;
else if Windows="O" then do; OldWindows=1; NewWindows=0;end;
Datalines;
1 43.000 420 32.60 136.92 N 8.199053
2 19.979 215 63.00 135.45 O 6.650887
3 46.529 273 65.05 177.59 O 7.765729
4 20.962 222 70.50 156.51 N 0.446270
5 24.212 474 69.70 330.38 N 2.985187
6 82.200 787 48.97 385.39 O 16.391854
;
Proc print data=Energyconsm;
run;
1 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
70
71 Data Energyconsm;
72 input Hotel Area NumRooms OccRate EffRooms Windows $ Energy;
73 if Windows="N" then do; New Windows=1; Old Windows=0; end;
___ ___
180 180
ERROR 180-322: Statement is not valid or it is used out of proper order.
74 else if Windows="O" then do; OldWindows=1; NewWindows=0; end;
75 Datalines;
Data is printing but I am still getting error.
show us the code, log you ran plz
Data Energyconsm;
input Hotel Area NumRooms OccRate EffRooms Windows $ Energy;
if Windows="N" then do; New Windows=1; Old Windows=0; end;
else if Windows="O" then do; OldWindows=1; NewWindows=0; end;
Datalines;
1 43.000 420 32.60 136.92 N 8.199053
2 19.979 215 63.00 135.45 O 6.650887
3 46.529 273 65.05 177.59 O 7.765729
4 20.962 222 70.50 156.51 N 0.446270
5 24.212 474 69.70 330.38 N 2.985187
6 82.200 787 48.97 385.39 O 16.391854
7 45.000 325 49.00 159.25 N 9.766150
8 28.548 199 52.27 104.02 N 3.605958
9 32.865 359 50.00 179.50 N 3.335242
10 59.406 503 57.66 290.03 N 12.928614
11 45.000 416 94.08 391.37 O 8.226040
12 37.435 418 68.70 287.17 N 6.067471
13 50.828 347 49.00 170.03 N 7.233905
14 68.000 455 64.20 292.11 O 11.043565
15 78.868 511 63.51 324.54 N 10.288695
16 28.454 219 76.54 167.62 O 3.662090
17 70.000 501 67.57 338.53 N 11.949033
18 20.000 197 66.00 130.02 N 0.659653
19 50.000 318 61.50 195.57 O 10.034180
;
Proc print data=Energyconsm;
run;
Data Energyconsm;
input Hotel Area NumRooms OccRate EffRooms Windows $ Energy;
if Windows="N" then do; NewWindows=1; OldWindows=0; end;/*notice the correction here plz in varnames*/
else if Windows="O" then do; OldWindows=1; NewWindows=0; end;
Datalines;
1 43.000 420 32.60 136.92 N 8.199053
2 19.979 215 63.00 135.45 O 6.650887
3 46.529 273 65.05 177.59 O 7.765729
4 20.962 222 70.50 156.51 N 0.446270
5 24.212 474 69.70 330.38 N 2.985187
6 82.200 787 48.97 385.39 O 16.391854
7 45.000 325 49.00 159.25 N 9.766150
8 28.548 199 52.27 104.02 N 3.605958
9 32.865 359 50.00 179.50 N 3.335242
10 59.406 503 57.66 290.03 N 12.928614
11 45.000 416 94.08 391.37 O 8.226040
12 37.435 418 68.70 287.17 N 6.067471
13 50.828 347 49.00 170.03 N 7.233905
14 68.000 455 64.20 292.11 O 11.043565
15 78.868 511 63.51 324.54 N 10.288695
16 28.454 219 76.54 167.62 O 3.662090
17 70.000 501 67.57 338.53 N 11.949033
18 20.000 197 66.00 130.02 N 0.659653
19 50.000 318 61.50 195.57 O 10.034180
;
Proc print data=Energyconsm;
run;
Please review when you copy paste from the forum word by word so you don't make any mistakes
You are a life saver.Thanks a lot!!
I am doing this first time in my life and taking so much time to get an output without error.
There's usually a line number attached to the error. What line is it indicating?
Your INPUT is incorrect though - how do you specify a character variable when reading in data?
@serakuru1989 wrote:
Data Energyconsm;
if Windows="N" then do; New Windows=1; OldWindows=0;
if Windows="O" then do; Old Windows=1; NewWindows=0;
input Hotel Area NumRooms OccRate EffRooms Windows Energy;
Datalines;
1 43.000 420 32.60 136.92 N 8.199053
2 19.979 215 63.00 135.45 O 6.650887
3 46.529 273 65.05 177.59 O 7.7657294 20.962 222 70.50 156.51 N 0.446270
5 24.212 474 69.70 330.38 N 2.985187
6 82.200 787 48.97 385.39 O 16.391854
Proc print data=Energyconsm;
run;
I am not getting an output i require.
Showing - ERROR 180-322: Statement is not valid or it is used out of proper order. Please Help
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.