BookmarkSubscribeRSS Feed
pankak
Calcite | Level 5

data have;

infile datalines;

input id_acc  acc_no  status_code $5. info_date;

format info_date date9.;

datalines;

1111  999585548  AAA 30Jun2007

1111  999585548  AAA 31Jul2007

1111  999585544  D1A 31Aug2007

1111  999585547  D2A 30Sep2007

1111  999585540  D1D 31Oct2007

1111  999585544  AAA 30Nov2007

1111  999585547  AAA 31Dec2007

1111  999585540  D1D 31Jan2008

1111  999585544  D2D 28Feb2008

1111  999585547  D3D 31Mar2008

1111  999585540  D4D 30Apr2008

1111  999585540  D5D 31May2008

1111  999585540  AAA 30Jun2008

1111  999585540  AAA 31Jul2008

1111  999595540  D1D 31Aug2008

1111  999587540  LEP 30Sep2008

1111  999587540  LEP 31Oct2008

1111  999585540  LEP 30Nov2008

1112  999505548  AAA 30Jun2007

1112  999505548  AAA 31Jul2007

1112  999505544  D1A 31Aug2007

1112  999505547  D2A 30Sep2007

1112  999505540  D1D 31Oct2007

1112  999505544  D2D 30Nov2007

1112  999505547  D3D 31Dec2007

1112  999505540  D4D 31Jan2008

1112  999505544  D5D 28Feb2008

1112  999505547  D6D 31Mar2008

1112  999505540  LEP 30Apr2008

1112  999505540  LEP 31May2008

1112  999505540  LEP 30Jun2008

1112  999505540  LEP 31Jul2008

1112  999505540  LEP 31Aug2008

1112  999505540  LEP 31Oct2008

1112  999505540  LEP 30Nov2008

1113  990005548  D1D 30Jun2007

1113  995005548  D2D 31Jul2007

1113  995050544  D3D 31Aug2007

1113  999500547  D4D 30Sep2007

1113  999500540  AAA 31Oct2007

1113  999500544  D1A 30Nov2007

1113  999580547  D2A 31Dec2007

1113  999580540  AAA 31Jan2008

1113  999580544  D1A 28Feb2008

1113  999580547  D2A 31Mar2008

1113  999580540  AAA 30Apr2008

1113  999580540  D1D 31May2008

1113  999585540  D2D 30Jun2008

1113  999585540  D3D 31Jul2008

1113  999585540  LEP 31Aug2008

1113  999585540  LEP 30Sep2008

1113  999585540  LEP 31Oct2008

1113  999585540  LEP 30Nov2008

;

run;

proc print;

run;

/*I have transosed this data set in the following format:*/

id_acc  30Jun2007 ---  30Nov2008

1111    AAA--------------LEP

2222    AAA--------------LEP

3333    D1D--------------LEP

NOW WHAT I WANT THE OUTPUT IN THE FOLLOWING FORMAT:

how many instances the one id_acc remains in  D1A to D1D,D2D TO D5D,D1D TO D1D (and so on) AND FINAL in LEP.

OUTPUT BELOW:

id_acc  30Jun2007 ---  30Nov2008  D1_START  D1_END    D2_START  D2_END    D3_START    D3_END ......dnstart ...dnend        lEP_START_END

1111    AAA--------------LEP      31Aug2007 31Oct2007  31jan2008  31may2008  31Aug2008  31Aug2008                            30Sep2008

2222    AAA--------------LEP      31Aug2007 31Mar2008                                                                        30Apr2008

3333    D1D--------------LEP      30Jun2007 30Sep2007  30Nov2007  31Dec2007  28Feb2008  31Mar2008    31May2008  31Jul2008    31Aug2008

1 REPLY 1
LinusH
Tourmaline | Level 20

Don't understand what you try to achieve, try to give a clearer example were you don't focus on output design.

Not knowing the underlying requirement, transposing data the way you describe is seldom a road to success for calculating or reporting.

Data never sleeps

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
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
  • 937 views
  • 0 likes
  • 2 in conversation