#sas
#sas
Вопрос:
Я использую приведенный ниже код proc report для создания списка, а переменная «m» содержит несколько записей с очень длинным текстом. Поэтому иногда она переходит на следующую страницу. Когда это происходит, proc report создает пустую страницу перед печатью этой переменной на следующей странице. Как я могу запретить печать этой пустой страницы в моем итоговом отчете? Я создаю этот отчет в формате листинга. Заранее спасибо за вашу помощь.
proc printto file="amp;outputpathname." new;
run;
ods escapechar='^';
%macro lafootnote(num,string);
footnoteamp;num amp;string "%sysfunc(repeat(%str( ),250)))";
%mend;
%let undl=%sysfunc(repeat(_, 165));
options ps=58 ls=165 nodate center nonumber spool ;
title1 "title1";
title2 j=center "title2";
title3 j=center "title3";
%lafootnote(1, "Program: amp;loc/amp;pgmname Draft
%sysfunc(date(), yymmdd10.) %sysfunc(time(), tod5.)" " page# ");
proc report data=amp;datain. nowd missing headskip headline split='@' formchar(2)='_';
column ("amp;undl" a b c d e f g h i j k l n m);
define a /order order=internal noprint;
define b /order order=internal noprint;
define c /order order=internal noprint;
define d /order flow left width=7 'd';
define e /display flow left width=12 'e';
define f /display flow left width=10 'f';
define g /display flow left width=13 'g';
define h /display flow left width=12 'h';
define i /display flow left width=10 'i';
define j /display flow left width=11 'j';
define k /display flow left width=12 'k' ;
define l /display flow left width=12 'l';
define n /display flow left width=14 'n';
define m /display flow left width=158 'm' page;
break after a /page;
compute after _page_;
line @1 165*'_';
endcomp;
run;
proc printto;
run;
Примерные данные
data have;
input a b c d e f g h i j k l n m;
datalines4;
...
... place your CSV sample data here
...
;;;;
Комментарии:
1. Можете ли вы показать некоторые данные?
2. Привет, Ричард, Да, я могу. Я не вижу возможности прикрепить файл .CSV для его предоставления. Можно ли прикрепить сюда такие файлы? Спасибо, что ответили на мой вопрос.
3. Отредактируйте свой вопрос и скопируйте некоторые данные CSV в область, которую я подготовил для вас в нижней части вопроса. Только достаточно данных, которые заставили бы процесс воспроизвести проблему.
4. Если вы можете позволить себе напечатать больше символов в строке, попробуйте
options linesize=250;
использовать любое число, которое вам подходит.