SAS编码用于生成多个字段值的排列

时间:2015-03-26 16:34:50

标签: sas

是否有人能够帮助我解决SAS相关的编码问题?

我有3个输入数据集(A,B,C),具有不同级别的独特输入,即3个城市/ 3个专业和2个年龄组,如下所示:

输入数据 - A

CITY
----------
LONDON
BIRMINGHAM
MANCHESTER

输入数据 - B

PROFSSIONS
----------
TEACHER
STUDENTS
ADMIN

输入数据 - C

AGE
-------
18 - 40
40 - 60

我想要一个输出表[Called:O],如下所示:18 [3x3x2]行:

最终输出:表格 - O

CITY         PROFSSIONS   AGE
---------------------------------
LONDON       TEACHER      18 - 40
LONDON       TEACHER      40 - 60
LONDON       STUDENTS     19 - 40
LONDON       STUDENTS     41 - 60
LONDON       ADMIN        20 - 40
LONDON       ADMIN        42 - 60
BIRMINGHAM   TEACHER      18 - 40
BIRMINGHAM   TEACHER      40 - 60
BIRMINGHAM   STUDENTS     19 - 40
BIRMINGHAM   STUDENTS     41 - 60
BIRMINGHAM   ADMIN        20 - 40
BIRMINGHAM   ADMIN        42 - 60
MANCHESTER   TEACHER      18 - 40
MANCHESTER   TEACHER      40 - 60
MANCHESTER   STUDENTS     19 - 40
MANCHESTER   STUDENTS     41 - 60
MANCHESTER   ADMIN        20 - 40
MANCHESTER   ADMIN        42 - 60

非常感谢。

纳德

1 个答案:

答案 0 :(得分:3)

您正在寻找三个数据集的Cartesian product。有几种方法可以实现这一点,但最简单的可能是:

proc sql;
    create table want as
    select *
    from a, b, c;
quit;