我想轉置一個表從長到寬,但我有多個值爲每個密鑰。我希望轉置表對每個Id和Key的組合都有一行,所以對於這個示例項目,我將在轉換後有8行。 Id變量將被保留,每個不同的Key將是同一個鍵的所有不同值的組合。所以2 * 2 * 1 * 1 * 1 * 2 = 8行。轉置保留所有組合的多個值爲變量的變量在SAS
data grades;
input Id Key $ Value $;
cards;
219381 Category Something
219381 Category Another
219381 Color White
219381 Color Black
219381 Sport Football
219381 Gender Male
219381 Size Big
219381 Quality Good
219381 Quality Bad
;
run;
這是我想這個複雜的換位之後出來什麼:
Id Category Color Sport Gender Size Quality
219381 Something White Football Male Big Good
219381 Something White Football Male Big Bad
219381 Something Black Football Male Big Good
219381 Something Black Football Male Big Bad
219381 Another White Football Male Big Good
219381 Another White Football Male Big Bad
219381 Another Black Football Male Big Good
219381 Another Black Football Male Big Bad
任何想法如何,我可以做到這一點? 我已經嘗試了許多事情,但都沒有成功。
我認爲SASsy解決這個問題的方法是HOH(Hash of Hashes)。我現在沒有時間寫一篇文章,因爲這篇文章經常不足以記住我的頭頂。但是,http://support.sas.com/resources/papers/proceedings11/255-2011.pdf將是一個好的開始,如果我有一些時間,我會回來寫下來。 – Joe
@Joe,如果您可以將您的SASsy解決方案與HoHs一起發佈,我認爲這將非常具有啓發性(不僅適用於我)。 –