sql 合并行内容_SAS高级编程公开课之一SQL
假設我們要處理這樣一個過程:從SV中獲取每位受試者的最后訪視日期,然后與ADCM合并。如果我們用data步,處理過程大致如下:
在SV中計算每個USUBJID的訪視日期;
通過某些語句(例如IF FIRST/LAST.USUBJID)得到每個USUBJID的最大日期;
通過PROC SORT對數據集排序;
最后Merge合并。
這樣至少也得4個以上的data步和proc步。如果問題復雜,程序行數只會更多,而SQL卻能簡化程序,如下圖所示。
SQL可以合理地處理“多對多”,而這是Merge語句無法實現的。另外其連接數據集的功能非常強大,通過各種形式的Join語句和外加條件,有時能將數十上百行的普通SAS語句用一個SQL表示(此時的SQL語句肯定沒有比一個個的data步和proc步好理解)。
SQL可以更程序表達更簡潔。
上圖是PROC?SQL中left join所得結果。其實PROC SQL查詢優化器處理連接過程非常復雜,不像data步中的merge語句那種“往下走,匹配,再往下走”,但從概念上講,我們可以大致了解下PROC SQL處理Joins過程的一般步驟。
假設我們要生成這樣一張表。第一行“基線(篩選期)平均值”是對所有人在這個test下的基線(篩選期)BASE平均。而到了后面的訪視,由于失訪或未查等原因,導致在第二個階段的人數可能會減少,此時列標題中的“基線平均值”表示這部分剩下來的人的基期值。比如說,基線期有100個人,我們對這100個人有個平均值BASE1;第二周期只剩80個人,而80個人每個人也有個基線期的BASE,我們再只對這80個人平均得到BASE2,顯得BASE1和BASE2是不完全相等的,應該是一個較穩定的變化值。至于編程,最簡單的方法是在兩個階段分別選擇適當的條件,前者對AVAL求平均,后者對BASE求平均。另外一個思路是要找到還剩多少人在第二周期。編程中處理類似于"基于一定條件再做其他查詢"的思路,我們可以試試Subset Query。語法形如:
select .. from ... where usubjid in (select distinct usubjid from ...)
GROUP BY語句最常見用于對各個分類或項目的匯總呈現。
但如果沒有遵守運用GROUP BY語句相關語法,是得出不正確結果的。
下面log中的這行remerging note最好不要讓它存在,因而這里“a.*”用法是不嚴謹的。
SQL可以進行變量和觀測的修改、增加或減少,SQL視圖可以大大減少數據存儲空間,可以視作數據集來使用,數據索引可在一定條件下更快地完成查詢過程,SQL可以在沒有關鍵變量的情況下強行合并,等等這些情形,我們在逐漸步學習和實踐工作中,發現可供討論和研究的問題還蠻多的,文章篇幅有限,這里不再贅述。
鑒于很久之前就存在的想法,我很樂于和大家分享一些知識或者技能,如果能對大家的幫助哪怕只有一點點,我都覺得很快樂、很知足。我想起我備考研究生的那段歲月,線性代數我一直覺得比較懵懂,雖然知識不是很難,題目也能做,但感覺還是很不好,覺得學得很零散,一碰就會碎那種。直到有天我在YOUKU上看到某個輔導學校一位叫曾祥金的老師的免費考研視頻資料,豁然開朗,醍醐灌頂。最后終于發現,原來線性代數的知識內容就是一條線,前后是緊密相連的,前面的小知識為后面所用,最后形成了一套很標準規范的做題方法。雖然時過境遷,物似人非,但當時那種“頓悟”的感覺還歷歷在目,仿佛昨日!
SAS BASE的視頻早已上傳完畢,SDTM系列文章也一直在保持更新,很多朋友向我反饋獲益非淺,希望我一直寫下去。我特別欣慰和感動,這讓我覺得,我的付出和堅持是值得的!SAS Advanced的視頻我一直在考慮和準備當中,如今終于完成了第一部分,是時候拿出來與大家分享了。對SAS高級編程感興趣的朋友,可以閱讀以下內容,并與我取得聯系,我們一同學習SAS!
培訓課程的基本介紹
授課內容:
SAS高級編程之一SQL
授課時間:
2019年04月08日到2019年04月15日,每晚8點開始,共8天8章,每天一章。
課程目錄:
1.SQL基本查詢
2.SQL高級查詢
3.SQL水平合并表
4.SQL垂直合并表
5.SQL創建和管理表
6.SQL創建和管理索引
7.SQL創建和管理視圖
8.SQL管理進程
授課方式:
1)加團長微信Adrian2hope,確認報名;
2)建立QQ聊天群;
3)通過QQ聊天群分享電腦屏幕。
此培訓內容不限于醫藥行業,同樣適合其他業內對SAS感興趣的朋友,學過BASE的可以聽,SAS零基礎也無妨。本課程內容非常地全面系統,據粗略估計,平常一般使用可能只占此內容的4成左右,也就是說,我們沒有完全最大化的利用SQL。對已經參加工作的,可以提升職業技能;對未曾畢業或剛畢業的學生,可以提升自己找工作的砝碼;對單身少男少女的,在同一個聊天室遇到真愛也不是沒有可能的!
JOIN US
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的sql 合并行内容_SAS高级编程公开课之一SQL的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 华为平板wps语音朗读_华为平板M6 1
- 下一篇: python中如何输出中文_python
