Próbowałem wyeksportować zestaw danych SAS z 49 zmiennymi. Każda z tych zmiennych może mieć długość 32767 znaków. Chcę zapisać ten zestaw danych do pliku txt, ale SAS ogranicza mnie opcją lrecl
na 32767 znaków. Czy jest jakiś sposób na zrobienie tego? Próbowałem użyć kroku danych.Eksportowanie pliku txt o długości rekordu linii większej niż 32767 znaków?
data _null_;
%let _EFIERR_ = 0; /* set the ERROR detection macro variable */
%let _EFIREC_ = 0; /* clear export record count macro variable */
file 'C:path\TEST.txt';
if _n_ = 1 then do;
put "<BLAH>"
;
end;
set WORK.SAS_DATASET end=EFIEOD;
format raw1 $32767. ;
format raw2 $32767. ;
etc...
do;
EFIOUT + 1;
put raw1 $ @;
put raw2 $ @;
etc...
;
end;
if _ERROR_ then call symputx('_EFIERR_',1); /* set ERROR detection macro variable */
if EFIEOD then
do;
put "</BLAH>"
;
call symputx('_EFIREC_',EFIOUT);
end;
run;
Awesome ... Popełniłem błąd definiując go przed krokiem danych, używając instrukcji 'options lrecl = 10000000;', która spowodowała błąd. –
Z jakiegoś powodu OPCJE LRECL dopuszcza tylko do 32767, mimo że wyższe LRECL z pewnością są legalne na wyciągu 'FILE'. – Joe
OK ... uruchomiłem kod, ale zapisuje się tylko pierwsze 8000 znaków każdej zmiennej. Dlaczego? Czy istnieje inna opcja, którą muszę zmienić? –