SAS pro c sql ошибка. Следующие столбцы не были найдены в участвующих таблицах: - PullRequest
1 голос
/ 17 января 2020

Я использую приведенный ниже pro c sql код в SAS. Я получаю ошибку как «Следующие столбцы не были найдены в участвующих таблицах: Я действительно не понимаю, где ошибка.

proc sql;
 create table sum_Med
  as
  select ID, count(prop_ID) as count,
  (case 
    when (count >= 5) then 1 else 0 end) as poli
  from dist_Id
 group by ID;
quit;

Ошибка ниже:

Ошибка Следующее столбцы не были найдены в участвующих таблицах: count

1 Ответ

1 голос
/ 17 января 2020

Как правило, SQL не позволяет ссылаться на псевдонимы столбцов в том же SELECT, где они определены. Вот почему вы получаете ошибку.

Однако, у proc sql есть удобный обходной путь - ключевое слово calculated. Таким образом, вы можете написать это как:

create table sum_Med as
  select ID, count(prop_ID) as count,
         (case when calculated count >= 5 then 1 else 0 end) as poli
  from dist_Id
  group by ID;

Конечно, вы можете просто повторить выражение:

create table sum_Med as
  select ID, count(prop_ID) as count,
         (case when count(prop_ID) >= 5 then 1 else 0 end) as poli
  from dist_Id
  group by ID;

Это традиционный метод решения проблемы - и это вероятно, необходимо, если вы используете собственный SQL для подключения к другой базе данных.

...