Я использую Proc SQL для создания представлений Teradata. Я использовал Execute (проход через средство) и передал имена столбцов как переменные. Но создаваемые представления не имеют столбцов в том порядке, в котором они были переданы в запрос. Они создаются в любом случайном порядке. Есть ли способ исправить это?
Как упорядочить столбцы, созданные с помощью Proc SQL в SAS
Ответы (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