如何在SAS中直接使用Oracle特有函数--sas Pass-Through Facility

           声明:参考了百度文库中的文档,向有关作者表示感谢!

     在使用sas进行行转列的字符串合并时,发现sas中并没有合适的方法,而oracle在10g之后包含了WMSYS.WM_CONCAT函数,可以轻松的解决这类问题:

     

select t.rank, t.Name from t_menu_item t;

10 CLARK
10 KING
10 MILLER
20 ADAMS
20 FORD
20 JONES
20 SCOTT
20 SMITH
30 ALLEN
30 BLAKE
30 JAMES
30 MARTIN
30 TURNER
30 WARD

--------------------------------
我们通过 10g 所提供的 WMSYS.WM_CONCAT 函数即可以完成 行转列的效果

select t.rank, WMSYS.WM_CONCAT(t.Name) TIME From t_menu_item t GROUP BY t.rank;

DEPTNO ENAME
------ ----------
10 CLARK, KING, MILLER
20 ADAMS, FORD, JONES, SCOTT, SMITH
30 ALLEN, BLAKE, JAMES, MARTIN, TURNER, WARD

例子如下:

SQL> create table idtable (id number,name varchar2(30));

Table created

SQL> insert into idtable values(10,'ab');

1 row inserted

SQL> insert into idtable values(10,'bc');

1 row inserted

SQL> insert into idtable values(10,'cd');

1 row inserted

SQL> insert into idtable values(20,'hi');

1 row inserted

SQL> insert into idtable values(20,'ij');

1 row inserted
SQL> insert into idtable values(20,'mn');

1 row inserted

SQL> select * from idtable;

ID NAME
---------- ------------------------------
10 ab
10 bc
10 cd
20 hi
20 ij
20 mn

6 rows selected
SQL> select id,wmsys.wm_concat(name) name from idtable
2 group by id;

ID NAME
---------- --------------------------------------------------------------------------------
10 ab,bc,cd
20 hi,ij,mn

SQL> select id,wmsys.wm_concat(name) over (order by id) name from idtable;

ID NAME
---------- --------------------------------------------------------------------------------
10 ab,bc,cd
10 ab,bc,cd
10 ab,bc,cd
20 ab,bc,cd,hi,ij,mn
20 ab,bc,cd,hi,ij,mn
20 ab,bc,cd,hi,ij,mn

6 rows selected

SQL> select id,wmsys.wm_concat(name) over (order by id,name) name from idtable;

ID NAME
---------- --------------------------------------------------------------------------------
10 ab
10 ab,bc
10 ab,bc,cd
20 ab,bc,cd,hi
20 ab,b

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
facility-location-in-genetic-algorithm-master 是一个基于遗传算法的设施选址优化程序。设施选址是指在某个区域内选择最佳的位置来建设设施,以满足特定需求。这个程序的目标是通过使用遗传算法来确定最佳的设施选址解决方案。 遗传算法是一种仿生计算方法,模拟自然界的进化过程。它通过以染色体和基因为基础的群体演化来搜索问题的解空间。在设施选址问题,遗传算法的基本思想是将每个可能的设施选址解表示为染色体,然后通过交叉、变异等操作对染色体进行演化,从而得到更优的解。 facility-location-in-genetic-algorithm-master 程序的主要特点是它能够处理大规模的设施选址问题,并且在运行过程能够自动搜索最佳解。用户只需定义问题的目标函数和约束条件,程序便能够根据这些信息进行搜索。 该程序的使用方法相对简单,用户只需运行主程序并设置相关参数即可。例如,用户可以设置种群大小、迭代次数、交叉和变异概率等参数。程序根据设定的参数和目标函数使用遗传算法逐步搜索最佳的设施选址解。最终,程序会输出最优解的位置和评价指标。 facility-location-in-genetic-algorithm-master 是一个功能强大的设施选址优化工具,通过使用遗传算法来帮助用户在设施选址问题获得最佳解。无论是在商业、物流、城市规划或其他领域,该程序都可以提供有力的支持和指导,帮助用户做出明智的决策。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值