BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
dw_sas
SAS Employee

Please provide a PROC CONTENTS and a PROC PRINT (of the first 10 observations) of your new DEBT_DATA data set so we can determine the cause of the problem.

 

Thanks,

DW

Reeza
Super User

@dw_sas was right in his suggestion of how to fix your problem.

 

But you still have a few issues in your code.

 

  • Do not use the same data set name and the SET name. It makes it really hard to debug your code, is confusing and bad practice.
  • data data;
    set data; 
  • You have a year variable which is numeric and represents a year, as 1994, 1995. It is not a SAS date. 
  • For some reason you think you need to loop - SAS does this automatically so it's a single line of code to create your year variable. 
  • %let start=1983;
    %let end=2017;
    
    data data;
    set data;
    format date year4. ;
    date = "01jan&start."d;
    do until (date > "01jan&end."d);
      output data;
      date = intnx('year',date,1);
    end;
    run; 
  • When I imported the data there were some empty rows and columns, I deleted them.

 

I changed the variable name from date to myDate to make the code more clear.

 

See below:

 

delete_time_series.JPG

 

 

 

Reeza
Super User

@Lok07 did this solve your issues?

Lok07
Calcite | Level 5

It works.

Thank you so much.

The problem was in date function when i verified my data i found that the ancient date function create date from 1983 to 2017 but for each debt's value 

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

Discussion stats
  • 18 replies
  • 5633 views
  • 3 likes
  • 5 in conversation