我正在使用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