Hello,
I would like to ask about a specific problem, I am new to SAS , working on an existing code and I am facing some issues to update it.
I have the following data printed on screen and I would like that for each Timepoint, whenever the combination of 'Lesion Type', Total Sum', 'Lesion evaluation' and 'Overall evaluation' is the same on multiple rows, I would like to show it only once.
So, for Subject 'A' the lines with the arrow should be listed one after each other. the values in purple should be printed and the values in yellow should not be printed because they are repeated.
Below are the existing code to create the dataset and also to create the report
Create Dataset
data lesrt3; set lesrt2; by subjid RECISTNR timept ord; if first.ord then do; lestype1=lestype; eval1=eval; TLSLDd=put(TLSLD, 9.0); end; else do; lestype1=''; eval=''; TLSLDd=''; end; if lestype='Non-Target Lesion' then tlsldd=''; if TIMEP = 99 then TIMEPT_ = compbl('Other follow-up: Week '|| compress(put(TIMEPTW,3.))); else timept_=timept;
CTDat = CATS(DDCT1,'$',DDCT2,'$',DDCT3); MRIDat = CATS (DDMRI1,'$',DDMRI2,'$',DDMRI3); XRDat = CATS (DDXR1,'$',DDXR2,'$',DDXR3); PETDAT = CATS (DDPET1,'$',DDPET2,'$',DDPET3); OTHDAT = CATS (DDOTH1,'$',DDOTH2,'$',DDOTH3); if LESTEC =1 then RTADAT = CTDat; else if LESTEC =2 then RTADAT = MRIDat; else if LESTEC =3 then RTADAT = XRDat; else if LESTEC =4 then RTADAT = PETDAT; else if LESTEC =5 then RTADAT = OTHDAT;
if lestype ='Non-Target Lesion' then Leseval=evantlt; if lestype ='Target Lesion' then Leseval=evatlt; leseval_all= overevt; run;
Print report
proc report data=lesrt3 nowd split='$' headskip headline /*spacing=1*/ missing; column SUBJID TLESOB NTLESOB NLESOB LESTYPE RECISTNR TIMEPT_ LESORGT LESTECT LESSP TLSLD RTADAT ("Response Assessment$___" LESEVAL OVEREVT ) ;
define SUBJID / order 'Subject ID' width=12 left flow; define TLESOB / group 'Target$Lesion$Observed' width=6 left format=fyn.; define NTLESOB / group 'Non-$Target$Lesion$Observed' width=8 left format=fyn.; define NLESOB / group 'New-$Lesions$Observed' width=8 left format=fyn.; define LESTYPE / 'Lesions$Type' width=8 left flow;
define RECISTNR / order 'Nr' width=2 left; define TIMEPT_ / group 'Time Point' width=10 left flow ; define LESORGT / group 'Organ/Site' width=10 left flow; define LESTECT / group 'Technique' width=9 left; define LESSP / group 'Specification' width=13 left flow; define TLSLD / group 'Total$Sum$TL' width=5 left;
define RTADAT / group 'Date$Of$Examination' width=10 left; define LESEVAL / group 'Lesion$Evaluation' width=10 left flow ; define OVEREVT / group 'Overall$Evaluation' width=10 left flow ;
break after subjid / skip; run;
... View more