BookmarkSubscribeRSS Feed
2 REPLIES 2
ballardw
Super User

Which Compress are you talking about? Libname has a compress option, compress is also a data set options and there is a Data step function compress.

 

If the data function then you will need to provide actual examples since the purpose of the function is to remove characters. The result is very highly dependent on 1) the starting value and 2) the list of characters supplied to remove. The length doesn't matter too much.

arshad-sas92
Calcite | Level 5
DATA text;
infile cards truncover;
input coval_t $600. ;
len_t=length(coval_t);
cards;
COMPARED TO PREVIOUS ECG, SIGNIFICANT CHANGES HAVE OCCURRED DUE TO CRITERIA
FOR
POSSIBLE ANTERIOR INFARCT GONE
COMPARED TO BASELINE ECG, SIGNIFICANT CHANGES HAVE OCCURRED DUE TO
NON-SPECIFIC
CHANGES HAVE OCCURRED DUE TO NON-SPECIFIC INTRA-VENTRICULAR CONDUCTION
DELAY IS
SEEN
POSSIBLE WOLFF-PARKINSON-WHITE COMPARED TO BASELINE ECG, SIGNIFICANT
CHANGES HAVE CCURRED DUE TO POSSIBLE WOLFF-PARKINSON-WHITE IS SEEN COMPARED
TO PREVIOUS ECG, SIGNIFICANT CHANGES HAVE OCCURREDD DUE TO POSSIBLE
WOLFF-PARKINSON-WHITE IS SEEN
COMPARED TO BASELINE ECG, SIGNIFICANT CHANGES HAVE OCCURRED DUE TO AGE
UNDETERMINED, SEPTAL MI IS SEEN COMPARED TO PREVIOUS ECG, SIGNIFICANT
CHANGES HAVE
OCCURRED DUE TO AGE UNDETERMINED, SEPTAL MI IS SEEN
PROLONGED QT FULLY PACED BEAT, THE QT CHANGE AND QT PROLONGATION SHOULD BE
ONSIDERED UNDER THESE CIRCUMSTANCES AND UNLIKELY TO BE DRUG EFFECT COMPARED
TO BASELINE ECG, SIGNIFICANT CHANGES HAVE OCCURRED DUE TO QTCB CHANGED BY
MSEC FROM BASELINE COMPARED TO BASELINE ECG, SIGNIFICANT CHANGES HAVE
OCCURRED DUE TO AV SEQUENTIAL OR DUAL CHAMBER ELECTRONIC PACEMAKER IS SEEN
COMPARED TO PREVIOUS ECG, SIGNIFICANT CHANGES HAVE OCCURRED DUE TO AV
SEQUENTIAL OR DUAL CHAMBER ELECTRONIC PACEMAKER IS SEEN
;
run ;

this is my code but i am getting turncation . I want no turncation .I want
one variable contain 200 length not more than 200 and no truncation

DATA temp;
SET text;
length coval coval1 coval2 $200 ;
ovar=coval_t;
if len_t=<200 then coval=substr(coval_t,1,200);
if 200coval=substr(coval_t,1,200);
coval1=substr(coval_t,201,400);
end;
if len_t>400 then do;
coval=substr(coval_t,1,200);
coval1=substr(coval_t,201,400);
coval2=substr(coval_t,401);
end;
keep ovar coval coval1 coval2;
run ;

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

New Learning Events in April

 

Join us for two new fee-based courses: Administrative Healthcare Data and SAS via Live Web Monday-Thursday, April 24-27 from 1:00 to 4:30 PM ET each day. And Administrative Healthcare Data and SAS: Hands-On Programming Workshop via Live Web on Friday, April 28 from 9:00 AM to 5:00 PM ET.

LEARN MORE

Discussion stats
  • 2 replies
  • 1187 views
  • 0 likes
  • 2 in conversation