Как упорядочить столбцы, созданные с помощью Proc SQL в SAS

Я использую Proc SQL для создания представлений Teradata. Я использовал Execute (проход через средство) и передал имена столбцов как переменные. Но создаваемые представления не имеют столбцов в том порядке, в котором они были переданы в запрос. Они создаются в любом случайном порядке. Есть ли способ исправить это?


person Harshit Krishnakumar    schedule 30.06.2016    source источник


Ответы (2)


Используя метод, описанный здесь:

data tmp;
aa = 1;
db = 1;
ac = 1;
bb = 1;
run;

proc sql ;
  select name into :VARLIST separated by ', '
  from dictionary.columns
  where libname = 'WORK'
    and memname = 'TMP' 
  order by name ;
quit ;

proc sql ;
  create table ordered as
  select &VARLIST
  from work.tmp ;
quit ;
person serge_k    schedule 30.06.2016

Не знаком с Teradata как таковой, больше привык работать с SAS/DB2, но что, если вместо использования execute() вы использовали бы что-то вроде этого - это создаст представление на стороне SAS (которое может быть не тем, что вы повторно после, я не совсем уверен).

proc sql;
 connect to teradata (user=testuser password=testpass);
 create view work.myView as
   select * from connection to teradata
    (select var1, var2, var3 
     from someTable);
quit;
person Dominic Comtois    schedule 30.06.2016