我正在使用SAS进行分析。每次分析后,我都会得到四张表格。表11,表12,表21和表22。每个表只有一个数字。我想把这四个数字(从四个表格)变成一个2x2矩阵。我怎样才能使用SAS proc sql?例如,当我有1(表1中唯一的数字),2(表格2中唯一的数字),3(表格3中唯一的数字),4(表格4中唯一的数字),我想制作花药桌,里面有一个2比2的桌子,里面有这四个数字。如何将四个表中的四个数字放入一个2乘2表格中?
0
A
回答
4
一个完全哈克,可怕的方式做到这一点可能是这个样子:
SELECT (SELECT num FROM table1), (SELECT num FROM table2)
UNION ALL
SELECT (SELECT num FROM table3), (SELECT num FROM table4)
您可能要在那里工会的各部分后加一个“虚拟”的表(如SELECT ... FROM sysibm.sysdummy1
在DB2) 。
我从来没有使用SAS,所以我不知道具体情况。也许这(标准的SQL)解决方案将为你工作。但就像我说的那样,它非常黑客,所以可能有更好的方法来做到这一点。也许具有同等的执行计划
2
(使用隐式交叉连接):
SELECT table11.num, table12.num
FROM table11, table12
UNION ALL
SELECT table21.num, table22.num
FROM table21, table22
0
显然你想要去与作业安全技术。
with
t11(r, c, num) as (SELECT 1, 1, num from table11),
t12(r, c, num) as (SELECT 1, 2, num from table12),
t21(r, c, num) as (SELECT 2, 1, num from table21),
t22(r, c, num) as (SELECT 2, 2, num from table22)
select
coalesce(t11.num, t21.num) as col1,
coalesce(t12.num, t22.num) as col2
from
(t11 cross join t12)
full outer join
(t21 cross join t22)
on t11.r = t21.r or t12.r = t22.r
或者,如果您不想浪费c列中的值,这可能会更好。
case
when t11.r * t11.c = t12.c - t12.r
then t11.num else t21.num
end as col1,
case
when t21.r * t22.r * t22.c - t21.c = t21.r + t21.c + t22.r + t22.c
then t22.num else t12.num
end as col2
+0
大声笑,我喜欢这种方法,但你应该重命名你的变量只使用大写字母XXKXKX和大写字母XXKXXKX来利用我们的诵读困难类型 – 2012-08-16 16:53:00
0
您已经收到一些很好的意见/解决方案上面的,但是你可能想尝试自动执行某些检查每个数据之前做加盟设定的存在。像下面这样:
data c12;
c12=32;
run;
data c21;
c21=40;
run;
data c22;
c22=12;
run;
%sysfunc(ifc(%sysfunc(exist(c11)),
proc print data = a; run;,
data _null_; file print; put 'Dataset "c11: was not created'; run;))
相关问题
- 1. 四个字节中的四个整数?
- 2. 如何加入四个表格
- 3. 加入四个表
- 4. 如何在Grails的一个视图中将数据插入到四个表中?
- 5. 将三个表中的数据复制到第四个表中
- 6. 如何将XML数据四舍五入到Microsoft RMS中的2个小数位?
- 7. 加入四个表从
- 8. 加入四个SQL表
- 9. 乘以2个数字,用2个链接的数字列表来表示
- 10. 第2轮小数在一个乘法PHP不是四舍五入
- 11. 如何从一个到四个打印四行和四列数字并在达到四个后重新启动
- 12. 如何将四个屏幕分割为四个并在每个分区中放置谷歌图表(HTML)
- 13. 加入每四个字符串列表
- 14. 在两个表中的三列到一个表中的四列
- 15. 如何将一个标量乘法应用于四元数
- 16. 乘以2个不同表格的值
- 17. 如何将数字四舍五入到下一个半整数?
- 18. 如何加入2个列表,其中一个列表包含2个元素?
- 19. 如何将2个文本输入字段放入一个?
- 20. 如何乘以Linq中不同表格的2个值?
- 21. 加入2个表SQL - Where子句2在一个表中行
- 22. 如何将一个整数格式化为一个四零左的字符串?
- 23. 从四个表中提取数据
- 24. 如何将3个数组插入到2个MySql表中?
- 25. 如何将数据插入其他2个表中的1个表中?
- 26. SQL四个表一个记录集
- 27. 试图从四个创建一个表
- 28. 将xmm3中的四个浮点数转换为内存中的四个整数
- 29. 四个表格之间的左连接
- 30. 如何将2个EAGLLayer放入一个UIView中
嘿,伙计们,感谢您的大力帮助。这是一个非常聪明的方法。我试过了,它确实有效。 – user1602156 2012-08-16 04:47:25