Sas 过程报告:在子组上添加缩进

Sas 过程报告:在子组上添加缩进,sas,report,display,proc-report,Sas,Report,Display,Proc Report,在proc报告中,我很难在第二级(高级术语1)或第三级之前获得缩进,以此类推 当我使用style(column)=[cellwidth=6.5cm JUST=LEFT asis=on]时,我会得到缩进,但由于句子长度的原因,连续的下一行从开头开始。例如: 有没有一种方法可以使不同级别的缩进对齐 这是我的过程报告程序: proc report data=final nowindows split='~' headline headskip contents='' formchar(2)='_

在proc报告中,我很难在第二级(高级术语1)或第三级之前获得缩进,以此类推

当我使用style(column)=[cellwidth=6.5cm JUST=LEFT asis=on]时,我会得到缩进,但由于句子长度的原因,连续的下一行从开头开始。例如:

有没有一种方法可以使不同级别的缩进对齐

这是我的过程报告程序:

proc report data=final nowindows  split='~' headline headskip contents='' formchar(2)='_' missing spacing=1;
    *by seq seq_c1 seq_trt;
    columns  sqn seq ord cat _c1 - _c6;

    define sqn / group order=data noprint;
    define seq / group order=data noprint;
    define ord /display order=data noprint;

    define cat     / display  order=data style(column)=[cellwidth=6.5 cm JUST=LEFT asis=on]  style(header)=[JUST=LEFT] flow ;

    define _c1  / display order = data style(column)=[cellwidth=2.8 cm JUST=LEFT] style(header)=[JUST=Center] ;
    define _c2  / display order = data style(column)=[cellwidth=2.8 cm JUST=LEFT] style(header)=[JUST=Center];
    define _c3  / display order = data style(column)=[cellwidth=2.8 cm JUST=LEFT] style(header)=[JUST=Center];
    define _c4  / display order = data style(column)=[cellwidth=2.8 cm JUST=LEFT] style(header)=[JUST=Center];
    define _c5  / display order = data style(column)=[cellwidth=2.8 cm JUST=LEFT] style(header)=[JUST=Center];
    define _c6  / display order = data style(column)=[cellwidth=2.8 cm JUST=LEFT] style(header)=[JUST=Center];

    compute cat;
        if ord=3 then  do; cat='   '||cat;  end;
        if ord=4 then do; cat='      '||cat;  end;
    endcomp;

    compute after sqn;
        line '';
    endcomp;

run;
多谢各位

以下是生成数据的小代码:

data check;
length sqn 8. cat $100.;
input  sqn   cat $;
datalines;
1   Uncoded
2   Uncoded
3   ABNORMAL-MENSTRUATION-DIAGNOSTIC-CURETTAGE-OF-THE-UTERINE-CAVITY.
3   ANXIETY
3   CARPAL-TUNNEL-SYNDROME
3   EXACERBATION
 ;
run;

我将通过使用实际的样式元素来解决这个问题,而不是手动添加空格。在这里,
LEFTMARGIN
可能是正确的选择,尽管有一种
INDENT
样式有时更可取;我认为
LEFTMARGIN
可以满足您的需求

你可以看到一些问题,比如类似的请求和答案(我用这个问题作为这个答案的参考)


我将通过使用实际的样式元素来解决这个问题,而不是手动添加空格。在这里,
LEFTMARGIN
可能是正确的选择,尽管有一种
INDENT
样式有时更可取;我认为
LEFTMARGIN
可以满足您的需求

你可以看到一些问题,比如类似的请求和答案(我用这个问题作为这个答案的参考)


请将程序作为文本,而不是图片。嗨,乔,我已经对程序进行了更新。谢谢。这是去PDF目的地吗?还是别的什么?而
compute cat
下的那两行正在进行缩进?另外,您能展示一些应该复制问题的示例数据(最好是在
datalines
代码块中)吗?我添加了一些小数据以生成两列。这应该足以获得输出。请以文本而不是图片的形式包含程序。嗨,乔,我已经用程序进行了更新。谢谢。这是去PDF目的地吗?还是别的什么?而
compute cat
下的那两行正在进行缩进?另外,您能展示一些应该复制问题的示例数据(最好是在
datalines
代码块中)吗?我添加了一些小数据以生成两列。这应该足以获得输出。
data check;
length sqn 8. cat $100 _c1-_c6 $16;
array _c[6] $ (6*"TestingText");
input  sqn   cat $;
seq=_n_;
ord = _n_;
datalines;
1   Uncoded
2   Uncoded
3   ABNORMAL-MENSTRUATION-DIAGNOSTIC-CURETTAGE-OF-THE-UTERINE-CAVITY.
3   ANXIETY
3   CARPAL-TUNNEL-SYNDROME
3   EXACERBATION
 ;
run;
ods pdf file="c:\temp\test.pdf";
proc report data=check nowindows  split='~' headline headskip contents='' formchar(2)='_' missing spacing=1;
    *by seq seq_c1 seq_trt;
    columns  sqn seq ord cat _c1 - _c6;

    define sqn / group order=data noprint;
    define seq / group order=data noprint;
    define ord /display order=data noprint;

    define cat     / display  order=data style(column)=[cellwidth=6.5 cm JUST=LEFT asis=on]  style(header)=[JUST=LEFT] flow ;

    define _c1  / display order = data style(column)=[cellwidth=2.8 cm JUST=LEFT] style(header)=[JUST=Center] ;
    define _c2  / display order = data style(column)=[cellwidth=2.8 cm JUST=LEFT] style(header)=[JUST=Center];
    define _c3  / display order = data style(column)=[cellwidth=2.8 cm JUST=LEFT] style(header)=[JUST=Center];
    define _c4  / display order = data style(column)=[cellwidth=2.8 cm JUST=LEFT] style(header)=[JUST=Center];
    define _c5  / display order = data style(column)=[cellwidth=2.8 cm JUST=LEFT] style(header)=[JUST=Center];
    define _c6  / display order = data style(column)=[cellwidth=2.8 cm JUST=LEFT] style(header)=[JUST=Center];

    compute cat;
        if ord=3 then  call define('cat','style','style={leftmargin=0.1in}');
        if ord=4 then  call define('cat','style','style={leftmargin=0.2in}');      
    endcomp;

    compute after sqn;
        line '';
    endcomp;

run;
ods pdf close;