Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sas 缺少缺少/未缺少值的表格报告_Sas - Fatal编程技术网

Sas 缺少缺少/未缺少值的表格报告

Sas 缺少缺少/未缺少值的表格报告,sas,Sas,我有一个数据集,其中有许多记录(其中的内容是无关的),每个记录的末尾都有一系列标志变量。大概是这样的: Record ID Flag 1 Flag 2 Flag 3 1 Y 2 Y Y 3 4 5 6 Y Y proc freq data=Work.Records noprint; tables Flag1 /out=Work.Temp; run; 我想创建一个打印的

我有一个数据集,其中有许多记录(其中的内容是无关的),每个记录的末尾都有一系列标志变量。大概是这样的:

Record ID   Flag 1   Flag 2   Flag 3
1           Y
2                    Y        Y
3
4
5
6           Y        Y
proc freq data=Work.Records noprint;
    tables Flag1 /out=Work.Temp;
run;
我想创建一个打印的报告(或者,理想情况下,我可以打印一个数据集),该报告的外观如下所示:

Variable   N    % Not Missing
Flag 1     6    33.33333
Flag 2     6    33.33333
Flag 3     6    16.66666
使用Proc Freq,我可以一次完成一个变量的目标,如下所示:

Record ID   Flag 1   Flag 2   Flag 3
1           Y
2                    Y        Y
3
4
5
6           Y        Y
proc freq data=Work.Records noprint;
    tables Flag1 /out=Work.Temp;
run;
我想我可以很容易地编写一个宏来循环每个变量,并将结果连接到一个数据集中。。。但这似乎太复杂了。必须有一个内置的SAS程序,但我找不到它

有什么想法吗


谢谢

欢迎来到Proc表格的精彩世界

PROC tablate
是当
PROC FREQ
无法剪切时使用的程序。它的工作原理类似于
PROC FREQ
,因为它有table语句,但除此之外,它几乎是靠类固醇

data test;
input RecordID   (Flag1   Flag2   Flag3) ($);
datalines;
1 Y . .
2 . Y Y
3 . . .
4 . . .
5 . . .
6 . Y Y
;;;;
run;
proc tabulate data=test;
class flag1-flag3/missing;
tables (flag1-flag3),colpctn;  *things that generate rows,things that generate columns;
run;

不幸的是,不使用一些高级样式的技巧来隐藏空白行是不容易的,但是如果你不介意看到这两行的话,这很好。 欢迎来到Proc表格的精彩世界

PROC tablate
是当
PROC FREQ
无法剪切时使用的程序。它的工作原理类似于
PROC FREQ
,因为它有table语句,但除此之外,它几乎是靠类固醇

data test;
input RecordID   (Flag1   Flag2   Flag3) ($);
datalines;
1 Y . .
2 . Y Y
3 . . .
4 . . .
5 . . .
6 . Y Y
;;;;
run;
proc tabulate data=test;
class flag1-flag3/missing;
tables (flag1-flag3),colpctn;  *things that generate rows,things that generate columns;
run;
不幸的是,不使用一些高级样式的技巧来隐藏空白行是不容易的,但是如果你不介意看到这两行的话,这很好。