如何在SAS中对使用Proc SQL创建的列进行排序

时间:2016-06-30 06:35:34

标签: sas views teradata proc-sql

我正在使用Proc SQL创建Teradata视图。我使用了Execute(传递工具)并使用变量传递列名。但是,创建的视图没有按照传递给查询的顺序列。它们是以任意随机顺序创建的。有办法解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

使用描述的方法here

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 ;

答案 1 :(得分:0)

不熟悉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;