Hi....I having problem getting the output I want when it comes to calculating "Total". I would like to only sum up the "ShowAmount" if the "Start" date is missing. Any suggestions.....Thanks.
data Have;
length ID 8 TransDate $ 8 ShowAmount 8 Date $ 8 start $ 8 end $ 8;
format ID best12. TransDate $char8. ShowAmount DOLLAR20.2 Date $char8. start $char8. end $char8.;
infile datalines4 dlm='7F'x missover dsd;
input ID : best32. TransDate : $char8. ShowAmount : best32. Date : $char8. start : $char8. end : $char8. ;
datalines4;
15220000720155020000720
15220000804155020000804
1522014080745020140807
1522014082710020140827
152 .201409032014090320140930
152 .201410012014100120141008
1522015082745020150827
152 .201509172015091720150930
152 .201510012015100120151031
15220151111700201511112015110120151130
152 .201512012015120120151210
1522016010855020160108
152 .201601132016011320160131
15220160229450201602292016020120160229
152 .201603012016030120160323
152 .201604062016040620160430
152 .201605012016050120160531
152 .201606012016060120160629
;;;;
data want;
set have;
by ID TransDate notsorted;
if first.ID then
Total = 0;
Total + ShowAmount;
if not missing(Start) then
Output;
run;
Want:
ID TransDate ShowAmount Date start end Total
152 20140903 20140903 20140930 3650
152 20141001 20141001 20141008 3650
152 20150917 20150917 20150930 4100
152 20151001 20151001 20151031 4100
152 20151111 $700.00 20151111 20151101 20151130 4800
152 20151201 20151201 20151210 4800
152 20160113 20160113 20160131 4650
152 20160229 $450.00 20160229 20160201 20160229 4650
152 20160301 20160301 20160323 4650
152 20160406 20160406 20160430 4650
152 20160501 20160501 20160531 4650
152 20160601 20160601 20160629 4650
Changed thread title from "Runnung Total" to "Running Total"
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.