首页 > 解决方案 > 从 SQL 表转换为 SAS 数据?

问题描述

我不知道任何 SAS,我正在修改和增强一个预先存在的程序。

当我创建表层比较时,我可以在我的工作库资源管理器中查看它以及它包含的所有数据。

然后,当我尝试使用该表制作修改后的数据集stratacomparison2 时,我收到一条错误消息,提示“File work.stratacomparison. 数据不存在”。

我想是因为我制作了一个表格,而不是一个数据集?有没有办法将它从表转换为数据集?

PROC SQL; 
    create table stratacomparion
    as SELECT (case when a.cell_no is not null then a.cell_no when b.cell_no
               is not null then b.cell_no when c.cell_no is not null then c.cell_no
               else 999999999999 end),
               a.samp_size, b.cell_no as cell_no2, b.prev_samp_size, b.prev_bign, 
               c.cell_no as cell_no3, c.bign
    FROM neyman_uk_allocation as a 
    FULL OUTER JOIN LASTyearalloc as b
    on a.cell_no = b.cell_no
    FULL OUTER JOIN current_n as c
    on (case when a.cell_no is null then b.cell_no else a.cell_no end) = c.cell_no;
    quit;

data stratacomparison2;
set stratacomparison;
  rename _TEMA001=cell_no;
  label _TEMA001=cell_no;
  if samp_size=. then samp_size=0;
  if samp_size='.' then samp_size=0;
  if bign=. then bign=0;
  if bign='.' then bign=0;
  proportional_sample = 29500*bign/206318;
run;

标签: dataframesasdatasetproc-sql

解决方案


你只是有一个错字。您创建stratacomparion但要求从stratacomparison. s您在第一个语句中省略了最后一个。


推荐阅读