SAS何时在datastep中使用OUPUT

时间:2017-06-14 04:03:06

标签: sas

在SAS数据步骤中,以下代码之间有什么区别:

  DATA MK_RETURN_DATA;
    SET MK_RETURN;
  RUN;

#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    FILE* p_file = 0;
    char name[100];
    char st[100];

    printf("what file\n");
    scanf("%s", name);

    p_file = fopen(name, "r");

    int count = 0;

    while (fgets(st, sizeof st, p_file) != NULL)
    {
        count = count + 1;

        printf("%d:  ", count);
        printf("%s", st);
    }
    fclose(p_file);

    return 0;
}

输出语句在这里绝对必要吗? (我的理解是,由于没有指定条件,即使没有输出语句,输出仍将自动执行。)

1 个答案:

答案 0 :(得分:1)

这里输出语句根本不是必需的。 您只有一个输出数据集,因此使用&#39;输出&#39;声明不是必需的。但是如果有多个输出数据集,则输出&#39;声明可能会被使用..请参阅以下示例

data MK_RETURN;
input name :$10. age;
datalines;
Hardik 23
Mishima 47
run;

DATA MK_RETURN_DATA MK_RETURN_DATA2;
    SET MK_RETURN;
    if age= 23 then output MK_RETURN_DATA;
    if age= 47 then output MK_RETURN_DATA2;
  RUN;

此处23岁时的观察将转到MK_RETURN_DATA数据集,年龄= 47的观察将转到MK_RETURN_DATA2数据集。

希望有所帮助