‫ﺗﻌﺎﻟ‬ ‫ﺑﺴﻤﻪ‬‫ﯽ‬
‫روش‬‫ﻫﺎ‬‫ی‬‫آﻣﺎر‬‫ی‬‫ﺗﺤﻠ‬ ‫و‬‫ﯿ‬‫داده‬ ‫ﻞ‬‫ﺑﺎ‬ ‫ﻫﺎ‬
‫ﻧﺮم‬‫اﻓﺰار‬SAS
‫ﻧﻮ‬‫ﯾ‬‫ﺴﻨﺪﮔﺎن‬:
‫ﺣﻤ‬‫ﯿ‬‫ﻧﻮاب‬ ‫ﺪرﺿﺎ‬‫ﭘﻮر‬
‫آﺳ‬‫ﯿ‬‫ﻋﺒﺎﺳ‬ ‫ﻪ‬‫ﯽ‬
‫رﻧﺠ‬ ‫ﺣﺴﻦ‬‫ﯽ‬
‫ﻣﻬﺮ‬۱۳۸۹
۲
‫ﻓﺼﻞ‬۱:‫آﺷﻨﺎ‬‫ﯾﯽ‬‫ﻧﺮم‬ ‫ﺑﺎ‬‫اﻓﺰار‬SAS
۱-۱‫آﺷﻨﺎﯾﯽ‬
۱-۲‫ﺳﺎﻣﺎﻧﻪ‬ ‫ﮐﺮدن‬ ‫ﻓﻌﺎل‬‫ی‬SAS
۱-۲-۱‫ﭘﻨﺠﺮه‬‫ی‬Editor
۱-۲-۲‫ﭘﻨﺠﺮه‬‫ی‬Log
۱-۲-۳‫ﭘﻨﺠﺮه‬‫ی‬Output
۱-۲-۴‫ﭘﻨﺠﺮه‬‫ﻫﺎی‬Explorer‫و‬Results
۱-۲-۵‫ﭘﻨﺠﺮه‬‫ی‬Graph
۱-۳‫ﻗﺎﻋﺪه‬‫ﭘﺎﯾﻪ‬ ‫دﺳﺘﻮری‬ ‫ﺷﮑﻞ‬ ‫و‬ ‫ﻫﺎ‬‫ای‬SAS
۱-۴‫ﮔﺎم‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎی‬‫ای‬SAS
۱-۴-۱‫ﮔﺎم‬DATA
۱-۴-۲‫ﮔﺎم‬PROC
۱-۵‫ﮔﺎم‬DATA
۱-۵-۱‫ﻋﺒﺎرت‬‫ﮔﺎم‬ ‫ﺑﺎ‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬DATA‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬‫روﻧﺪ‬
۱-۵-۱-۱‫ﻋﺒﺎرت‬INPUT
۱-۵-۱-۲‫ﻋﺒﺎرت‬‫اﻧﺘﺴﺎب‬ ‫ﻫﺎی‬
۱-۵-۱-۳‫ﺷﺮﻃﯽ‬ ‫اﺟﺮاﻫﺎی‬
۱-۵-۱-۴‫ﻣﺤﺎﺳﺒﻪ‬‫ﻣﮑﺮر‬ ‫ﻫﺎی‬
۱-۵-۲‫ﺗﺎﺑﻊ‬‫ﻫﺎی‬SAS 
۱-۶‫ﻧﻮﯾﺴﻪ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬‫ﻋﺒﺎرت‬ ‫در‬ ‫وﯾﮋه‬ ‫ﻫﺎی‬INPUT
۱-۶-۱‫ﮐﻨﺘﺮﻟﯽ‬ ‫ﻧﺸﺎﻧﮕﺮﻫﺎی‬
۱-۶-۲‫ﻣﺸﺨﺺ‬‫ﺳﻄﺮﻧﮕﻬﺪار‬ ‫ﮔﺮ‬@
۱-۶-۳‫ﻣﺸﺨﺺ‬‫ﺧﻂ‬ ‫ﮔﺮ‬‫ﻧﮕﻬﺪار‬@@
۱-۶-۴‫ﮐﻨﻨﺪه‬ ‫ﮐﻨﺘﺮل‬ ‫ﻧﺸﺎﻧﮕﺮ‬‫ﺳﻄﺮ‬ ‫ی‬
۱-۷‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫داﺋﻤ‬‫ﯽ‬SAS
۱-۷-۱‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬ ‫ﺳﺎﺧﺘﻦ‬
۱-۷-۲‫اﯾﺠﺎد‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫داﺋﻤ‬‫ﯽ‬ SAS
۳
۱-۷-۳‫ﻋﺒﺎرت‬INFILE
۱-۸‫ﮔﺎم‬PROC
۱-۸-۱‫ﻣﺸﺨﺺ‬‫ﮔﺰﯾﻨﻪ‬ ‫ﺳﺎزی‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻫﺎ‬PROC
۱-۸-۲‫ﻋﺒﺎرت‬‫ﺷﯿﻮه‬ ‫ﺑﻪ‬ ‫اﻃﻼﻋﺎت‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫ﻣﯽ‬‫دﻫﻨﺪ‬
۱-۸-۳‫ﻋﺒﺎرت‬‫ﻣﺘﻐﯿﺮ‬ ‫وﯾﮋﮔﯽ‬ ‫ﻫﺎی‬
۱-۹‫ﻋﺒﺎرت‬‫ﻣﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺟﺎی‬ ‫ﻫﺮ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫آﯾﻨﺪ‬
۱-۹-۱‫ﻋﺒﺎر‬‫ت‬ TITLE 
۱-۹-۲‫ﻋﺒﺎرت‬ FOOTNOTE 
۱-۹-۳‫ﻋﺒﺎرت‬ OPTIONS
۱-۹-۴‫ﻋﺒﺎرت‬ GOPTIONS
۱-۱۰‫ﻣﺪﯾﺮﯾﺖ‬‫ﺧﺮوﺟﯽ‬‫ﻫﺎ‬‫ی‬SAS
۱-۱۰-۱LISTING
۱-۱۰-۲RTF
۱-۱۰-۳PRINTER
۱-۱۰-۴HTML
۱-۱۰-۵PDF
۱-۱۰-۶OUTPUT
۱-۱۱‫ﺗﺒﺪﯾﻞ‬‫داده‬‫ﻧﺮم‬ ‫ﺳﺎﯾﺮ‬ ‫ﻫﺎی‬‫اﻓﺰارﻫﺎ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬‫ی‬‫داده‬‫ﻫﺎی‬SAS
۱-۱۱-۱‫ﺷﯿﻮه‬‫ی‬IMPORT
۱-۱۱-۲‫ﺷﯿﻮه‬‫ی‬EXPORT
۱-۱۱-۳‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺗﺒﺪﯾﻞ‬‫داده‬ ‫ی‬‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬‫ﻣﻨﻮﻫﺎ‬
 
۱-۱۲‫ﻣﺤﺎوره‬ ‫ﻣﺎﺗﺮﯾﺴﯽ‬ ‫زﺑﺎن‬‫ای‬SAS
۱-۱۲-۱‫اﺳﮑﺎﻟﺮ‬ ‫ﯾﺎ‬ ‫ﺑﺮدار‬ ،‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫ﺗﻌﺮﯾﻒ‬
۱-۱۲-۲‫ﻋﻤﻞ‬‫ﮔﺮ‬‫و‬ ‫ﻫﺎ‬‫ﺗﺎﺑﻊ‬‫ﻫﺎی‬‫ﻣﺎﺗﺮﯾﺴﯽ‬
۱-۱۲-۳‫آﻣﺎره‬‫در‬ ‫ﺧﻼﺻﻪ‬ ‫ﻫﺎی‬IML
۱-۱۲-۴‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺳﺎﺧﺘﻦ‬‫ﻫﺎی‬‫داده‬‫ا‬‫ی‬‫در‬IML
 
۴
 
۱-۱‫آﺷﻨﺎ‬‫ﯾﯽ‬
‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬‫ﺗﺤﻠ‬‫ﯿ‬‫آﻣﺎر‬ ‫ﻞ‬‫ی‬)SAS(
۱
‫ﯾ‬‫ﮏ‬‫ﺑﺴﺘﻪ‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬‫ا‬‫ی‬‫را‬‫ﯾ‬‫ﺎﻧﻪ‬‫ا‬‫ی‬‫ﺑﺮا‬‫ی‬‫ﺗﺤﻠ‬ ‫اﻧﺠﺎم‬‫ﯿ‬‫ﻞ‬‫ﻫـﺎ‬‫ی‬‫آﻣـﺎر‬‫ی‬‫داده‬‫اﺳـﺖ‬ ‫ﻫـﺎ‬.‫ا‬‫ﯾـ‬‫ﻦ‬
‫دارا‬ ‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬‫ﻣﺠﻤﻮﻋﻪ‬‫ا‬‫ی‬‫از‬‫ﺷﯿﻮه‬‫ﻫﺎ‬‫ﺑﺮا‬‫ی‬‫ﺗﺤﻠ‬‫ﯿـ‬‫داده‬ ‫ﻞ‬‫ﺗﻮاﻧـﺎ‬ ‫و‬ ‫ﻫـﺎ‬‫ﯾﯽ‬‫ﮐـ‬‫داده‬ ‫ﺑـﺎ‬ ‫ﺎر‬‫ﻫـﺎ‬‫ی‬‫ورود‬‫ی‬/‫ﺧﺮوﺟـ‬‫ﯽ‬‫اﺳـﺖ‬.‫ا‬‫ﯾـ‬‫ﻦ‬
‫ﺑﻪ‬ ‫ﺳﺎﻣﺎﻧﻪ‬‫ﮐ‬‫ا‬ ‫ﺎرﺑﺮ‬‫ﯾ‬‫اﻣ‬ ‫ﻦ‬‫ﮑ‬‫ﻣ‬ ‫را‬ ‫ﺎن‬‫ﯽ‬‫دﻫﺪ‬‫ﺑﺮا‬ ‫ﺗﺎ‬‫ی‬‫ﺗﺤﻠ‬‫ﯿ‬‫ﻞ‬‫ﻫـﺎ‬‫ی‬‫آﻣـﺎر‬‫ی‬‫داده‬‫ﻋﺒـﺎرت‬ ‫ﻫـﺎ‬‫ﻫـﺎ‬‫ی‬‫ﺑ‬‫ﺮﻧﺎﻣـﻪ‬‫ا‬‫ی‬‫ﺑﻨﻮ‬ ‫را‬ ‫ﺧـﻮد‬‫ﯾ‬‫ﺴـ‬،‫ﺪ‬
‫ﻫﻤﭽﻨ‬‫ﯿ‬‫ﻦ‬‫روال‬‫ﻫﺎ‬‫ی‬SAS‫را‬‫ﮐ‬‫ﻪ‬‫ﺷ‬‫ﯿ‬‫ﻮه‬‫ﻫﺎ‬‫ﻓﺮاﺧﻮاﻧ‬ ،‫دارﻧﺪ‬ ‫ﻧﺎم‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬‫ا‬‫ی‬‫ﮐـﺎرﺑﺮ‬˚‫ﻧﻮﺷـﺘﻪ‬ً‫ﻻ‬‫ﻣﻌﻤـﻮ‬‫ﺑـﺮا‬‫ی‬
‫ﺗﻐ‬ ‫اﻧﺠﺎم‬‫ﯿﯿ‬‫داده‬ ‫در‬ ‫ﺮ‬‫ﺗﺒﺪ‬ ‫ﻣﺜﻞ‬ ‫ﻫﺎ‬‫ﯾ‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﻞ‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬‫ا‬ ،‫ﻣﻮﺟـﻮد‬‫ﯾ‬‫ﻣﺘﻐ‬ ‫ﺠـﺎد‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ی‬‫ﺟﺪ‬‫ﯾـ‬‫ﺪ‬‫ﻣﺘﻐ‬ ‫از‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ی‬‫ﻣﻮﺟـﻮد‬‫ﯾـ‬‫ﺎ‬
‫ز‬ ‫ﺳﺎﺧﺘﻦ‬‫ﯾ‬‫ﺮﻣﺠﻤﻮﻋﻪ‬‫ا‬‫ی‬‫ﻣﺸﺎﻫﺪه‬ ‫از‬‫ﻫﺎ‬‫ﯾـ‬‫ﻣﺘﻐ‬ ‫ﺎ‬‫ﯿ‬‫ﻣـ‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺮﻫـﺎ‬‫ﯽ‬‫ﺷـﻮد‬.‫داده‬‫ﻫـﺎ‬‫ی‬‫آﻣـﺎده‬‫ﺳـﺎز‬‫ی‬‫ﻋﻨـﻮان‬ ‫ﺑـﻪ‬ ‫ﺷـﺪه‬‫ورودی‬
)‫ورود‬‫ی‬(‫ﺑﺮا‬‫ی‬‫ﺗﺤﻠ‬‫ﯿ‬‫ﻞ‬‫ﻫﺎ‬‫ی‬‫آﻣﺎر‬‫ی‬‫ﻣﻮردﻧﻈﺮ‬‫ﮐ‬‫ﺑـﻪ‬ ‫ﺎرﺑﺮ‬‫ﮐـ‬‫ﻣـ‬ ‫ﺎر‬‫ﯽ‬‫رود‬.‫ﺳـﺎﻣﺎﻧﻪ‬‫ی‬SAS‫ﺗﺤﻠ‬ ‫ﻫـﺮ‬‫ﯿـ‬‫آﻣـﺎر‬ ‫ﻞ‬‫ی‬‫ﮐـ‬‫ﻪ‬‫ﮐـ‬‫ﺑـﻪ‬ ‫ﺎرﺑﺮ‬
‫درﺳﺘ‬‫ﯽ‬‫ﻣﺸﺨﺺ‬‫ﮐ‬‫ﺑﺎﺷﺪ‬ ‫ﺮده‬‫را‬‫ﻣ‬ ‫اﻧﺠﺎم‬‫ﯽ‬‫دﻫﺪ‬.
‫ا‬‫ﮐ‬‫ﺗﺤﻠ‬ ‫ﺜﺮ‬‫ﯿ‬‫ﻞ‬‫ﻫﺎ‬‫ی‬‫آﻣﺎر‬‫ی‬‫در‬SAS‫ﻧ‬‫ﯿ‬‫وﺳ‬ ‫داﻧﺶ‬ ‫داﻧﺴﺘﻦ‬ ‫ﺑﻪ‬ ‫ﺎز‬‫ﯿ‬‫و‬ ‫از‬ ‫ﻊ‬‫ﯾ‬‫ﮋﮔ‬‫ﯽ‬‫ﻫﺎ‬‫ی‬‫ا‬‫ﯾ‬‫ﻧﺪارد‬ ‫ﺳﺎﻣﺎﻧﻪ‬ ‫ﻦ‬.‫ﺣﺘ‬ ،‫اﻣﺎ‬‫ﯽ‬‫ﺗﺤﻠ‬‫ﯿ‬‫ﻞ‬‫ﻫﺎ‬‫ی‬
‫ﺳﺎده‬‫ی‬‫آﻣﺎر‬‫ی‬‫ﺑﺮﺧ‬ ‫از‬‫ﯽ‬‫ﺗﻮاﻧﺎ‬‫ﯾﯽ‬‫ﻫﺎ‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫زﺑﺎن‬‫ا‬‫ی‬‫ا‬‫ﯾ‬‫ﺳﺎﻣﺎﻧﻪ‬ ‫ﻦ‬‫اﺳـﺘﻔﺎده‬‫ﻣـ‬‫ﯽ‬‫ﮐ‬‫ﻨـﺪ‬.‫ا‬ ‫ﺑـﺮ‬ ‫ﺑﻨـﺎ‬‫ﯾـ‬‫ﺗﻌـﺪاد‬ ‫داﻧﺴـﺘﻦ‬ ،‫ﻦ‬‫ی‬‫از‬
‫ﺳﺎﺧﺘﺎرﻫﺎ‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬‫ا‬‫ی‬SAS‫ﻧﺤﻮه‬ ‫و‬‫ی‬‫ﮐ‬‫ﺎر‬‫ﮐ‬‫ﺑﺮا‬ ‫آن‬ ‫ﺮد‬‫ی‬‫ﻧﻮ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺷﺘﻦ‬‫ﻫﺎ‬‫ی‬‫ﮐﺎرای‬SAS‫اﺳﺖ‬ ‫ﻻزم‬.
                                                            
1
Statistical Analysis System 
۵
۱-۲‫ﻓﻌﺎل‬‫ﮐ‬‫ﺳﺎﻣﺎﻧﻪ‬ ‫ﺮدن‬‫ی‬SAS
‫اﮔﺮ‬SAS‫ﻣﺤ‬ ‫در‬‫ﯿ‬‫و‬ ‫ﻂ‬‫ﯾ‬‫ﻧﺸﺎﻧﻪ‬ ،‫ﺑﺎﺷﺪ‬ ‫ﺷﺪه‬ ‫ﻧﺼﺐ‬ ‫ﻨﺪوز‬‫ا‬‫ی‬‫در‬Desktop‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯾ‬‫ﮏ‬‫ﺑـﺎ‬ ‫ﻣﻨﺸـﻮر‬‫ﮐ‬‫ﻮﺗـﻪ‬‫ﻧﻮﺷـﺘﻪ‬‫ی‬SAS
‫دارد‬ ‫وﺟﻮد‬.‫ﺑﺮا‬‫ی‬‫ﻓﻌﺎل‬‫ﮐ‬‫ﺮدن‬SAS‫ﮐ‬‫ﺎﻓ‬‫ﯽ‬‫اﺳﺖ‬‫ﮐ‬‫رو‬ ‫را‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫ﻪ‬‫ی‬‫ا‬‫ﯾ‬‫دوﺑـﺎر‬ ‫و‬ ‫ﺑـﺮده‬ ‫ﻋﻼﻣـﺖ‬ ‫ﻦ‬‫ﮐ‬‫ﻠ‬‫ﯿـ‬‫ﮏ‬‫ﮐ‬‫ﻨ‬‫ﯿـ‬‫ﺪ‬.‫از‬ ‫ﭘـﺲ‬
‫ورو‬‫ـﺎﻣﺎﻧﻪ‬‫ـ‬‫ﺳ‬ ‫ﺑـﻪ‬ ‫د‬‫ی‬SAS‫ﺗﺸـﺨ‬ ‫ـﻞ‬‫ـ‬‫ﻗﺎﺑ‬ ‫ـﺮه‬‫ـ‬‫ﭘﻨﺠ‬ ‫ـﻨﺞ‬‫ـ‬‫ﭘ‬ ،‫ﯿ‬‫ـﺖ‬‫ـ‬‫اﺳ‬ ‫ﺺ‬:‫ـﺮه‬‫ـ‬‫ﭘﻨﺠ‬‫ی‬Editor‫ـﺮه‬‫ـ‬‫ﭘﻨﺠ‬ ،‫ی‬Log‫ـﺮه‬‫ـ‬‫ﭘﻨﺠ‬ ،‫ی‬Output،
‫ﭘﻨﺠﺮه‬‫ی‬Explorer‫ﭘﻨﺠﺮه‬ ‫و‬ ،‫ی‬Results.‫ا‬‫ﯾ‬‫ﭘﻨﺠﺮه‬ ‫ﻦ‬‫ﺷ‬ ‫در‬ ‫ﻫﺎ‬‫ﮑ‬‫ﻞ‬۱-۱‫د‬‫ﯾ‬‫ﻣ‬ ‫ﺪه‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.
‫ﺷﮑﻞ‬۱-۱‫ﭘﻨﺠﺮه‬‫ﻫﺎی‬‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬SAS‫ﻓﻌﺎل‬ ‫ﺑﺎر‬ ‫اوﻟﯿﻦ‬ ‫در‬‫ﺳﺎزی‬
۱-۲-۱‫ﭘﻨﺠﺮه‬‫ی‬Editor
‫ا‬‫ﯾ‬،‫ﭘﻨﺠﺮه‬ ‫ﻦ‬Enhanced Editor‫ﻧ‬‫ﯿ‬‫ﻣ‬ ‫ﺧﻮاﻧﺪه‬ ‫ﺰ‬‫ﯽ‬‫ﺷﻮد‬.‫ﭘﻨﺠﺮه‬Editor‫ﻣ‬ ،‫ﮑ‬‫ﺎﻧ‬‫ﯽ‬‫اﺳﺖ‬‫ﮐ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫آن‬ ‫در‬ ‫ﻪ‬‫ﻫﺎ‬‫ی‬SAS،‫ﻧﻮﺷـﺘﻪ‬
‫ﻣ‬ ‫اﺟﺮا‬ ‫و‬ ‫اﺻﻼح‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫ا‬ ‫در‬‫ﯾ‬‫ﭘﻨﺠﺮه‬ ‫ﻦ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻫﺎ‬‫ی‬SAS‫ﻣﺘﻨ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ،‫ﯽ‬‫ﻣـ‬ ‫وارد‬‫ﯽ‬‫ﺷـﻮﻧﺪ‬.‫ا‬ ‫ﺑـﺮ‬ ‫ﺑﻨـﺎ‬‫ﯾـ‬‫ﺑﺮﻧﺎﻣـﻪ‬ ،‫ﻦ‬‫ﻫـﺎ‬‫ی‬
SAS‫ﻗﺎﺑﻞ‬‫ﮐ‬‫ﭙ‬‫ﯽ‬‫واژه‬ ‫در‬ ‫ﺷﺪن‬‫ﭘﺮدازﻫﺎ‬‫ﯾﯽ‬‫ﻣﺜﻞ‬Word‫ﺑ‬ ‫و‬‫ﺮﻋ‬‫ﮑ‬‫ﻫﺴﺘﻨﺪ‬ ‫ﺲ‬.‫وﻗﺘ‬‫ﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ا‬‫ی‬‫در‬SAS‫ﻣ‬ ‫اﺟﺮا‬‫ﯽ‬‫ﺷﻮ‬‫اﺑﺘﺪا‬ ،‫د‬
‫ﺑﺮﻧﺎﻣﻪ‬‫ی‬‫ﻣﺘﻨ‬‫ﯽ‬‫ﮐ‬‫در‬ ‫ﻪ‬‫ﻗﺎﻟﺐ‬ASCII
۲
‫ﺗﺒﺪ‬ ‫اﺳﺖ‬‫ﯾ‬‫ﺑﻪ‬ ‫ﻞ‬‫ﮐ‬‫ﺪﻫﺎ‬‫ی‬SAS‫ﻓﺮﻣـﺎن‬ ‫ﺑﻌﺪ‬ ‫و‬ ‫ﺷﺪه‬‫ﻣـ‬ ‫اﺟـﺮا‬ ‫ﻫـﺎ‬‫ﯽ‬‫ﺷـﻮﻧﺪ‬.‫ﺑﺮﻧﺎﻣـﻪ‬‫ﻫـﺎ‬‫ی‬
SAS‫ﺑﺎ‬‫ﻗﺎﻟﺐ‬ASCII‫ﻣﺘﻨ‬‫ﯽ‬‫ذﺧ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.
                                                            
2
American Standard Code for Information Interchange 
۶
۱-۲-۲‫ﭘﻨﺠﺮه‬‫ی‬Log
‫ا‬‫ﯾ‬‫راﺑﻄ‬ ‫ﭘﻨﺠﺮه‬ ‫ﻦ‬‫ﯽ‬‫ﺑ‬‫ﯿ‬‫ﻦ‬‫ﮐ‬‫ﺳﺎﻣﺎﻧﻪ‬ ‫و‬ ‫ﺎرﺑﺮ‬‫ی‬SAS‫اﺳﺖ‬.‫زﻣ‬‫ﺎﻧ‬‫ﯽ‬‫ﮐ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻪ‬‫ا‬‫ی‬‫ﻣـ‬ ‫اﺟﺮا‬‫ﯽ‬‫ﺟﺰﺋ‬ ،‫ﺷـﻮد‬‫ﯿـ‬‫ﭘﻨﺠـﺮه‬ ‫در‬ ‫اﺟـﺮا‬ ‫ﺎت‬‫ی‬
Log‫ﻣ‬ ‫ﻧﻮﺷﺘﻪ‬‫ﯽ‬‫ﺷﻮد‬.‫ﻗﺴﻤﺖ‬ ‫اﺑﺘﺪا‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫از‬‫ﮐ‬‫ﻣ‬ ‫اﺟﺮا‬ ‫ﻪ‬‫ﯽ‬‫ﻣ‬ ‫آورده‬ ‫ﺷﻮﻧﺪ‬‫ﯽ‬‫زﻣﺎن‬ ‫ﻣﺪت‬ ‫ﺳﭙﺲ‬ ‫و‬ ‫ﺷﻮد‬‫اﺟﺮا‬‫ی‬‫ﺑﺮﻧﺎﻣـﻪ‬
‫ﺑﺮا‬‫ی‬‫ﮔﺎم‬ ‫ﻫﺮ‬‫ﻣﯽ‬ ‫ﻧﻤﺎﯾﺶ‬‫ﯾﺎﺑﺪ‬.‫ﺻﻮرﺗ‬ ‫در‬‫ﯽ‬‫ﮐ‬،‫ﺑﺎﺷـﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺧﻄﺎ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻪ‬SAS‫و‬ ‫داده‬ ‫ﻧﺸـﺎن‬ ‫ﻗﺮﻣـﺰ‬ ‫رﻧـﮓ‬ ‫ﺑـﺎ‬ ‫را‬ ‫ﺧﻄﺎﻫـﺎ‬
‫ﺑﺮا‬‫ی‬‫ﺗﺼﺤ‬‫ﯿ‬‫راﻫﻨﻤﺎ‬ ‫ﻣﺤﺪود‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺢ‬‫ﯾﯽ‬‫ﻣ‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.‫ﮔﺎﻫ‬‫ﯽ‬‫ﻣﻤ‬‫ﮑ‬‫ﺑﺮﺧ‬ ‫اﺳﺖ‬ ‫ﻦ‬‫ﯽ‬‫ﺑﻪ‬ ‫دﺳﺘﻮرﻫﺎ‬ ‫از‬‫ﺗﺎ‬ ‫اﺷﺘﺒﺎه‬‫ﯾ‬‫ﺷﺪه‬ ‫ﭗ‬
‫در‬ ،‫ﺑﺎﺷﻨﺪ‬‫ا‬‫ﯾ‬‫ﻦ‬‫وﺿﻌ‬ ‫ﮔﻮﻧﻪ‬‫ﯿ‬‫ﺖ‬‫ﻫﺎ‬SAS‫ﻣ‬ ‫اﺟﺮا‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬‫ﯽ‬‫ﮐ‬‫وﻟ‬ ‫ﻨﺪ‬‫ﯽ‬‫ﺑﺮا‬‫ی‬‫ا‬‫ﯾ‬‫اﺷﺘﺒﺎه‬ ‫ﻦ‬‫ﻫﺎ‬‫ﻣ‬ ‫ﻫﺸﺪار‬‫ﯽ‬‫دﻫﺪ‬.‫ا‬ ‫ﺑـﺮ‬ ‫ﺑﻨﺎ‬‫ﯾـ‬‫ﻻزم‬ ،‫ﻦ‬
‫اﺳﺖ‬‫ﮐ‬‫ﻪ‬‫ﮐ‬‫اوﻟ‬ ‫در‬ ‫ﺎرﺑﺮ‬‫ﯿ‬‫ﺑﺎر‬ ‫ﻦ‬‫ی‬‫ﮐ‬‫ﻣ‬ ‫اﺟﺮا‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻪ‬‫ﯽ‬‫ﭘﻨﺠ‬ ،‫ﺷﻮد‬‫ﺮه‬‫ی‬Log‫وارﺳ‬ ‫دﻗﺖ‬ ‫ﺑﻪ‬ ‫را‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.
۱-۲-۳‫ﭘﻨﺠﺮه‬‫ی‬Output
‫زﻣﺎﻧ‬‫ﯽ‬‫ﮐ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻪ‬‫ا‬‫ی‬‫ﺳﺎﻣﺎﻧﻪ‬ ‫در‬‫ی‬SAS‫ﻣ‬ ‫اﺟﺮا‬ ‫ﺧﻄﺎ‬ ‫ﺑﺪون‬‫ﯽ‬،‫ﺷﻮد‬‫ﺧﺮوﺟﯽ‬‫ﭘﻨﺠـﺮه‬ ‫در‬ ‫آن‬‫ی‬Output‫ﻣﯽ‬ ‫ﻧﻤـﺎﯾﺶ‬‫ﯾﺎﺑـﺪ‬.
‫ﺧﺮوﺟ‬‫ﯽ‬SAS‫ﻣ‬‫ﯽ‬‫ﺑﻪ‬ ‫ﺗﻮاﻧﺪ‬‫ﻗﺎﻟﺐ‬‫ﻫﺎی‬‫ﻣﺘﻔﺎوﺗ‬‫ﯽ‬‫ﺷﻮد‬ ‫ﺳﺎﺧﺘﻪ‬.‫ﭘ‬‫ﯿ‬‫ﺶ‬‫ﻓﺮض‬،‫ﺧﺮوﺟ‬‫ﯽ‬‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫اﺳﺖ‬.‫ﺧﺮوﺟ‬‫ﯽ‬‫ﺻـﻮرت‬ ‫ﺑـﻪ‬
PDF‫و‬HTML‫ﻧ‬‫ﯿ‬‫ﺰ‬‫ﻗﺎﺑﻞ‬‫اراﺋﻪ‬‫اﺳﺖ‬.
۱-۲-۴‫ﭘﻨﺠﺮه‬‫ﻫﺎ‬‫ی‬Explorer‫و‬Results
‫وﻗﺘ‬‫ﯽ‬SAS‫ﻣ‬ ‫ﻓﻌﺎل‬‫ﯽ‬‫ﭘﻨﺠﺮه‬ ‫ﺷﻮد‬‫ا‬‫ی‬‫ﭼﭗ‬ ‫ﺳﻤﺖ‬ ‫در‬‫ﺻﻔﺤﻪ‬‫ﻧﻤﺎﯾﺶ‬ ‫ی‬‫د‬‫ﯾ‬‫ﻣ‬ ‫ﺪه‬‫ﯽ‬‫ﺷﻮد‬.‫اﻧﺘﻬﺎ‬ ‫در‬‫ی‬‫ا‬‫ﯾ‬‫ﭘـﺮش‬ ‫دو‬ ‫ﭘﻨﺠـﺮه‬ ‫ﻦ‬‫ﮔـﺎه‬
Explorer‫و‬Results‫د‬‫ﯾ‬‫ﻣ‬ ‫ﺪه‬‫ﯽ‬‫ﺷﻮد‬.‫ﺑﺎ‬‫ﮐ‬‫ﻠ‬‫ﯿـ‬‫ﮏ‬‫ﮐـ‬‫رو‬ ‫ﺮدن‬‫ی‬‫ﭘـﺮش‬ ‫ﻫـﺮ‬‫ﭘﻨﺠـﺮه‬ ،‫ﮔـﺎه‬‫ی‬‫ﺑـﺎز‬ ‫ﻣﺮﺑـﻮط‬‫ﻣـ‬‫ﯽ‬‫ﺷـﻮد‬.‫ﭘﻨﺠـﺮه‬‫ی‬
Explorer،‫ﮐ‬‫ﺘ‬‫ﺎﺑﺨﺎﻧﻪ‬‫ﻫﺎ‬‫ی‬)Library(SAS‫را‬‫ﮐـ‬‫ﻣـ‬ ‫ﻧﺸـﺎن‬ ،‫ﻫﺴـﺘﻨﺪ‬ ‫دﺳـﺘﺮس‬ ‫ﻗﺎﺑـﻞ‬ ‫ﻪ‬‫ﯽ‬‫دﻫـﺪ‬.‫ا‬ ‫در‬‫ﯾـ‬‫ﭘﻨﺠـﺮه‬ ‫ﻦ‬‫ﻣـ‬‫ﯽ‬‫ﺗـﻮان‬
‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ی‬‫ﺟﺪ‬‫ﯾ‬‫ﺳﺎﺧﺖ‬ ‫ﺪ‬.‫ﻓﺎ‬‫ﯾ‬‫ﻞ‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﮐ‬‫ا‬ ‫در‬ ‫ﻪ‬‫ﯾ‬‫ﻦ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫دﺧ‬ ‫ﻫﺎ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬،‫ﺷﻮﻧﺪ‬‫داﺋﻤ‬‫ﯽ‬‫ﻫﺴﺘﻨﺪ‬.‫ا‬ ‫ﺑـﻪ‬‫ﯾـ‬‫ﻣﻌﻨـﺎ‬ ‫ﻦ‬‫ﮐـ‬‫ﻪ‬
‫ﮐ‬‫ﻓﺎ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﻪ‬ ‫ﻗﺎدر‬ ‫ﻫﻤﻮاره‬ ‫ﺎرﺑﺮ‬‫ﯾ‬‫ﻞ‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫اﺳﺖ‬.‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ی‬Work‫ﮐ‬‫ا‬ ‫ﺷﺎﻣﻞ‬ ،‫اﺳﺖ‬ ‫ﺳﺎﻣﺎﻧﻪ‬ ‫ﺟﺰء‬ ‫ﻪ‬‫ﯾ‬‫اﺻـﻞ‬ ‫ﻦ‬
‫ﻧﻤ‬‫ﯽ‬‫ﺷﻮد‬.‫د‬ ‫ﻋﺒﺎرت‬ ‫ﺑﻪ‬‫ﯾ‬‫ﻓﺎ‬ ‫ﮕﺮ‬‫ﯾ‬‫ﻞ‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﮐ‬‫ا‬ ‫در‬ ‫ﻪ‬‫ﯾ‬‫ﻦ‬‫ﮐ‬‫ﻣ‬ ‫ﺳﺎﺧﺘﻪ‬ ‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﯽ‬‫ﻫﺴﺘﻨﺪ‬ ‫ﻣﻮﻗﺖ‬ ،‫ﺷﻮد‬.‫ا‬ ‫ﺑﻪ‬‫ﯾـ‬‫ﻣﻌﻨـﺎ‬ ‫ﻦ‬‫ﮐـ‬‫ﺑـﺎ‬ ‫ﻪ‬
‫ﺳﺎﻣﺎﻧﻪ‬ ‫از‬ ‫ﺧﺮوج‬‫ی‬SAS‫ﺧﻮد‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬‫ﮐ‬‫ﻓﺎ‬ ‫ﺗﻤﺎم‬ ‫ﺎر‬‫ﯾ‬‫ﻞ‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ا‬‫ﯾ‬‫ﻦ‬‫ﮐ‬‫ﭘـﺎ‬ ‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ک‬‫ﻣـ‬‫ﯽ‬‫ﺷـﻮﻧﺪ‬.‫زﻣـﺎﻧ‬‫ﯽ‬‫ﮐـ‬‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻪ‬‫ا‬‫ی‬
‫ﻣ‬ ‫اﺟﺮا‬‫ﯽ‬،‫ﺷﻮد‬‫ﺧﺮوﺟ‬‫ﯽ‬‫ﭘﻨﺠﺮه‬ ‫در‬ ‫ﺑﺮﻧﺎﻣﻪ‬‫ی‬Output‫ﻣ‬ ‫آورده‬‫ﯽ‬‫ﭘﻨﺠﺮه‬ ‫در‬ ‫و‬ ‫ﺷﻮد‬‫ی‬Results‫ﻓﻬﺮﺳﺘ‬ ،‫ﯽ‬‫اﺟﺮا‬ ‫از‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬
‫ﮔﺎم‬ ‫ﺷﺎﻣﻞ‬‫ﻋﺒﺎرت‬ ،‫ﻫﺎ‬‫ﻫﺎ‬‫ی‬‫ﮔﺎم‬ ‫در‬ ‫ﻣﻮﺟﻮد‬‫ﻣ‬ ‫آورده‬ ‫ﻫﺎ‬‫ﯽ‬‫ﺷﻮد‬.‫ﮐ‬‫ﻣ‬ ‫ﺎرﺑﺮ‬‫ﯽ‬‫ﺑﺎ‬ ‫ﺗﻮاﻧﺪ‬‫ﮐ‬‫ﻠ‬‫ﯿ‬‫ﮏ‬‫ﮐ‬‫رو‬ ‫ﺮدن‬‫ی‬،‫ﻋﺒﺎرت‬ ‫ﻫﺮ‬‫ﺧﺮوﺟـﯽ‬
‫ﭘﻨﺠﺮه‬ ‫در‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫از‬ ‫ﻗﺴﻤﺖ‬ ‫آن‬‫ی‬Output‫ﻓﺮاﺧﻮاﻧ‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.
۱-۲-۵‫ﭘﻨﺠﺮه‬‫ی‬Graph
‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﮔﺮ‬‫ا‬‫ی‬‫ﺧﺮوﺟﯽ‬‫ﻧﻤﻮدار‬‫ی‬‫ا‬ ،‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬‫ﯾ‬‫ﭘ‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫ﻧﻤﻮدارﻫﺎ‬ ‫ﻦ‬‫ﯿ‬‫ﺶ‬‫ﭘﻨﺠـﺮه‬ ‫در‬ ‫ﻓﺮض‬‫ا‬‫ی‬‫ﻧـﺎم‬ ‫ﺑـﻪ‬Graph‫ﻧﻤـﺎ‬‫ﯾ‬‫ﺶ‬
‫ﻣ‬ ‫داده‬‫ﯽ‬‫ﺷﻮ‬‫ﻧ‬‫ﺪ‬.‫ا‬‫ﯾ‬‫ﺗﺮﺗ‬ ‫ﺑﻪ‬ ‫و‬ ‫ﺑﺎﻻ‬ ‫وﺿﻮح‬ ‫ﺑﺎ‬ ‫را‬ ‫ﻧﻤﻮدارﻫﺎ‬ ‫ﭘﻨﺠﺮه‬ ‫ﻦ‬‫ﯿ‬‫ﺒ‬‫ﯽ‬‫ﮐ‬‫ا‬ ‫ﻪ‬‫ﯾ‬‫ﻣ‬ ‫ﺠﺎد‬‫ﯽ‬‫ﺟ‬ ‫ﺧﻮد‬ ‫در‬ ‫ﺷﻮﻧﺪ‬‫ﻣ‬ ‫ﺎ‬‫ﯽ‬‫دﻫﺪ‬.‫ﺑـﺮا‬‫ی‬‫د‬‫ﯾـ‬‫ﺪن‬
۷
‫رو‬ ‫ﻧﻤﻮدارﻫﺎ‬‫ی‬‫ﭘﺮش‬‫ﮔﺎه‬Graph‫ﮐ‬‫ﭘﺎ‬ ‫در‬ ‫ﻪ‬‫ﯾﯿ‬‫ﻦ‬‫ﺻﻔﺤﻪ‬‫ی‬‫ﻧﻤـﺎﯾﺶ‬‫د‬‫ﯾـ‬‫ﻣـ‬ ‫ﺪه‬‫ﯽ‬‫ﺷـﻮد‬‫ﮐ‬‫ﻠ‬‫ﯿـ‬‫ﮏ‬‫ﮐ‬‫ﻨ‬‫ﯿـ‬‫ﺪ‬.‫ﺣﺮ‬‫ﮐـ‬‫ﭘﻨﺠـﺮه‬ ‫از‬ ‫ﺖ‬‫ا‬‫ی‬‫ﺑـﻪ‬
‫ﭘﻨﺠﺮه‬‫ی‬‫د‬‫ﯾ‬‫ﻃﺮ‬ ‫از‬ ‫ﮕﺮ‬‫ﯾ‬‫ﻖ‬‫ﮐ‬‫ﻠ‬‫ﯿ‬‫ﮏ‬‫ﮐ‬‫رو‬ ‫ﺮدن‬‫ی‬‫ﭘﺮش‬‫ﭘﺎ‬ ‫در‬ ‫ﻣﺮﺑﻮط‬ ‫ﮔﺎه‬‫ﯾﯿ‬‫ﺻﻔﺤﻪ‬ ‫ﻦ‬‫ی‬‫ﻧﻤﺎ‬‫ﯾ‬‫اﻣ‬ ‫ﺶ‬‫ﮑ‬‫ﺎن‬‫ﭘﺬ‬‫ﯾ‬‫اﺳﺖ‬ ‫ﺮ‬.
۱-۳‫ﻗﺎﻋﺪه‬‫ﺷ‬ ‫و‬ ‫ﻫﺎ‬‫ﮑ‬‫دﺳﺘﻮر‬ ‫ﻞ‬‫ی‬‫ﭘﺎ‬‫ﯾ‬‫ﻪ‬‫ا‬‫ی‬SAS
‫داده‬ ‫ﻣﻘﺪار‬‫ا‬‫ی‬
‫ﻣﻘﺪار‬‫ﻫﺎی‬‫داده‬‫ا‬‫ی‬‫ﻧﻮ‬ ‫ﺑﻪ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﻋﺪد‬ ‫و‬‫ی‬‫رده‬‫ﺑﻨﺪ‬‫ی‬‫ﻣ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫ﻧﻮ‬ ‫ﻣﻘﺪار‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﺣﺪا‬‫ﮐ‬‫ﻣ‬ ‫ﺜﺮ‬‫ﯽ‬‫ﺗﻮاﻧﺪ‬۳۲۷۶۷‫ﻧﻮ‬‫ﯾ‬‫ﺴـ‬‫داﺷـﺘﻪ‬ ‫ﻪ‬
‫ﻣ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬‫ﯽ‬‫ﺣﺮ‬ ‫ﺷﺎﻣﻞ‬ ‫ﺗﻮاﻧﺪ‬‫اﻧﮕﻠ‬ ‫ف‬‫ﯿ‬‫ﺴ‬‫ﯽ‬‫ﻋﺪد‬ ،‫ﺧﺎص‬ ‫ﻋﻼﺋﻢ‬ ،‫ﺑﺎﺷﺪ‬ ‫ﻓﺎﺻﻠﻪ‬ ‫و‬.
‫ﻣﻘﺪارﻫﺎ‬ ‫از‬ ‫ﻣﺜﺎل‬ ‫ﭼﻨﺪ‬‫ی‬‫ﻧﻮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﻋﺒﺎرت‬‫از‬ ‫اﻧﺪ‬:
y5, 789, south west, do, a
‫ﻋﺪد‬ ‫ﻣﻘﺪار‬‫ی‬،‫ﯾ‬‫ﮏ‬‫و‬ ‫ﺑﺎ‬ ‫ﻋﺪد‬‫ﯾ‬‫ﺑ‬ ‫ﺎ‬‫ﺪ‬‫ﻧﻘﻄﻪ‬ ‫ون‬‫ی‬‫اﻋﺸﺎر‬‫ی‬‫اﺳﺖ‬‫ﮐ‬‫ﻣ‬ ‫آن‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫ﻪ‬‫ﯽ‬‫ﺑـﻪ‬ ‫ﻋﻼﻣـﺖ‬ ‫ﺗﻮاﻧﺪ‬‫ﻋـﻼو‬‫ه‬‫ﯾـ‬‫ﻗـﺮار‬ ‫ﻣﻨﻬـﺎ‬ ‫ﺎ‬
‫ﮔ‬‫ﯿ‬‫وﻟ‬ ‫ﺮد‬‫ﯽ‬‫ﻧﻤ‬‫ﯽ‬‫واو‬ ‫ﺷﺎﻣﻞ‬ ‫ﺗﻮاﻧﺪ‬‫ک‬),(‫ﺑﺎﺷﺪ‬.‫ﻣﺜﺎل‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﺑﺮا‬‫ی‬‫ﻋﺪد‬ ‫ﻣﻘﺪار‬‫ی‬‫ﻋﺒﺎرت‬‫از‬ ‫اﻧﺪ‬:
45, 0.038, -81. ,241.25, 2.345E-4
‫داده‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫در‬ ‫ﻪ‬‫ﯾ‬‫ﮑ‬‫ﯽ‬‫ا‬ ‫از‬‫ﯾ‬‫ﻧﻤ‬ ‫ﻗﺮار‬ ‫رده‬ ‫دو‬ ‫ﻦ‬‫ﯽ‬‫ﮔ‬‫ﯿ‬‫ﺮﻧﺪ‬)‫ﺗﺎر‬ ‫ﻣﺜﻞ‬‫ﯾ‬‫ﺧﻂ‬ ‫ﺑﺎ‬ ‫ﺦ‬‫ﮐ‬‫ﺞ‬(/)‫ﯾ‬‫واو‬ ‫ﺷﺎﻣﻞ‬ ‫ﻋﺪد‬ ‫ﺎ‬‫ک‬(‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑـﺎ‬
‫ا‬‫ﯾ‬‫ﻨ‬‫ﻔﻮرﻣﺖ‬‫ﻋﺪد‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ی‬‫ﯾ‬‫ﻧﻮ‬ ‫ﺎ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫در‬‫ی‬‫داده‬‫ﻫﺎ‬‫ی‬SAS‫دﺧ‬‫ﯿ‬‫ﻣـ‬ ‫ﺮه‬‫ﯽ‬‫ﺷـﻮﻧﺪ‬.‫ﺻـﻮرﺗ‬ ‫در‬‫ﯽ‬‫ﮐـ‬‫ﻣﻘـﺪار‬ ‫ﻧـﻮع‬ ‫ﻪ‬
‫داده‬‫ا‬‫ی‬‫ﭘ‬ ،‫ﻧﺸﻮﻧﺪ‬ ‫ﻣﺸﺨﺺ‬‫ﯿ‬‫ﻓﺮض‬ ‫ﺶ‬SAS‫ﻋﺪد‬‫ی‬‫ﺑ‬‫ﻮد‬‫آن‬ ‫ن‬‫ﻫﺎﺳﺖ‬.
‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS
‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬SAS‫د‬ ‫ﻫﻤﺎﻧﻨﺪ‬‫ﯾ‬‫ﺑﺴﺘﻪ‬ ‫ﮕﺮ‬‫ﻫﺎ‬‫ی‬‫ﻧﺮم‬‫اﻓﺰار‬‫ی‬،‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫ﺧﺎم‬‫ﻧﻤ‬ ‫را‬‫ﯽ‬‫ﺷﻨﺎﺳﺪ‬.‫ا‬ ‫ﺑﺮ‬ ‫ﺑﻨﺎ‬‫ﯾـ‬‫ﺑـﺮا‬ ‫ﻦ‬‫ی‬‫ﮐـ‬‫ﺑـﺎ‬ ‫ﺎر‬
‫دا‬‫ده‬‫ﺑﺎ‬ ‫اﺑﺘﺪا‬ ،‫ﻫﺎ‬‫ﯾ‬‫ﺪ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫ﺑﻪ‬ ‫ﺧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﺗﺒﺪ‬‫ﯾ‬‫ﺷﻮد‬ ‫ﻞ‬.‫ﻫﻢ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬‫و‬ ‫ﺧـﺎم‬
‫ﻫﻢ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﺷ‬ ‫ﺑﻪ‬‫ﮑ‬‫ﻣﺎﺗﺮ‬ ‫ﻞ‬‫ﯾ‬‫ﺴ‬‫ﯽ‬‫ﻫﺴﺘﻨﺪ‬‫ﮐـ‬‫ﺳـﻄﺮﻫﺎ‬ ‫ﻪ‬‫ی‬‫ﻣﺸـﺎﻫﺪه‬ ‫آن‬‫ﺳـﺘﻮن‬ ‫و‬ ‫ﻫـﺎ‬‫ﻫـﺎ‬،‫ﻣﺘﻐ‬ ‫ﻣﻘـﺪار‬‫ﯿ‬‫ﺮﻫـﺎ‬
‫ﻫﺴﺘﻨﺪ‬.‫ﺷ‬ ‫در‬‫ﮑ‬‫ﻞ‬۱-۲‫ﻣﻘﺪارﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﺳﺘﻮن‬ ‫در‬‫ﻧﻤﺎ‬ ‫ﻫﺎ‬‫ﯾ‬‫ﻣﺘﻐ‬ ‫ﺎﻧﮕﺮ‬‫ﯿ‬‫ﻧﻤﺎ‬ ‫ﺳﻄﺮﻫﺎ‬ ‫در‬ ‫و‬ ‫ﺮﻫﺎ‬‫ﯾ‬‫ﻣﺸﺎﻫﺪه‬ ‫ﺸﮕﺮ‬‫ﻫﺴﺘﻨﺪ‬ ‫ﻫﺎ‬.
.
.
.
‫ﻣﺘﻐﯿﺮﻫﺎ‬
۸
.
.
.
‫ﻣﻘﺪارﻫﺎی‬
‫داده‬‫ای‬
.
.
.
‫ﺷﮑﻞ‬۱-۲‫داده‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫از‬ ‫ﻧﻤﺎﯾﺸﯽ‬‫ﻫﺎ‬
‫ﺗﺒﺪ‬ ‫ﻣﻨﻈﻮر‬ ‫ﺑﻪ‬‫ﯾ‬‫ﻞ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫ﺑﻪ‬ ‫ﺧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS،‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ﺑﺎ‬‫ﯾـ‬‫ﺷـ‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ ‫ﺪ‬‫ﮑ‬‫ﻞ‬
۱-۲‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬‫ﯾ‬‫ﻓﺎ‬ ‫در‬ ‫ﺎ‬‫ﯾ‬‫ذﺧ‬ ‫ﻞ‬‫ﯿ‬‫ﺮ‬‫ه‬‫ﺑﻪ‬ ‫ﺷﺪه‬SAS‫ﻣﻌﺮﻓ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.
‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬
‫ﻣﺎﺗﺮ‬ ‫ﺳﺘﻮن‬ ‫ﻫﺮ‬‫ﯾ‬‫داده‬ ‫ﺲ‬‫ﻧﻤﺎ‬ ‫ﻫﺎ‬‫ﯾ‬‫ﻣﻘـﺪارﻫﺎ‬ ‫ﺎﻧﮕﺮ‬‫ی‬‫ﯾـ‬‫ﮏ‬‫ﻣﺘﻐ‬‫ﯿـ‬‫ﺮ‬SAS‫اﺳـﺖ‬.‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ی‬SAS‫ﻧـﻮع‬ ‫دو‬ ‫ﺑـﺮ‬‫اﻧـﺪ‬:‫ﻋـﺪد‬‫ی‬‫و‬
‫ﻧﻮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬.‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬‫ﯿ‬‫ﻋﺪد‬ ‫ﺮ‬‫ی‬‫ﺑﺎ‬‫ﯾ‬‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫و‬ ‫ﻋﺪد‬ ‫ﺪ‬‫ﯿ‬‫ﻧﻮ‬ ‫ﺮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﺑﺎ‬‫ﯾ‬‫ﻧﻮ‬ ‫ﺪ‬‫ﯾ‬‫ﺑﺎﺷﺪ‬ ‫ﺴﻪ‬.‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬‫ﯿ‬‫ﻧﻮ‬ ‫ﺮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﻣـ‬‫ﯽ‬‫ﺗﻮاﻧـﺪ‬
‫ﺑﺎﺷﺪ‬ ‫ﻋﺪد‬ ‫ﺷﺎﻣﻞ‬‫وﻟ‬‫ﯽ‬‫آن‬ ‫ﺑﺎ‬‫ﻧﻮ‬ ‫ﻣﺜﻞ‬ ‫ﻫﺎ‬‫ﯾ‬‫ﻣ‬ ‫رﻓﺘﺎر‬ ‫ﺴﻪ‬‫ﯽ‬‫ﺷﻮد‬.‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬SAS‫ﻧﻤ‬‫ﯽ‬‫ﻣﺘﻐ‬ ‫ﺑﺎ‬ ‫ﺗﻮاﻧﺪ‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ی‬‫ﻧﻮ‬‫ﯾ‬‫ﺴـﻪ‬‫ای‬‫ﻋﻤﻠ‬‫ﯿـ‬‫ﺎت‬
‫ر‬‫ﯾ‬‫ﺎﺿ‬‫ﯽ‬‫دﻫﺪ‬ ‫اﻧﺠﺎم‬.
‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬SAS‫و‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬‫ﯾ‬‫ﮋﮔ‬‫ﯽ‬‫ﻫﺎ‬‫ی‬‫دارا‬ ‫ﻧﻮع‬ ‫و‬ ‫ﻧﺎم‬‫ی‬‫و‬‫ﯾ‬‫ﮋﮔ‬‫ﯽ‬‫ﻫﺎ‬‫ی‬‫ﻃﻮل‬)‫ﺑﺎ‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬‫ﯾ‬‫ﺖ‬(‫ﻣﻮﻗﻌ‬ ‫و‬‫ﯿ‬‫در‬ ‫ﺖ‬‫ﻣﺠﻤﻮﻋﻪ‬‫ی‬
‫داده‬‫ﻫﺎ‬‫ا‬ ،‫ﯾ‬‫ﻫﺴﺘﻨﺪ‬ ‫ﺑﺮﭼﺴﺐ‬ ‫و‬ ‫ﻓﻮرﻣﺖ‬ ،‫ﻨﻔﻮرﻣﺖ‬.‫و‬‫ﯾ‬‫ﮋﮔ‬‫ﯽ‬‫ﻫﺎ‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬SAS‫آن‬ ‫ﻣﻘﺪار‬ ‫ﻣﺜﻞ‬‫در‬ ‫ﻫﺎ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬
SAS‫ذﺧ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.
‫ﻣﺸﺎﻫﺪه‬‫ﻫﺎ‬
‫ﯾ‬‫ﮏ‬‫ﮔﺮوﻫ‬ ‫ﻣﺸﺎﻫﺪه‬‫ﯽ‬‫ﻣﻘﺪارﻫﺎ‬ ‫از‬‫ی‬‫داده‬‫ا‬‫ی‬‫اﺳﺖ‬‫ﮐ‬‫ﻧﻤﺎ‬ ‫ﻪ‬‫ﯾ‬‫اﻧﺪازه‬ ‫ﺎﻧﮕﺮ‬‫ﻫﺎ‬‫ی‬‫ﻣﺨﺘﻠﻒ‬‫ﻣﺮﺑﻮط‬‫ﺑﻪ‬‫ﯾ‬‫ﮏ‬‫ﻓﺮد‬)‫ﻋﻨﺼﺮ‬(‫اﺳـﺖ‬.
‫ﻓﺮد‬ ‫از‬ ‫ﻣﻨﻈﻮر‬‫ﯾ‬‫ﮏ‬‫آﻣﺎر‬ ‫واﺣﺪ‬‫ی‬‫اﺳﺖ‬‫ﮐ‬‫ﻣ‬ ‫ﻪ‬‫ﯽ‬‫ﺣ‬ ،‫ﺷﺨﺺ‬ ‫ﺗﻮاﻧﺪ‬‫ﯿـ‬‫آزﻣﺎ‬ ‫ﻮان‬‫ﯾ‬‫ﺸـﮕﺎﻫ‬‫ﯽ‬،‫ﮐـ‬‫و‬ ‫ﺮت‬...‫ﺑﺎﺷـﺪ‬.‫در‬‫ﻣﺠﻤﻮﻋـﻪ‬‫ی‬
‫داده‬‫ﻫﺎ‬‫ی‬SAS‫ﻧﻤﺎ‬ ‫ﺳﻄﺮ‬ ‫ﻫﺮ‬‫ﯾ‬‫ﺎﻧﮕﺮ‬‫ﯾ‬‫ﮏ‬‫اﺳﺖ‬ ‫ﻣﺸﺎﻫﺪه‬.‫اﻣﺎ‬‫در‬ ‫ﻣﺸﺎﻫﺪه‬ ‫ﻫﺮ‬ ،‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﻣ‬‫ﯽ‬‫ﺷـﺎﻣﻞ‬ ‫ﺗﻮاﻧـﺪ‬
‫ﯾ‬‫ﮏ‬‫ﺳﻄﺮ‬‫ﯾ‬‫ﺑ‬ ‫ﺎ‬‫ﯿ‬‫درون‬ ‫از‬ ‫ﺸﺘﺮ‬‫داده‬‫ﺑﺎﺷﺪ‬ ‫ﻫﺎ‬.
‫ﻧﺎم‬‫ﻫﺎ‬
‫داده‬ ‫آﻣﺎری‬ ‫ﺗﺤﻠﯿﻞ‬ ‫ﺑﺮای‬‫و‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﺑﻪ‬ ‫ﺑﺎﯾﺪ‬ ‫ﻫﺎ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺷﻮد‬ ‫داده‬ ‫اﺧﺘﺼﺎص‬ ‫ﻧﺎﻣﯽ‬.‫ﺑـﺮ‬ ‫ﻧـﺎﻇﺮ‬ ‫ﻣﺘﻐﯿـﺮ‬ ‫ﻋﺒـﺎرت‬
‫اﻃﻼﻋﺎﺗﯽ‬‫ﻣﯽ‬ ‫ﮔﺮداوری‬ ‫ﻣﺸﺎﻫﺪه‬ ‫ﻫﺮ‬ ‫ﺑﺮای‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬‫ﺷﻮد‬.‫ﻧﺎم‬‫ﺣﺮف‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﺑﺎﯾﺪ‬ ‫ﻫﺎ‬‫زﯾﺮﯾﻦ‬ ‫ﺧﻂ‬ ‫ﯾﺎ‬)_(‫و‬ ‫ﺷـﻮﻧﺪ‬ ‫ﺷـﺮوع‬
‫ﻣﯽ‬‫ﯾﺎ‬ ‫اﻋﺪاد‬ ،‫ﺣﺮوف‬ ‫ﺷﺎﻣﻞ‬ ‫ﺗﻮاﻧﻨﺪ‬–‫ﺑﺎﺷﻨﺪ‬.‫ﻧﺎم‬ ‫ﻃﻮل‬‫ﻧﻤﯽ‬ ‫ﻫﺎ‬‫از‬ ‫ﺑﯿﺶ‬ ‫ﺗﻮاﻧﺪ‬۳۲‫ﻧﺎم‬ ،‫ﺑﺎﺷﺪ‬ ‫ﻧﻮﯾﺴﻪ‬‫ﻧ‬ ‫ﻫﺎ‬‫ﻤﯽ‬‫ﺷـﺎﻣﻞ‬ ‫ﺗﻮاﻧﻨﺪ‬
‫ﻣﺸﺎﻫﺪه‬‫ﻫﺎ‬
۹
‫ﻧﻮﯾﺴﻪ‬ ‫ﯾﺎ‬ ‫ﻓﺎﺻﻠﻪ‬‫وﯾ‬ ‫ﻫﺎی‬‫ﮋ‬‫ه‬‫واوک‬ ‫ﻧﻘﻄﻪ‬ ،‫واوک‬ ‫ﻣﺜﻞ‬);(‫ﻋﻼﻣـﺖ‬ ‫و‬‫ﻫـﺎی‬$‫و‬#‫ﺑﺎﺷـﻨﺪ‬.‫ﻧـﺎم‬‫ﻣﺜـﺎل‬ ‫زﯾـﺮ‬ ‫ﻫـﺎی‬‫از‬ ‫ﻫـﺎﯾﯽ‬
‫ﻧﺎم‬‫ﺳﺎﻣﺎﻧﻪ‬ ‫در‬ ‫ﻫﺎ‬‫ی‬SAS‫ﻫﺴﺘﻨﺪ‬:
gender, exam1, rep_nu, y123,_test
‫ﻧﮑﺘﻪ‬‫ی‬۱-۱‫اﯾﻦ‬ ‫ﺑﺮای‬‫ﻧﻮﯾﺴﻪ‬ ‫و‬ ‫ﻓﺎﺻﻠﻪ‬ ‫از‬ ‫ﺑﺘﻮاﻧﯿﺪ‬ ‫ﮐﻪ‬‫وﯾ‬ ‫ﻫﺎی‬‫ﮋ‬‫ﻧﺎم‬ ‫در‬ ‫ه‬‫ﺑﺮﻧﺎﻣـﻪ‬ ‫در‬ ‫را‬ ‫زﯾـﺮ‬ ‫ﻋﺒـﺎرت‬ ‫ﮐﻨﯿـﺪ‬ ‫اﺳـﺘﻔﺎده‬ ‫ﻫـﺎ‬‫ی‬
SAS‫ﺑﺒﺮﯾﺪ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬:
Options validvarname=any;
‫ﺑﺮا‬ ‫ﺳﭙﺲ‬‫ﻣﺸﺨﺺ‬ ‫ی‬‫ﻧﺎم‬ ‫ﮐﺮدن‬‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫زﯾﺮ‬ ‫ﻗﺎﻟﺐ‬ ‫از‬ ‫ﮔﻮﻧﻪ‬ ‫اﯾﻦ‬ ‫از‬ ‫ﻫﺎی‬
'variable name'n
‫ﻋﺒﺎرت‬ ‫ﻧﻮﺷﺘﻦ‬ ‫در‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎی‬‫ﻧﺎم‬ ‫از‬ ‫اﺳﺖ‬ ‫ﺑﻬﺘﺮ‬ ‫ای‬‫ﺳـ‬ ‫و‬ ‫ﮐـﺮد‬ ‫اﺳﺘﻔﺎده‬ ‫ﮐﻮﺗﺎه‬ ‫ﻃﻮل‬ ‫ﺑﺎ‬ ‫ﻫﺎﯾﯽ‬‫ﭙ‬‫آن‬ ‫ﺑـﻪ‬ ‫ﺲ‬‫داد‬ ‫ﺑﺮﭼﺴـﺐ‬ ‫ﻫـﺎ‬.
‫ﮐﻮﺗﺎه‬‫ﻣﯽ‬ ‫زﯾﺎدﺗﺮ‬ ‫را‬ ‫ﺳﺮﻋﺖ‬ ‫ﻫﻢ‬ ‫ﻧﻮﯾﺴﯽ‬‫را‬ ‫ﺧﻄﺎ‬ ‫ﻫﻢ‬ ‫و‬ ‫ﮐﻨﺪ‬‫ﮐﻢ‬‫ﺗﺮ‬.
‫ﻣﺘﻐ‬ ‫ﻓﻬﺮﺳﺖ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬SAS
‫ﯾ‬‫ﮏ‬‫ﻓ‬‫ﻣﺘﻐ‬ ‫ﻬﺮﺳﺖ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬SAS‫ﻣﺘﻐ‬ ‫ﻧﺎم‬ ‫ﺷﺎﻣﻞ‬‫ﯿ‬‫اﺳﺖ‬ ‫ﺮﻫﺎ‬‫ﮐـ‬ّ‫ﺪ‬‫ﺣـ‬ ‫ﻪ‬‫ﺑـﺎ‬ ‫اﻗـﻞ‬‫ﯾـ‬‫ﮏ‬‫ﺑﺎﺷـﺪ‬ ‫ﺷـﺪه‬ ‫ﺟـﺪا‬ ‫ﻫـﻢ‬ ‫از‬ ‫ﻓﺎﺻـﻠﻪ‬.ً‫ﻼ‬‫ﻣـﺜ‬
fer rep_no yield‫ﻓﻬﺮﺳﺘ‬ ،‫ﯽ‬‫ﻣﺘﻐ‬ ‫ﻧـﺎم‬ ‫از‬ ‫ﺳﺎده‬‫ﯿ‬‫اﺳـﺖ‬ ‫ﺮﻫـﺎ‬.‫ﮐـ‬‫ﻣـ‬ ‫ﺎرﺑﺮ‬‫ﯽ‬‫ﻓﻬﺮﺳـﺘ‬ ‫ﺗﻮاﻧـﺪ‬‫ﯽ‬‫دﻧﺒﺎﻟـﻪ‬‫ا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﻧـﺎم‬ ‫از‬‫ﯿ‬‫ﺑـﻪ‬ ‫ﺮﻫـﺎ‬
‫ﺻــﻮرت‬AAAY-AAAX‫ﮐــ‬‫ﻪ‬AAA‫ﻧﻮ‬‫ﯾ‬‫ﺴــﻪ‬‫و‬ ‫ﻫــﺎ‬X‫و‬Y‫ﻫﺴــﺘﻨﺪ‬ ‫ﻋــﺪد‬.‫ﺑــﺮا‬‫ی‬‫ﻣــ‬ ‫ﻣﺜــﺎل‬‫ﯽ‬‫ﺗــﻮان‬‫ﻧــ‬‫ﻣﺘﻐ‬ ‫ﺎم‬‫ﯿــ‬‫ﺮ‬‫ﻫــﺎ‬‫ی‬
Y1 Y2 Y3 Y4 Y5‫را‬‫ﮐ‬‫ﻣﻤ‬ ‫ﻪ‬‫ﮑ‬‫ﻫﺎ‬ ‫ﻋﺒﺎرت‬ ‫در‬ ‫اﺳﺖ‬ ‫ﻦ‬‫ی‬SAS‫ﺑﻪ‬ ‫ﺷﻮﻧﺪ‬ ‫ﻇﺎﻫﺮ‬‫ﺻﻮرت‬Y1‐Y5‫ﻧﻮﺷﺖ‬.
‫ز‬ ‫ﻫـﺮ‬ ‫ﺑﻪ‬‫ﯾـ‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﺮ‬‫ﻣﺘﻐ‬ ‫از‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ﮐـ‬‫در‬ ‫ﻪ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫ﻓـﺎ‬ ‫دارﻧـﺪ‬ ‫وﺟـﻮد‬‫ا‬ ‫از‬ ‫رغ‬‫ﯾ‬‫ﻨ‬‫ﮑـ‬‫ﻋـﺪد‬ ‫ﻪ‬‫ی‬‫ﻫﺴـﺘﻨﺪ‬‫ﯾـ‬‫ﺎ‬
‫ﻧﻮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﻣ‬ ،‫ﯽ‬‫ﺑﺎ‬ ‫ﺗﻮان‬‫اﺗﺼﺎل‬‫آن‬ ‫آﺧﺮ‬ ‫ﻧﺎم‬ ‫و‬ ‫اول‬ ‫ﻧﺎم‬‫ﺧﻂ‬ ‫دو‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬)--(‫ارﺟﺎع‬‫داد‬.‫ﻣـﯽ‬ ‫ﻣﺜﺎل‬ ‫ﺑﺮای‬‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ﺗـﻮان‬
W،X،Y‫و‬ ،Z‫ﺑﻪ‬‫ﺻﻮرت‬W‐‐Z‫داد‬ ‫ارﺟﺎع‬.‫دﻧﺒﺎﻟـﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﻪ‬ ‫ارﺟﺎع‬‫ﻣﺜـﻞ‬ ‫ای‬X1،X2،X3،X4‫و‬ ،X5‫ﯾـﮏ‬ ‫ﺑـﺎ‬
‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫و‬ ‫ﺧﻂ‬X1‐X5‫ﻣﯽ‬ ‫اﻧﺠﺎم‬‫ﺷﻮد‬.
‫ﻣﺸﺨﺺ‬ ‫ﺑﺮای‬‫وا‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﮐﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎﯾﯽ‬ ‫ﮐﺮدن‬‫ژ‬‫ه‬‫ﻣﯽ‬ ‫ﺷﺮوع‬ ‫ﺧﺎص‬ ‫ی‬‫ﺷﮑﻞ‬ ‫از‬ ‫ﺷﻮﻧﺪ‬word:‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬.‫ﻣﺜﺎل‬ ‫ﺑﺮای‬،
zar:‫ﮐﻨﻨﺪه‬ ‫ﻣﺸﺨﺺ‬‫آن‬ ‫ﻧﺎم‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫ﻣﺘﻐﯿﺮﻫﺎﯾﯽ‬ ‫ﻓﻬﺮﺳﺖ‬ ‫ی‬‫ﺑﺎ‬ ‫ﻫﺎ‬zar‫ﻣﯽ‬ ‫ﺷﺮوع‬‫ﺷﻮد‬.
‫ﺑﻪ‬‫ﻫﻤﻪ‬ ‫ﺑﻪ‬ ‫ارﺟﺎع‬ ‫ﺑﺮای‬ ‫ﻋﻼوه‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﯾـﮏ‬ ‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ی‬‫داده‬ ‫ی‬‫ﻋﺒـﺎرت‬ ‫از‬ ‫ﻫـﺎ‬_ALL_‫از‬ ‫ﻋـﺪدی‬ ‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ﺑـﺮای‬ ،
_NUMERIC_‫ﻧﻮﯾﺴﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺮای‬ ‫و‬‫از‬ ‫ای‬_CHAR_‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬.
۱۰
‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬SAS
‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬SAS‫دﺳﺘﻮرﻫﺎ‬‫ﯾﯽ‬‫ﻫﺴﺘﻨﺪ‬‫ﮐ‬‫ﻪ‬‫ﮐـ‬‫آن‬ ‫ﺗﻮﺳـﻂ‬ ‫ﺎرﺑﺮ‬‫ﺳـﺎﻣﺎﻧﻪ‬ ‫ﺑـﻪ‬ ‫ﻫـﺎ‬‫ی‬SAS‫ﻋﻤﻠ‬ ‫ﻓﺮﻣـﺎن‬‫ﯿـ‬‫ﺎﺗ‬‫ﯽ‬‫ﻣـ‬‫ﯽ‬‫دﻫـﺪ‬.ً‫ﻻ‬‫ﻣﻌﻤـﻮ‬
‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬SAS‫ﺑﺎ‬‫ﯾ‬‫ﮏ‬‫ﮐ‬‫ﻠ‬‫ﯿ‬‫ﺪ‬‫ﻣ‬ ‫ﺷﺮوع‬ ‫واژه‬‫ﯽ‬‫ﺷﻮد‬.‫ا‬ ‫در‬‫ﯾ‬‫ﻦ‬‫ﮐ‬‫ﺘﺎب‬‫ﮐ‬‫ﻠ‬‫ﯿ‬‫ﺪواژه‬‫ﺣﺮف‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬‫ﻫﺎ‬‫ی‬‫ﺳـ‬ ‫و‬ ‫ﺑـﺰرگ‬‫ﯿ‬‫ﺎه‬‫ﻧﺸـﺎن‬ ‫ﺷـﺪه‬
‫ﻣ‬ ‫داده‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫ﮐ‬‫ﻠﻤﻪ‬‫ﺣﺮف‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬‫ﻫﺎ‬‫ی‬‫ﮐ‬‫ﻮﭼ‬‫ﮏ‬‫ﻋﺒﺎرت‬ ‫در‬‫ﻫﺎ‬‫ی‬SAS‫ﻋﻤﻮﻣ‬ ‫ﺻﻮرت‬ ،‫ﯽ‬‫را‬ ‫ﻋﺒﺎرت‬‫ﻣ‬ ‫ﻧﺸﺎن‬‫ﯽ‬‫دﻫﻨﺪ‬.
ً‫ﻼ‬‫ﻣﺜ‬‫ﻋﻤﻮﻣ‬ ‫ﺻﻮرت‬‫ﯽ‬‫ﻋﺒﺎرت‬KEEP‫ز‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯾ‬‫اﺳﺖ‬ ‫ﺮ‬:
KEEP Var1-Vark;
‫ﺑﺎﻻ‬ ‫ﻋﺒﺎرت‬ ‫در‬KEEP‫ﯾـ‬‫ﮏ‬‫ﮐ‬‫ﻠ‬‫ﯿـ‬‫ﺪ‬‫و‬ ‫اﺳـﺖ‬ ‫واژه‬‫ﻣﺘﻐ‬ ‫ﻧـﺎم‬ ‫آن‬ ‫از‬ ‫ﭘـﺲ‬‫ﯿ‬‫ﺮﻫـﺎ‬)k‫ﻣﺘﻐ‬‫ﯿـ‬‫ﺮ‬(‫اﺳـﺖ‬ ‫ﺷـﺪه‬ ‫آورده‬.‫ا‬‫ﯾـ‬‫ﻋﺒـﺎرت‬ ‫ﻦ‬
‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬VAR1‫ﺗﺎ‬VARk‫در‬ ‫را‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﺣﻔﻆ‬‫ﮐ‬‫ﺑﻘ‬ ‫و‬ ‫ﺮده‬‫ﯿ‬‫ﻣ‬ ‫ﺣﺬف‬ ‫را‬ ‫ﻪ‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.
‫ﻋﺒﺎ‬ ‫در‬‫رت‬‫ﻫﺎ‬‫ی‬SAS‫ی‬‫ﮐ‬‫ا‬ ‫از‬ ‫ﻪ‬‫ﯾ‬‫ﻣﻌﺮﻓ‬ ‫ﭘﺲ‬ ‫ﻦ‬‫ﯽ‬‫ﻣ‬‫ﯽ‬‫ﮔﺰ‬ ،‫ﺷﻮﻧﺪ‬‫ﯾ‬‫ﻨﻪ‬‫زاو‬ ‫دو‬ ‫داﺧﻞ‬ ‫ﻫﺎ‬‫ﯾ‬‫ﻪ‬><‫ﻣ‬ ‫داده‬ ‫ﻗﺮار‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫اﺳﺘﻔﺎده‬
‫ﮔﺰ‬ ‫از‬‫ﯾ‬‫ﻨﻪ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻫﺎ‬‫ﻫﺎ‬‫ی‬SAS‫اﺧﺘ‬‫ﯿ‬‫ﺎر‬‫ی‬‫اﺳﺖ‬.‫ا‬‫ﯾ‬‫ﺷ‬ ‫ﻦ‬‫ﯿ‬‫ﻮه‬‫ا‬‫ی‬‫اﺳﺖ‬‫ﮐ‬‫در‬ ‫ﻪ‬‫ﮐ‬‫ﺘـﺎب‬‫ﻫـﺎ‬‫ی‬‫راﻫﻨﻤـﺎ‬‫ی‬SAS‫ﺑـﻪ‬‫ﮐـ‬‫ﮔﺮﻓﺘـﻪ‬ ‫ﺎر‬
‫اﺳﺖ‬ ‫ﺷﺪه‬.‫ﮔﺰ‬ ‫از‬ ‫ﻣﺜﺎل‬ ‫ﭼﻨﺪ‬‫ﯾ‬‫ﻨﻪ‬‫ﻣ‬ ‫آورده‬ ‫دﻧﺒﺎل‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬:
OUTPUT <data-set-name(s)>;
FILENAME fileref <device-type> <options>
<operating-environment-options>;
‫ﺷ‬‫ﮑ‬‫دﺳﺘﻮر‬ ‫ﻞ‬‫ی‬‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬SAS
‫ﺑﺮا‬ ‫ﻗﺎﻋﺪه‬ ‫ﭼﻨﺪ‬‫ی‬‫ﻋﺒﺎرت‬ ‫ﻧﻮﺷﺘﻦ‬‫ﻫﺎ‬‫ی‬SAS‫ﻋﺒﺎرت‬‫از‬ ‫اﻧﺪ‬:
۱-‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬SAS‫ﻣ‬ ‫ﺳﺘﻮن‬ ‫ﻫﺮ‬ ‫از‬‫ﯽ‬‫ﺗﻮاﻧﻨﺪ‬‫ﺷﺮوع‬‫ﺳﺘﻮن‬ ‫ﻫﺮ‬ ‫در‬ ‫و‬ ‫ﺷﺪه‬‫ﺧﺎﺗﻤﻪ‬‫ﯾ‬‫ﺎﺑ‬‫ﻨ‬‫ﺪ‬. 
۲-‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬SAS‫ﺑﺎ‬‫ﯾ‬‫ﮏ‬‫واو‬ ‫ﻧﻘﻄﻪ‬‫ک‬);(‫ﻣ‬ ‫ﺧﺎﺗﻤﻪ‬‫ﯽ‬‫ﯾ‬‫ﺎﺑﻨﺪ‬. 
۳-‫ﺑ‬‫ﯿ‬‫از‬ ‫ﺶ‬‫ﯾ‬‫ﮏ‬‫ﻣ‬ ‫ﻋﺒﺎرت‬‫ﯽ‬‫در‬ ‫ﺗﻮاﻧﻨﺪ‬‫ﯾ‬‫ﮏ‬‫ﺷﻮﻧﺪ‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﺳﻄﺮ‬. 
۴-‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬SAS‫ﻣ‬‫ﯽ‬‫ﺳﺘﻮﻧ‬ ‫ﻫﺮ‬ ‫از‬ ‫ﺗﻮاﻧﻨﺪ‬‫ﯽ‬‫در‬‫ﯾ‬‫ﮏ‬‫اداﻣﻪ‬ ‫ﺳﻄﺮ‬ ‫ﭼﻨﺪ‬ ‫در‬ ‫و‬ ‫ﺷﺪه‬ ‫ﺷﺮوع‬ ‫ﺳﻄﺮ‬‫ﯾ‬‫ﺎﺑﻨﺪ‬. 
۵-‫اﺟﺰا‬‫ی‬‫ﯾ‬‫ﮏ‬‫ﻋﺒﺎرت‬SAS‫ﺑﺎ‬‫ﯾ‬‫ﺣﺪاﻗﻞ‬ ‫ﺑﺎ‬ ‫ﺪ‬‫ﯾ‬‫ﮏ‬‫ﺷﻮﻧﺪ‬ ‫ﺟﺪا‬ ‫ﻫﻢ‬ ‫از‬ ‫ﻓﺎﺻﻠﻪ‬.‫اﺟـﺰا‬ ‫اﮔـﺮ‬‫ی‬‫ﯾـ‬‫ﮏ‬‫ﻧﻤﺎ‬ ‫ﺑـﺎ‬ ‫ﻋﺒـﺎرت‬‫دﻫـﺎ‬‫ﯾﯽ‬
‫ﻣﺜﻞ‬+،-،*،/‫و‬ ،‫ﯾ‬‫ﺎ‬=‫ﺑ‬ ‫ﻓﺎﺻﻠﻪ‬ ‫ﮔﺬاﺷﺘﻦ‬ ،‫ﺷﻮﻧﺪ‬ ‫ﻣﺮﺗﺒﻂ‬ ‫ﺑﻬﻢ‬‫ﯿ‬‫اﻟﺰاﻣ‬ ‫آن‬ ‫ﻦ‬‫ﯽ‬‫ﻧ‬‫ﯿ‬‫ﺴﺖ‬.ً‫ﻼ‬‫ﻣﺜ‬‫ﺻﻮرت‬ ‫ﺗﻤﺎم‬‫ﻫﺎ‬‫ی‬x=y،
x  =  y،x=   y‫و‬ ،x  =y‫ﻫﺴﺘﻨﺪ‬ ‫ﻗﺒﻮل‬ ‫ﻗﺎﺑﻞ‬. 
۱۱
۶-‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬SAS‫ﺣﺮف‬ ‫ﺑﻪ‬ ‫ﻧﺴﺒﺖ‬‫ﻧﯿﺴﺖ‬ ‫ﺣﺴﺎس‬ ‫ﮐﻮﭼﮏ‬ ‫و‬ ‫ﺑﺰرگ‬ ‫ﻫﺎی‬.‫ﺑﺎﻻ‬ ‫دﺳﺘﻮری‬ ‫ﺷﮑﻞ‬ ‫در‬ ‫ﻣﺜﺎل‬ ‫ﺑﺮای‬‫ﻋﻤﻞ‬‫ﮔﺮ‬
OUTPUT،output‫و‬ ،Output‫اﺳﺖ‬ ‫ﯾﮑﺴﺎن‬. 
‫داده‬‫ﻫﺎ‬‫ی‬‫ﮔﻢ‬‫ﺷﺪه‬
‫ﮔﻢ‬ ‫ﻣﻘﺪار‬‫ﺧﻂ‬ ‫در‬ ‫ﺷﺪه‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ورود‬‫ی‬‫ﺑﺎ‬‫ﯾ‬‫ﮏ‬‫و‬ ‫ﻓﺎﺻﻠﻪ‬‫ﯾ‬‫ﺎ‬‫ﯾ‬‫ﮏ‬‫ﻣ‬ ‫ﻣﺸﺨﺺ‬ ‫ﻧﻘﻄﻪ‬‫ﯽ‬‫ﺷـﻮد‬.‫داده‬‫ی‬‫ﻋـﺪدی‬‫ﮔـﻢ‬‫در‬ ‫ﺷـﺪه‬
‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﺑ‬‫ﺎ‬‫ﯾ‬‫ﮏ‬‫ﻣ‬ ‫داده‬ ‫ﻧﺸﺎن‬ ‫ﻧﻘﻄﻪ‬‫ﯽ‬‫ﺷﻮد‬.‫ﻧﻮ‬ ‫ﻣﻘﺪار‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﮔـﻢ‬‫ﺧـﻂ‬ ‫در‬ ‫ﺷـﺪه‬‫ﻫـﺎ‬‫ی‬‫ورود‬‫ی‬‫ﻓﺎﺻـﻠﻪ‬ ‫ﺑـﺎ‬
‫ﻣ‬ ‫ﻣﺸﺨﺺ‬‫ﯽ‬‫ﺷﻮد‬.
‫داده‬‫ی‬‫ﮔﻢ‬‫ﻣ‬ ‫ﺷﺪه‬‫ﯽ‬‫ﺗ‬‫در‬ ‫ﻮاﻧﺪ‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﻫﺎ‬‫ی‬‫ﻣﻘﺎ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﺷﻮد‬ ‫اﺳﺘﻔﺎده‬.‫ﺑﺮا‬‫ی‬،‫ﻣﺜﺎل‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﻣﻘﺎ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ز‬‫ﯾـ‬‫ﺑﺮرﺳـ‬ ‫ﺮ‬‫ﯽ‬‫ﻣـ‬‫ﯽ‬‫ﮐ‬‫ﻨـﺪ‬
‫ﮐ‬‫اﮔﺮ‬ ‫ﻪ‬‫ﻣﻘﺪار‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮ‬age‫ﻣﺸﺎﻫﺪه‬ ‫ﻫﺮ‬ ‫ﺑﺮای‬‫ﮔﻢ‬‫ﺑﺎﺷﺪ‬ ‫ﺷﺪه‬‫ﻣﺸﺎﻫﺪه‬ ‫آن‬ ،‫از‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺷﻮد‬ ‫ﺣﺬف‬.
IF age = . THEN DELETE;
۱-۴‫ﮔﺎم‬‫ﻫﺎ‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬‫ا‬‫ی‬SAS
۱-۴-۱‫ﮔﺎم‬DATA
‫ﮔﺎم‬ ‫در‬DATA‫ﻣ‬‫ﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ی‬‫ﮐ‬‫ﺗﺤﻠ‬ ‫ﻣﻨﺎﺳﺐ‬ ‫ﻪ‬‫ﯿ‬‫ﻞ‬‫ﻫﺎ‬‫ی‬‫آﻣﺎر‬‫ی‬‫ﮔﺎم‬ ‫و‬ ‫اﺳﺖ‬PROC‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬ ‫آن‬ ‫از‬‫ﮐﻨـﺪ‬،
‫ز‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯾ‬‫ا‬ ‫ﺮ‬‫ﯾ‬‫ﻣ‬ ‫ﺠﺎد‬‫ﯽ‬‫ﺷﻮد‬.
۱-‫ﺑﺮا‬‫ی‬‫ﮔﺎم‬ ‫ﺷﺮوع‬DATA‫ﻋﺒﺎرت‬ ‫از‬DATA‫ﻧـﺎﻣ‬ ‫و‬‫ﯽ‬‫ﺑـﺮا‬‫ی‬‫ﻣـ‬ ‫اﺳـﺘﻔﺎده‬ ‫آن‬‫ﯽ‬‫ﺷـﻮد‬.‫ﻧـﺎم‬‫ﮔـﺬار‬‫ی‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬
‫اﺧﺘ‬‫ﯿ‬‫ﺎر‬‫ی‬‫اﺳﺖ‬. 
۲-‫از‬‫ﯾ‬‫ﮑ‬‫ﯽ‬‫ﻋﺒﺎرت‬ ‫از‬‫ﻫﺎ‬‫ی‬INPUT،SET،MERGE،‫ﯾ‬‫ﺎ‬UPDATE‫ﺑﺮا‬‫ی‬‫ﻣﺸﺨﺺ‬‫ﺳـﺎز‬‫ی‬‫ﻣ‬‫ﮑـ‬‫اﻃﻼﻋـﺎﺗ‬ ‫و‬ ‫ﺎن‬‫ﯽ‬‫ﮐـ‬‫در‬ ‫ﻪ‬
‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﻣ‬ ‫اﺳﺘﻔﺎده‬ ،‫اﺳﺖ‬‫ﯽ‬‫ﺷﻮد‬. 
۳-‫داده‬ ‫اﺻﻼح‬‫ا‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫ﻫﺎ‬‫ﯾ‬‫ﻨ‬‫ﮑ‬‫ﺑﻪ‬ ‫ﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺷﻮﻧﺪ‬ ‫وارد‬.‫ا‬‫ﯾ‬‫ﻦ‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ ‫ﺎر‬‫ﻫﺎ‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬‫ا‬‫ی‬‫ﮐ‬‫ﺗﻮﺳـﻂ‬ ‫ﻪ‬‫ﮐـﺎرﺑﺮ‬
‫ﻧﻮﺷﺘﻪ‬‫ﻣ‬‫ﯽ‬‫ﻣ‬ ‫اﻧﺠﺎم‬ ،‫ﺷﻮد‬‫ﯽ‬‫ﮔ‬‫ﯿ‬‫ﺮد‬. 
‫ﮔﺎم‬DATA‫ﮔﺮوﻫ‬ ‫ﺷﺎﻣﻞ‬‫ﯽ‬‫ﻋﺒﺎرت‬ ‫از‬‫اﺳﺖ‬ ‫ﻫﺎ‬‫ﮐ‬‫ﺑﺎ‬ ‫ﻪ‬‫ز‬ ‫ﻋﺒﺎرت‬‫ﯾ‬‫ﻣ‬ ‫ﺷﺮوع‬ ‫ﺮ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.
DATA < ‫ﻧﺎم‬‫ﻫﺎ‬ >;
۱۲
۱-۴-۲‫ﮔﺎم‬PROC
‫ﺗﺤﻠ‬‫ﯿ‬‫ﻞ‬‫آ‬‫ﻣﺎر‬‫ی‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﺑﺎ‬‫ﺷﯿﻮه‬‫ﻫﺎ‬‫ی‬‫در‬ ‫ﻣﻮﺟﻮد‬SAS‫ﻣ‬ ‫ﺻﻮرت‬‫ﯽ‬‫ﮔ‬‫ﯿ‬‫ﺮد‬.‫ا‬‫ﯾ‬‫ﻦ‬‫ﺷﯿﻮه‬‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬PROC
‫ﮐ‬‫ﻪ‬‫ﮐ‬‫ﻮﺗﻪ‬‫ﻧ‬‫ﻮ‬‫ﺷﺘﻪ‬‫ی‬Procedure‫ﻓﺮاﺧﻮاﻧ‬ ‫اﺳﺖ‬‫ﯽ‬‫ﻣ‬ ‫اﺟﺮا‬ ‫و‬‫ﯽ‬‫ﺷﻮد‬.‫ﮔﺎم‬PROC‫ﮔﺮوﻫ‬ ‫ﺷﺎﻣﻞ‬‫ﯽ‬‫ﻋﺒﺎرت‬ ‫از‬‫اﺳـﺖ‬ ‫ﻫـﺎ‬‫ﮐـ‬‫ﺑـﺎ‬ ‫ﻪ‬
‫ﻋﺒﺎرت‬‫ز‬‫ﯾ‬‫ﻣ‬ ‫ﺷﺮوع‬ ‫ﺮ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.
PROC ‫ﻧﺎم‬‫ﺷﯿﻮه‬ ;
۱-۵‫ﮔﺎم‬DATA
‫ـﻪ‬‫ـ‬‫ﻣﺠﻤﻮﻋ‬ ‫ـﺎد‬‫ـ‬‫اﯾﺠ‬ ‫ـﺮای‬‫ـ‬‫ﺑ‬‫داده‬ ‫ی‬‫ـﺎی‬‫ـ‬‫ﻫ‬SAS‫ـﺎ‬‫ـ‬‫ﻣﺘﻐﯿﺮﻫ‬ ‫ـﺮدن‬‫ـ‬‫ﮐ‬ ‫ـﻼح‬‫ـ‬‫اﺻ‬ ،‫ـﺎﻫﺪه‬‫ـ‬‫ﻣﺸ‬ ‫و‬،‫ـﺎ‬‫ـ‬‫ﻫ‬‫ـﺎﺧﺘﻦ‬‫ـ‬‫ﺳ‬ ،‫ـﺪ‬‫ـ‬‫ﺟﺪﯾ‬ ‫ـﺮ‬‫ـ‬‫ﻣﺘﻐﯿ‬ ‫ـﺎﺧﺘﻦ‬‫ـ‬‫ﺳ‬
‫زﯾﺮﻣﺠﻤﻮﻋﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫از‬ ‫ای‬‫داده‬ ‫ی‬‫و‬ ‫ورودی‬ ‫ﻫﺎی‬...‫از‬‫ﮔﺎم‬DATA‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬‫ﺷـﻮد‬.‫ﮔـﺎم‬DATA‫ﻋﺒـﺎرت‬ ‫ﺑـﺎ‬DATA
‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ ‫و‬ ‫ﺷﺪه‬ ‫ﺷﺮوع‬DATALINES‫ﯾﺎ‬CARDS‫ﻣﯽ‬ ‫ﺧﺎﺗﻤﻪ‬‫ﯾﺎﺑﺪ‬.ً‫ﻼ‬‫ﻣﺜ‬‫ﻣﻘﺎﯾﺴﻪ‬ ‫ﻋﺒﺎرت‬‫ای‬
IF exp < 1.0 and ostan = 'TEH';
‫زﯾﺮ‬‫ﻣﺠﻤﻮﻋﻪ‬‫ﻣﺸﺎﻫﺪه‬ ‫از‬ ‫ای‬‫ﻫﺎ‬‫را‬‫ﻣﯽ‬ ‫اﯾﺠﺎد‬‫ﮐﻨﺪ‬.
‫ﻣﺜﺎل‬۱-۱‫ﯾﮏ‬ ‫زﯾﺮ‬ ‫در‬‫ﮔﺎم‬DATA‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬ ‫اﯾﺠﺎد‬ ‫ﺑﺮای‬ ‫ﺳﺎده‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻧﻮﺷﺘﻪ‬:
DATA exam;
INPUT id 1-2 gender $ midterm 6-8 final 9-11 hw 2.1;
DATALINES;
11 M 85 91 21
6 F 54 60 20
8 F 60 65 22
19 M 70 72 25
28 M 65 60 22
12 F 90 92 27
30 M 80 85 28
26 F 77 80 26
;
RUN;
PROC PRINT;
RUN;
۱۳
‫ﮔﺎم‬DATA‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﺎﻻ‬ ‫ی‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬ ‫ﻣﻮﻗﺘﯽ‬exam‫ﻣـﯽ‬ ‫اﯾﺠـﺎد‬‫ﮐﻨـﺪ‬.‫ﻋﺒـﺎرت‬DATA‫ﻧـﺎم‬exam‫ﺑـﻪ‬ ‫را‬
‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻣﯽ‬ ‫ﻣﻨﺘﺴﺐ‬ ‫ﺷﺪه‬ ‫اﯾﺠﺎد‬ ‫ﻫﺎی‬‫ﮐﻨﺪ‬.‫ﻋﺒﺎرت‬INPUT‫اﻃﻼع‬ ‫دو‬‫اراﺋﻪ‬‫ﻣـﯽ‬‫ﮐﻨـﺪ‬:‫ﻣﻮﻗﻌﯿـﺖ‬ ‫و‬ ‫ﻣﺘﻐﯿﺮﻫـﺎ‬ ‫ﻧـﺎم‬
‫ﺧ‬ ‫در‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻣﻘﺪار‬‫ﻂ‬‫ﻫﺎی‬‫داده‬‫ای‬.‫ﻣﯽ‬ ‫ﻣﻼﺣﻈﻪ‬‫ﻧﻘﻄﻪ‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫و‬ ‫ﺷﺮوع‬ ‫ﮐﻠﯿﺪواژه‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﻋﺒﺎرت‬ ‫ﻫﺮ‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬‫واوک‬);(
‫ﻣﯽ‬ ‫ﺧﺎﺗﻤﻪ‬‫ﯾﺎﺑﺪ‬.‫از‬ ‫ﻗﺒﻞ‬ ‫ﻋﺒﺎرت‬RUN‫ﯾﻌﻨﯽ‬";"‫ﻣﯽ‬ ‫ﻧﺎﻣﯿﺪه‬ ‫ﭘﻮچ‬ ‫ﻋﺒﺎرت‬‫ﺷـﻮد‬ ‫آورده‬ ‫ﺟـﺪا‬ ‫ﺳـﻄﺮ‬ ‫ﯾـﮏ‬ ‫در‬ ‫ﺑﺎﯾـﺪ‬ ‫و‬ ‫ﺷﻮد‬.
‫ﻋﺒﺎرت‬ ‫اﮔﺮ‬";"‫ﻣﻘﺪار‬ ‫از‬ ‫ﺑﻌﺪ‬۲۶‫ﺻﻮرت‬ ‫ﺑﻪ‬26;،‫ﺷﻮد‬ ‫آورده‬SAS‫آن‬‫ﻣـﯽ‬ ‫ﻣﺘﻮﻗﻒ‬ ‫را‬ ‫ﭘﺮدازش‬ ‫و‬ ‫ﮔﺮﻓﺘﻪ‬ ‫ﺧﻄﺎ‬ ‫را‬‫ﮐﻨـﺪ‬.
‫ﻋﺒﺎرت‬ ‫آوردن‬RUN;‫ﮔﺎم‬ ‫ﻫﺮ‬ ‫اﻧﺘﻬﺎی‬ ‫در‬‫از‬SAS‫ﻣـﯽ‬‫ﻋﺒـﺎرت‬ ‫ﮐـﻪ‬ ‫ﺧﻮاﻫـﺪ‬‫ﺑـﺎﻻی‬ ‫ﻫـﺎی‬RUN‫ﺷـﻮد‬ ‫اﺟـﺮا‬ ،.‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻫـﺮ‬
‫ﻣ‬‫ﯽ‬‫ﻋﺒﺎرت‬ ‫ﯾﮏ‬ ‫ﺷﺎﻣﻞ‬ ‫ﻓﻘﻂ‬ ‫ﺗﻮاﻧﺪ‬RUN‫ﻋﺒﺎرت‬ ‫ﭼﻨﺪ‬ ‫ﺷﺎﻣﻞ‬ ‫ﯾﺎ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﻧﺘﻬﺎی‬ ‫در‬RUN.‫ﻣـﯽ‬ ‫ﺗﻮﺻـﯿﻪ‬‫ﮐـﻪ‬ ‫ﺷـﻮد‬
‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮔﺎم‬ ‫ﻫﺮ‬ ‫از‬ ‫ﺑﻌﺪ‬‫ﻋﺒﺎرت‬ ‫ای‬RUN‫ﺷﻮد‬ ‫ﻧﻮﺷﺘﻪ‬.
‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﺟﺮای‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬ ‫ﺑﺎﻻ‬ ‫ی‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬exam‫ﻣﯽ‬‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﺳﺎزد‬‫ی‬work‫ﻧﺮم‬‫اﻓﺰار‬SAS‫ﺑـﻪ‬
‫ذﺧﯿ‬ ‫ﺧﻮدﮐﺎر‬ ‫ﻃﻮر‬‫ﻣﯽ‬ ‫ﺮه‬‫ﺷﻮد‬.‫ﻣﺠﻤﻮﻋﻪ‬ ‫اﯾﻦ‬‫داده‬ ‫ی‬‫ﻣﺤﯿﻂ‬ ‫در‬ ‫ﮐﺎرﺑﺮ‬ ‫ﮐﻪ‬ ‫وﻗﺘﯽ‬ ‫ﺗﺎ‬ ‫ﻫﺎ‬SAS‫ﻣﯽ‬ ‫دﺳﺘﺮس‬ ‫ﻗﺎﺑﻞ‬ ،‫اﺳﺖ‬‫ﺑﺎﺷـﺪ‬.
‫ﻧﺮم‬ ‫از‬ ‫ﺧﺮوج‬ ‫ﺑﺎ‬ ‫وﻟﯽ‬‫اﻓﺰار‬SAS‫ﻣﺠﻤﻮﻋﻪ‬ ‫اﯾﻦ‬ ،‫داده‬ ‫ی‬‫ﻣﯽ‬ ‫ﭘﺎک‬ ‫ﺧﻮدﮐﺎر‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫ﺷﻮد‬.‫ﻣﺠﻤﻮﻋـﻪ‬ ‫اﯾﻦ‬ ‫دﻟﯿﻞ‬ ‫ﻫﻤﯿﻦ‬ ‫ﺑﻪ‬‫ی‬
‫داده‬‫ﻣﯽ‬ ‫ﻣﻮﻗﺘﯽ‬ ‫را‬ ‫ﻫﺎ‬‫ﮔﻮﯾﻨﺪ‬.
‫ﮔﺰﯾﻨﻪ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻫﺎی‬‫داده‬ ‫ی‬‫ﻫﺎ‬
‫از‬‫ﮔﺰﯾﻨﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻫﺎی‬‫داده‬ ‫ی‬‫ﻣﯽ‬ ‫ﻫﺎ‬‫داده‬ ‫ﭘﺮدازش‬ ‫ﺑﺮای‬ ‫ﺗﻮاﻧﯿﺪ‬‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻫﺎ‬.‫ﮔﺰﯾﻨـﻪ‬ ‫اﯾـﻦ‬،‫ﭘﺮاﻧﺘـﺰ‬ ‫ﻋﻼﻣـﺖ‬ ‫دو‬ ‫ﺑـﯿﻦ‬ ‫ﻫﺎ‬
‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻧﺎم‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫ﺑﻼﻓﺎﺻﻠﻪ‬‫داده‬ ‫ی‬‫ﻣﯽ‬ ‫ﻗﺮار‬ ‫ﻫﺎ‬‫ﮔﯿﺮﻧﺪ‬.‫ﮔﺰﯾﻨـﻪ‬ ‫اﯾـﻦ‬‫ﮔـﺎم‬ ‫در‬ ‫را‬ ‫ﻫﺎ‬DATA‫ﮔـﺎم‬ ‫و‬PROC‫ﻣﯽ‬‫ﻣـﻮرد‬ ‫ﺗـﻮان‬
‫داد‬ ‫ﻗﺮار‬ ‫اﺳﺘﻔﺎده‬.‫ﮔﺰﯾﻨﻪ‬ ‫اﯾﻦ‬ ‫از‬ ‫ﺑﺮﺧﯽ‬‫ﺟﺪول‬ ‫در‬ ‫ﻫﺎ‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻓﻬﺮﺳﺖ‬ ‫زﯾﺮ‬.‫ﻣﯽ‬ ‫ﺷﻤﺎ‬‫ﺑـﺮای‬ ‫را‬ ‫ﮔﺰﯾﻨﻪ‬ ‫ﭼﻨﺪ‬ ‫ﯾﺎ‬ ‫ﯾﮏ‬ ‫ﺗﻮاﻧﯿﺪ‬
‫دﻫﯿﺪ‬ ‫ﻗﺮار‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬ ‫ﺗﺮﮐﯿﺒﯽ‬ ‫اﺛﺮﻫﺎی‬ ‫ﺑﻪ‬ ‫رﺳﯿﺪن‬.
‫ﮔﺰﯾﻨﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ی‬‫ی‬
‫داده‬
‫ﻣﺜﺎل‬‫ﺷﺮح‬
(DROP =) (DROP =A B)‫ﻣﺘﻐﯿﺮﻫﺎی‬A‫و‬B‫ﻣﺠﻤﻮﻋﻪ‬ ‫از‬ ‫را‬‫داده‬ ‫ی‬‫ﻣﯽ‬ ‫ﺣﺬف‬ ‫ﻫﺎ‬‫ﮐﻨﺪ‬.
(FIRSTOBS =) (FIRSTOBS = 5)‫داده‬ ‫ﺧﻮاﻧﺪن‬‫را‬ ‫ﻫﺎ‬‫ﻣﺸـﺎﻫﺪه‬ ‫از‬‫ﻣﺸﺨﺺ‬ ‫ی‬‫ﺷـﺪه‬)۵(‫ﺷـﺮوع‬
‫ﻣﯽ‬‫ﮐﻨﺪ‬.
(IN =) (IN = DS1)‫ـﺖ‬‫ـ‬‫ﻣﻮﻗ‬ ‫ـﺮ‬‫ـ‬‫ﻣﺘﻐﯿ‬DS1‫ـﻪ‬‫ـ‬‫ﻣﺠﻤﻮﻋ‬ ‫ـﺮدن‬‫ـ‬‫ﮐ‬ ‫ـﺨﺺ‬‫ـ‬‫ﻣﺸ‬ ‫ـﺮای‬‫ـ‬‫ﺑ‬ ‫را‬‫ی‬
‫داده‬‫ﻣﯽ‬ ‫اﯾﺠﺎد‬ ‫ﻣﻨﺒﻊ‬ ‫ی‬‫ﮐﻨـﺪ‬.‫ﺻـﻮرت‬ ‫در‬ ‫ﻣﺘﻐﯿـﺮ‬ ‫اﯾـﻦ‬ ‫ﻣﻘـﺪار‬
‫ﻣﺠﻤﻮﻋـﻪ‬ ‫در‬ ‫ﻣﺸﺎﻫﺪه‬ ‫وﺟﻮد‬‫داده‬ ‫ی‬،‫ﻣﺘﻨـﺎﻇﺮ‬ ‫ی‬۱‫ﻏﯿـﺮ‬ ‫در‬ ‫و‬
۱۴
‫ﺻﻮرت‬ ‫اﯾﻦ‬۰‫اﺳﺖ‬.
(KEEP =) (KEEP = A B)‫ﻣﺘﻐﯿﺮﻫﺎی‬A‫و‬B‫را‬‫ﻣﯽ‬ ‫ﺣﻔﻆ‬‫ﮐﻨﺪ‬.
(OBS =) (OBS = 10)‫داده‬ ‫ـــﺪن‬‫ـ‬‫ﺧﻮاﻧ‬‫ـــﺎﻫﺪه‬‫ـ‬‫ﻣﺸ‬ ‫ـــﻪ‬‫ـ‬‫ﺑ‬ ‫ـــﯿﺪن‬‫ـ‬‫رﺳ‬ ‫از‬ ‫ـــﺪ‬‫ـ‬‫ﺑﻌ‬ ‫را‬ ‫ـــﺎ‬‫ـ‬‫ﻫ‬‫ی‬
‫ﻣﺸﺨﺺ‬‫ﺷﺪه‬)۱۰(‫ﻣﯽ‬ ‫ﻣﺘﻮﻗﻒ‬‫ﮐﻨﺪ‬. 
(RENAME = ()) (RENAME = (A = D))‫ﻣﺘﻐﯿﺮ‬ ‫ﻧﺎم‬A‫ﺑﻪ‬ ‫را‬D‫ﻣﯽ‬ ‫ﺗﻐﯿﯿﺮ‬‫دﻫﺪ‬.‫ﮐـﻪ‬ ‫ﺑﺎﺷﯿﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺗﻮﺟﻪ‬
‫ﮔﺰﯾﻨﻪ‬ ‫ﺳﺎﯾﺮ‬‫ﺑﺎﯾﺪ‬ ،‫ﮔﺰﯾﻨﻪ‬ ‫اﯾﻦ‬ ‫ﻫﻤﺮاه‬ ‫ﺑﻪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺻﻮرت‬ ‫در‬ ‫ﻫﺎ‬
‫ﻧﺎم‬ ‫از‬‫ﻫﺎی‬‫اوﻟﯿﻪ‬‫ﻧﺎم‬ ‫ﻧﻪ‬ ‫و‬ ،‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ی‬‫اﺳـﺘﻔﺎده‬ ،‫ﺟﺪﯾـﺪ‬ ‫ﻫـﺎی‬
‫ﮐﻨﻨﺪ‬.
(WHERE = ()) (WHERE = (A >= 10))‫ﻣﯽ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫ﻣﺸﺎﻫﺪاﺗﯽ‬ ‫ﻓﻘﻂ‬‫ﻣﺘﻐﯿـﺮ‬ ‫ﻣﻘـﺪار‬ ‫ﮐـﻪ‬ ‫ﮔﯿﺮد‬A‫در‬
‫آن‬‫ﺑﺰرگ‬ ‫ﻫﺎ‬‫ﻣﺴﺎوی‬ ‫ﯾﺎ‬ ‫ﺗﺮ‬۲۰‫ﺑﺎﺷﺪ‬.
‫ﻧﮑﺘﻪ‬:‫ﮔﺰﯾﻨﻪ‬ ‫اﯾﻦ‬ ‫ﮐﻪ‬ ‫ﺑﺎﺷﯿﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺗﻮﺟﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻫﺎ‬‫داده‬ ‫ی‬‫ﻧﻤﯽ‬ ‫ﺗﻐﯿﯿﺮ‬ ‫را‬ ‫اﺻﻠﯽ‬ ‫ﻫﺎی‬‫دﻫﻨﺪ‬.
‫اﻧﺘﺨ‬‫زﯾﺮﻣﺠﻤﻮﻋﻪ‬ ‫ﺎب‬‫داده‬ ‫از‬ ‫ای‬‫ﻫﺎ‬
‫ﻋﺒﺎرت‬ ‫از‬‫ﻫﺎی‬IF‫و‬WHERE‫ﻣﯽ‬‫زﯾﺮﻣﺠﻤﻮﻋﻪ‬ ‫ﺳﺎﺧﺘﻦ‬ ‫ﺑﺮای‬ ‫ﺗﻮاﻧﯿﺪ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫از‬ ‫ای‬‫داده‬ ‫ی‬‫ﮐﻨﯿـﺪ‬ ‫اﺳـﺘﻔﺎده‬ ‫ﻣﻮﺟـﻮد‬ ‫ﻫـﺎی‬.
‫ﺗﻔﺎوت‬‫ﭼﻪ‬ ‫ﮐﻪ‬ ‫اﯾﻦ‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬ ‫ﻋﺒﺎرت‬ ‫دو‬ ‫اﯾﻦ‬ ‫ﺑﯿﻦ‬ ‫ﻫﺎﯾﯽ‬‫ﮔﺰﯾﻨﻪ‬ ‫ﭼﻪ‬ ‫ﺑﺎ‬ ‫و‬ ‫ﻣﻮﻗﻊ‬‫ﻣﯽ‬ ‫ﻫﺎﯾﯽ‬،‫ﮔﯿﺮﻧـﺪ‬ ‫ﻗـﺮار‬ ‫اﺳـﺘﻔﺎده‬ ‫ﻣﻮرد‬ ‫ﺗﻮاﻧﻨﺪ‬
‫دارد‬ ‫ـﻮد‬‫ـ‬‫وﺟ‬.‫ـﺮط‬‫ـ‬‫ﺷ‬‫ﻫﺎی‬WHERE‫ـ‬‫ـ‬‫ﭘ‬‫داده‬ ‫ـﻪ‬‫ـ‬‫ﮐ‬ ‫ـﻦ‬‫ـ‬‫اﯾ‬ ‫از‬ ‫ﯿﺶ‬‫ﻣﯽ‬ ‫ـﺎل‬‫ـ‬‫ِﻋﻤ‬‫ا‬ ‫ـﻮﻧﺪ‬‫ـ‬‫ﺷ‬ ‫ورودی‬ ‫ـﺎﻓﺮ‬‫ـ‬‫ﺑ‬ ‫وارد‬ ‫ـﺎ‬‫ـ‬‫ﻫ‬‫ـﻪ‬‫ـ‬‫ﮐ‬ ‫ـﺎﻟﯽ‬‫ـ‬‫ﺣ‬ ‫در‬ ‫ـﻮﻧﺪ‬‫ـ‬‫ﺷ‬
‫ﺷﺮط‬‫ﻫﺎی‬IF‫داده‬ ‫ورود‬ ‫از‬ ‫ﭘﺲ‬‫داده‬ ‫ﺑﺮدار‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻫـﺎی‬(PDV)‫ﻣﯽ‬ ‫ِﻋﻤـﺎل‬‫ا‬‫ﺷـﻮﻧﺪ‬.‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﺑـﺮای‬‫داده‬ ‫ﻫﺎی‬‫ﻫـﺎی‬
‫ﻋﺒﺎرت‬ ،‫ﺑﺰرگ‬WHERE‫داده‬ ‫ﮐـﻪ‬ ‫آن‬ ‫از‬ ‫ﭘـﯿﺶ‬ ‫زﯾﺮا‬ ،‫اﺳﺖ‬ ‫ﮐﺎراﺗﺮ‬‫وارد‬ ‫ﻫـﺎ‬PDV‫ﻣﯽ‬ ‫اﺟـﺮا‬ ،‫ﺷـﻮﻧﺪ‬‫ﺷـﻮد‬.‫در‬‫ﺣﺎﻟـﺖ‬ ‫دو‬
‫ﻧﻤﯽ‬‫از‬ ‫ﺗﻮان‬WHERE‫ﮐـﺮد‬ ‫اﺳـﺘﻔﺎده‬.‫ﻋﺒـﺎرت‬WHERE‫ﻣﺠﻤﻮﻋـﻪ‬ ‫در‬ ‫ﻣﻮﺟـﻮد‬ ‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ﺑـﺎ‬ ‫ﺗﻨﻬـﺎ‬‫داده‬ ‫ی‬‫ورودی‬ ‫ﻫـﺎی‬
‫ﻣﯽ‬‫داد‬ ‫ﻗـﺮار‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬ ‫ﺗﻮان‬.‫ﺷـﺮط‬ ‫اﮔـﺮ‬‫ﻫﺎی‬WHERE‫ﮔـﺎم‬ ‫در‬ ‫ﮐـﻪ‬ ‫ﻣﺘﻐﯿﺮﻫـﺎﯾﯽ‬ ‫ﺷـﺎﻣﻞ‬DATA‫ﺷـﺪه‬ ‫اﯾﺠـﺎد‬‫ﯾـﺎ‬ ‫اﻧﺪ‬
‫ﻣﺎﻧﻨﺪ‬ ‫ﻣﻮﻗﺘﯽ‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬_N_‫ﺧﻮاﻫ‬ ‫ﻣﻮاﺟـﻪ‬ ‫ﺧﻄـﺎ‬ ‫ﭘﯿﻐـﺎم‬ ‫ﯾـﮏ‬ ‫ﺑﺎ‬ ،‫ﺑﺎﺷﻨﺪ‬‫ﺷـﺪ‬ ‫ﯿـﺪ‬.‫ﺑـﻪ‬،‫ﻋﻼوه‬WHERE‫ﻧﻤﯽ‬ ‫را‬‫ﺑـﺎ‬ ‫ﺗـﻮان‬
‫ﻋﺒﺎرت‬INPUT‫ﮔﺰﯾﻨﻪ‬ ‫ﯾﺎ‬‫ﻫﺎی‬POINT=‫و‬FIRSTOBS=‫ﺑﺮد‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬.‫ﻋﺒﺎرت‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺮای‬WHERE‫ﻋﺒﺎرت‬ ‫ﯾﮏ‬ ،
SET،MERGE‫ﯾﺎ‬UPDATE‫ﮔﺎم‬ ‫در‬ ‫ﺑﺎﯾﺪ‬DATA‫ﺑﺎﺷـﺪ‬ ‫ﻣﻮﺟـﻮد‬.‫ﺗﺮﮐﯿـﺐ‬ ‫ﻫﻨﮕـﺎم‬ ‫ﮐـﻪ‬ ‫ﺑﺎﺷـﯿﺪ‬ ‫داﺷـﺘﻪ‬ ‫ﺗﻮﺟـﻪ‬ ،‫ﻫﻤﭽﻨـﯿﻦ‬
‫داده‬‫ﺷﺮط‬ ،‫ﻫﺎ‬WHERE‫ﻣﺠ‬ ‫ﺗﺮﮐﯿﺐ‬ ‫از‬ ‫ﭘﯿﺶ‬‫ﻤﻮﻋﻪ‬‫داده‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫ِﻋﻤﺎل‬‫ا‬ ‫ﻫﺎ‬‫ﺷـﺮط‬ ‫ﺧـﻼف‬ ‫ﺑﺮ‬ ‫ﺷﻮد‬IF‫ﺗﺮﮐﯿـﺐ‬ ‫از‬ ‫ﭘـﺲ‬ ‫ﮐـﻪ‬
‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫ِﻋﻤﺎل‬‫ا‬ ‫ﻫﺎ‬‫ﺷﻮد‬.
۱۵
‫ﮔﺰﯾﻨﻪ‬ ‫ﺑﯿﻦ‬ ‫ﮐﺎراﯾﯽ‬ ‫ﻧﻈﺮ‬ ‫از‬ ‫ﺗﻔﺎوﺗﯽ‬ ‫ﻫﯿﭻ‬‫ی‬WHERE‫ﻋﺒـﺎرت‬ ‫و‬WHERE‫ﻧـﺪارد‬ ‫وﺟـﻮد‬.‫ﻋﻤﻞ‬‫در‬ ‫ﺑﺴـﯿﺎری‬ ‫ﮔﺮﻫـﺎی‬SAS
‫ﻣﯽ‬ ‫ﮐﻪ‬ ‫دارد‬ ‫وﺟﻮد‬‫ﻋﺒﺎرت‬ ‫دو‬ ‫ﻫﺮ‬ ‫ﺑﺎ‬ ‫ﺗﻮاﻧﻨﺪ‬IF‫و‬WHERE‫ﺷﻮﻧﺪ‬ ‫اﺳﺘﻔﺎده‬.‫ﻋ‬ ‫ﭼﻨﺪ‬‫ﻤﻞ‬‫ﻣﯽ‬ ‫ﻓﻘـﻂ‬ ‫ﮐـﻪ‬ ‫دارد‬ ‫وﺟﻮد‬ ‫ﮔﺮ‬‫ﺗﻮاﻧﻨـﺪ‬
‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ WHERE‫ﮔﯿﺮﻧﺪ‬ ‫ﻗﺮار‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬.‫ﻋﻤﻞ‬ ‫اﯾﻦ‬‫ﻋﺒﺎرت‬ ‫ﮔﺮﻫﺎ‬‫از‬ ‫اﻧـﺪ‬:BETWEEN‐AND‫اﺻـﻼح‬ ،‫دوﻧﻘﻄـﻪ‬ ‫ﮔﺮ‬
(:)،CONTAINS‫ﯾﺎ‬?،IS NULL‫ﯾﺎ‬IS MISSING،LIKE ‘pattern’‫ﻋﻼﻣﺖ‬ ،%،‫ﻋﻼﻣﺖ‬=*‫زﯾﺮﺧﻂ‬ ‫و‬ ،(_).
‫ﻣﺜﺎل‬
DATA test;
INPUT name $ class $ score;
CARDS;
Tim Math 9
Tim History 8
Tim Science 7
Sally Math 10
Sally Science 7
Sally History 10
John Math 8
John History 8
John Science 9
RUN;
DATA grade;
SET test;
WHERE name = 'Tim' or name = 'Sally';
IF class = 'Math' THEN classnum = 1;
ELSE IF class = 'Science' THEN classnum = 2;
ELSE IF class = 'History' THEN classnum = 3;
IF classnum = 2;
RUN;
PROC PRINT DATA = grade;
RUN;
‫ﮐﻨﯿﺪ‬ ‫ﻣﯽ‬ ‫ﻣﺸﺎﻫﺪه‬ ‫زﯾﺮ‬ ‫در‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﯾﻦ‬ ‫ﺧﺮوﺟﯽ‬:
Obs name class score classnum
1 Tim Science 7 2
2 Sally Science 7 2
۱۶
۱-۵-۱‫ﻋﺒﺎرت‬‫ﮔﺎم‬ ‫ﺑﺎ‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬DATA‫ﮐﺎر‬ ‫ﺑﻪ‬‫ﻣﯽ‬‫روﻧﺪ‬
۱-۵-۱-۱‫ﻋﺒﺎرت‬INPUT
‫ﻋﺒﺎرت‬INPUT‫ﺗﺮ‬‫ﺗ‬‫ﯿ‬‫ﻣﺘﻐ‬ ‫ﮔﺮﻓﺘﻦ‬ ‫ﻗﺮار‬ ‫ﺐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﺳﻄﺮ‬ ‫ﻫﺮ‬ ‫در‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺑ‬ ‫را‬‫ﯿ‬‫ﻣ‬ ‫ﺎن‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.‫ﺳـﺎﻣﺎﻧﻪ‬‫ی‬SAS
‫اﻃﻼﻋﺎت‬ ‫از‬‫اراﺋﻪ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﺷﺪه‬INPUT‫اﺳﺘﻔﺎده‬‫ﮐ‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﺧﻮاﻧﺪن‬ ‫ﺑﺎ‬ ‫و‬ ‫ﺮده‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﺑﺮا‬‫ی‬‫ﻫﺮ‬‫ﯾ‬‫ﮏ‬‫ﻣﺘﻐ‬ ‫از‬‫ﯿ‬‫ﺮﻫﺎ‬‫ﯾﯽ‬
‫ﮐ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻪ‬INPUT‫ﺷـﺪه‬ ‫ﻓﻬﺮﺳﺖ‬‫ﻣﺸـﺎﻫﺪه‬ ،‫اﻧـﺪ‬‫در‬ ‫را‬ ‫ﻫـﺎ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫ی‬‫ﮐـ‬‫ﺗﻮﻟ‬ ‫ﻪ‬‫ﯿـ‬‫ﻣـ‬ ‫ﺪ‬‫ﯽ‬‫ا‬ ،‫ﺷـﻮد‬‫ﯾ‬‫ﺠـﺎد‬
‫ﻣ‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.
‫روش‬‫ﻫﺎ‬‫ی‬‫ﻣﺘﻌﺪد‬‫ی‬‫ﺑﺮا‬‫ی‬‫ورود‬‫ﻣﻘﺪارﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺑﺮا‬ ‫ﺮﻫﺎ‬‫ی‬‫ا‬‫ﯾ‬‫ﺠﺎد‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫دارﻧـﺪ‬ ‫وﺟـﻮد‬.‫از‬ ‫روش‬ ‫ﺳـﻪ‬
‫آن‬‫ﺗﺸﺮ‬ ‫دﻧﺒﺎل‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫ﯾ‬‫ﻣ‬ ‫ﺢ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.
INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬
‫ا‬ ‫در‬‫ﯾ‬‫روش‬ ‫ﻦ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻧﺎم‬INPUT‫ﻣﻘﺪارﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﺑﺎ‬ ‫ﺣﺪاﻗﻞ‬‫ﯾـ‬‫ﮏ‬‫از‬ ‫ﻓﺎﺻـﻠﻪ‬‫ﯾ‬‫ﮑـ‬‫ﺪ‬‫ﯾ‬‫ﻣـ‬ ‫ﺟـﺪا‬ ‫ﮕﺮ‬‫ﯽ‬‫ﺷـﻮﻧﺪ‬.
‫ﻣﺜﺎﻟ‬‫ﯽ‬‫ا‬ ‫از‬‫ﯾ‬‫از‬ ‫اﺳﺖ‬ ‫ﻋﺒﺎرت‬ ‫روش‬ ‫ﻦ‬:
INPUT age weight height;
‫ا‬ ‫در‬‫ﯾ‬،‫ﻣﺜﺎل‬ ‫ﻦ‬SAS‫اوﻟ‬‫ﯿ‬‫ﻫﺮ‬ ‫از‬ ‫ﻣﻘﺪار‬ ‫ﻦ‬‫ﺧﻂ‬‫داده‬‫اوﻟ‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻫﺎ‬‫ﯿ‬‫ﻣﺘﻐ‬ ‫ﻦ‬‫ﯿ‬،‫ﺮ‬age‫دوﻣ‬ ،‫ﯽ‬‫دوﻣـ‬ ‫ﺑﻪ‬ ‫را‬‫ﯿ‬‫ﻣﺘﻐ‬ ‫ﻦ‬‫ﯿـ‬،‫ﺮ‬weight‫و‬ ،
‫ﺳﻮﻣ‬‫ﯽ‬‫ﺳﻮﻣ‬ ‫ﺑﻪ‬ ‫را‬‫ﯿ‬‫ﻣﺘﻐ‬ ‫ﻦ‬‫ﯿ‬،‫ﺮ‬height‫ﻣ‬ ‫ﻣﻨﺘﺴﺐ‬ ،‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.‫ﻫﻨﮕﺎﻣ‬‫ﯽ‬‫ﮐ‬‫از‬ ‫ﻪ‬INPUT‫ﻓﻬﺮﺳـﺘ‬‫ﯽ‬‫اﺳـﺘ‬‫ﻣـ‬ ‫ﻔﺎده‬‫ﯽ‬‫ﻣﻘـﺪارﻫﺎ‬ ‫ﺷـﻮد‬‫ی‬
‫داده‬‫ا‬‫ی‬‫ﺧﻂ‬ ‫در‬‫ﻫﺎ‬‫ی‬‫داده‬‫ﻧ‬ ‫ﻫﺎ‬‫ﯿ‬‫ﺑﺎ‬ ‫ﺰ‬‫ﯾ‬‫ﺣﺪاﻗﻞ‬ ‫ﺑﺎ‬ ‫ﺪ‬‫ﯾ‬‫ﮏ‬‫ﺷﻮﻧﺪ‬ ‫ﺟﺪا‬ ‫ﻫﻢ‬ ‫از‬ ‫ﻓﺎﺻﻠﻪ‬.
‫از‬INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫ﻣ‬‫ﯽ‬‫ﺑﺮا‬ ‫ﻫﻢ‬ ‫ﺗﻮان‬‫ی‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﺧﻮاﻧﺪن‬‫ی‬‫ﻋﺪد‬‫ی‬‫ﻧﻮ‬ ‫ﻫﻢ‬ ‫و‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫اﺳﺘﻔﺎده‬‫ﮐ‬‫ﺮد‬.‫ﺑـﺮا‬‫ی‬‫ﻣﺸـﺨﺺ‬‫ﮐـ‬‫ﺮدن‬
‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬‫ﻧﻮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫در‬INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫ﻧﻤﺎد‬ ‫از‬$‫ﺟﻠﻮ‬ ‫در‬‫ی‬‫ﻣﺘﻐ‬ ‫ﻧﺎم‬‫ﯿ‬‫ﻣ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺮ‬‫ﯽ‬‫ﺷﻮد‬.‫ﺑﺮا‬‫ی‬‫وﻗﺘـ‬ ‫ﻣﺜـﺎل‬‫ﯽ‬INPUT
‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫ﺻﻮرت‬ ‫ﺑﻪ‬
INPUT ostan $ exp act;
،‫ﺑﺎﺷﺪ‬SAS‫ﻣ‬ ‫ﻓﺮض‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬‫ﮐ‬‫ﻣﺘﻐ‬ ‫ﻪ‬‫ﯿ‬‫ﺮ‬ostan‫ﻣﻘﺪارﻫﺎ‬ ‫ﺷﺎﻣﻞ‬‫ی‬‫ﻧﻮ‬‫ﯾ‬‫ﺴـﻪ‬‫ا‬‫ی‬‫ﻣﺘﻐ‬ ‫و‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ی‬exp‫و‬act‫ﻣﻘـﺪارﻫﺎ‬ ‫ﺷـﺎﻣﻞ‬‫ی‬
‫ﻋﺪد‬‫ی‬‫ﻫﺴﺘﻨﺪ‬.
‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬SAS‫ﺑﻪ‬‫ﺻﻮرت‬‫ﭘ‬‫ﯿ‬‫ﺶ‬‫ﻓﺮض‬،‫ﻣﺎ‬‫ﮐ‬‫ﺴ‬‫ﯿ‬‫ﻃﻮﻟ‬ ‫ﻤﻢ‬‫ﯽ‬‫اﻧﺪازه‬ ‫ﺑﻪ‬‫ی‬۸‫ﻧﻮ‬‫ﯾ‬‫ﺴﻪ‬)‫ﺑﺎ‬‫ﯾـ‬‫ﺖ‬(‫ﻣﻘـﺪارﻫﺎ‬ ‫ﺑـﻪ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﻣـ‬‫ﯽ‬‫دﻫـﺪ‬.
‫داده‬ ‫ﻣﻘـﺪار‬ ‫اﮔﺮ‬‫ا‬‫ی‬‫ﮐ‬‫از‬ ‫ﻤﺘـﺮ‬۸‫ﻧﻮ‬‫ﯾ‬‫آن‬ ‫ﺑﺎﺷـﺪ‬ ‫داﺷـﺘﻪ‬ ‫ﻃـﻮل‬ ‫ﺴـﻪ‬‫را‬‫ﺳـﺘﻮن‬ ‫ﺑـﺎﻗﯽ‬ ‫و‬ ‫ﻧﻮﺷـﺘﻪ‬ ‫راﺳـﺖ‬ ‫ﺳـﻤﺖ‬ ‫از‬‫ﺧـﺎﻟﯽ‬ ‫را‬ ‫ﻫﺎ‬
۱۷
‫ﻣﯽ‬‫ﮔﺬارد‬.‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬‫ﻧﻮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﮐ‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﺷﺎﻣﻞ‬ ‫ﻪ‬‫ﯾﯽ‬‫ﺑـ‬ ‫ﺑﺎ‬‫ﯿ‬‫از‬ ‫ﺶ‬۸‫ﻧﻮ‬‫ﯾ‬‫ﻣـ‬ ‫را‬ ‫ﻫﺴـﺘﻨﺪ‬ ‫ﺴـﻪ‬‫ﯽ‬‫روش‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑـﺎ‬ ‫ﺗـﻮان‬
INPUT‫ﻓﻮرﻣﺖ‬‫ﺑﻪ‬ ‫ﺷﺪه‬SAS‫ﻣﻌﺮﻓ‬‫ﯽ‬‫ﮐ‬‫ﺮد‬.
‫ﺑﻪ‬‫ﻫﻨﮕﺎم‬‫ﮐ‬‫ﺎرﺑﺴﺖ‬INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫اﮔﺮ‬ ،SAS‫ﻣﻘﺪار‬‫ی‬‫ﺑﺮا‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺟﺎر‬ ‫ﺳﻄﺮ‬ ‫در‬ ‫ﺮ‬‫ی‬‫ﻧ‬‫ﯿ‬‫ﺎ‬‫ﺑـ‬‫داده‬ ‫ﺳـﻄﺮ‬ ‫ﺑـﻪ‬ ،‫ﺪ‬‫ﻫـﺎ‬‫ﺑﻌـﺪی‬ ‫ی‬
‫داده‬ ‫ﻣﻘﺪار‬ ‫و‬ ‫رﻓﺘﻪ‬‫ا‬‫ی‬‫ﺑﺮا‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫اﺧﺘ‬ ‫ﺮ‬‫ﯿ‬‫ﺎر‬‫ﻣﯽ‬‫ﮐ‬‫ﻨﺪ‬.‫ا‬ ‫ﺑﻪ‬‫ﯾ‬‫ﻫﻨﮕﺎم‬ ،‫ﻣﻨﻈﻮر‬ ‫ﻦ‬‫ﮐ‬‫ﺎرﺑﺴﺖ‬INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫داده‬ ،‫ﻫﺎ‬‫ی‬‫ﮔﻢ‬‫ﺷـﺪه‬
‫ﺑﺎ‬ ‫ﺣﺘﻤﺎ‬‫ﯾ‬‫ﺑﺎ‬ ‫ﺪ‬‫ﯾ‬‫ﮏ‬‫ﻧﻘﻄﻪ‬(.)‫ﻫﻤـﺮاه‬ ‫ﺑـﻪ‬‫ﯾـ‬‫ﮏ‬‫ﺧـﺎﻟ‬ ‫ﺳـﺘﻮن‬‫ﯽ‬‫ﻧﻘﻄـﻪ‬ ‫ﻃـﺮف‬ ‫دو‬ ‫در‬‫ﻣﺸـ‬‫ﺷـﻮﻧﺪ‬ ‫ﺨﺺ‬.‫در‬INPUT‫ﻓﻬﺮﺳـﺘ‬‫ﯽ‬
‫ﻧﻤ‬‫ﯽ‬‫ﻓﺎﺻﻠﻪ‬ ‫از‬ ‫ﺗﻮان‬‫ی‬‫ﺧﺎﻟ‬‫ﯽ‬‫ﺑﺮا‬‫ی‬‫ﻣﺸﺨﺺ‬‫ﺳﺎز‬‫ی‬‫داده‬‫ی‬‫ﮔﻢ‬‫اﺳﺘﻔﺎده‬ ‫ﺷﺪه‬‫ﮐ‬‫ﺮد‬.
INPUT‫ﻓ‬‫ﻮ‬‫رﻣﺖ‬‫ﺷﺪه‬
‫روش‬INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫ﻣﻤ‬‫ﮑ‬‫ﺑﺮا‬ ‫اﺳﺖ‬ ‫ﻦ‬‫ی‬‫ﺑﺴـ‬‫ﯿ‬‫ﺎر‬‫ی‬‫از‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ﯾﯽ‬‫ﮐـ‬‫ﻣـ‬ ‫آورده‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫در‬ ‫ﻪ‬‫ﯽ‬‫و‬ ‫ﺷـﻮﻧﺪ‬‫ﯾـ‬‫از‬ ‫ﺎ‬
‫رﺳﺎﻧﻪ‬‫ﻫﺎی‬‫ذﺧ‬‫ﯿ‬‫ﺮه‬‫ﻣﺜـﻞ‬ ‫ﺳﺎز‬‫د‬‫ﯾ‬‫ﺴـ‬‫ﮏ‬‫ﯾـ‬‫ﺎ‬CD‫ﻣـ‬ ‫ﺧﻮاﻧـﺪه‬‫ﯽ‬‫ﻣﻨ‬ ،‫ﺷـﻮﻧﺪ‬‫ﻧﺒﺎﺷـﺪ‬ ‫ﺎﺳـﺐ‬.‫ز‬‫ﯾـ‬‫ﻣﻘـﺪارﻫﺎ‬ ‫ﺮا‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﻣﻨﻈـﻮر‬ ‫ﺑـﻪ‬
‫ﺻﺮﻓﻪ‬‫ﺟﻮ‬‫ﯾﯽ‬‫ﻣﻤ‬ ‫ﻓﻀﺎ‬ ‫در‬‫ﮑ‬‫ﺑﻪ‬ ‫اﺳﺖ‬ ‫ﻦ‬‫ﻣﺘﻮاﻟ‬ ‫ﻃﻮر‬‫ﯽ‬‫داده‬ ‫ﻓﺎﺻﻠﻪ‬ ‫ﺑﺪون‬ ‫و‬‫آ‬‫ﻣﺎ‬‫ﯾﯽ‬‫و‬ ‫ﺑﺎﺷﻨﺪ‬ ‫ﺷﺪه‬‫ﯾـ‬‫ﻣﻤ‬ ‫ﺎ‬‫ﮑـ‬‫ﻣﻘـﺪارﻫﺎ‬ ‫اﺳـﺖ‬ ‫ﻦ‬‫ی‬
‫داده‬‫ا‬‫ی‬‫واو‬ ‫ﺑﺎ‬‫ک‬‫از‬‫ﯾ‬‫ﮑ‬‫ﺪ‬‫ﯾ‬‫ﺑﺎﺷﻨﺪ‬ ‫ﺷﺪه‬ ‫ﺟﺪا‬ ‫ﮕﺮ‬.‫ا‬ ‫در‬‫ﯾـ‬‫ﺣﺎﻟـﺖ‬ ‫ﻦ‬‫ﺑﺎ‬ ‫ﻫـﺎ‬‫ﯾـ‬‫ا‬ ‫از‬ ‫ﺪ‬‫ﯾ‬‫ﻨ‬‫ﻔﻮرﻣـﺖ‬‫ﻫـﺎ‬‫ی‬SAS‫ﺑـﺮا‬‫ی‬‫داده‬ ‫ﺧﻮاﻧـﺪن‬‫ﻫـﺎ‬
‫اﺳﺘﻔﺎده‬‫ﮐ‬‫ﺮد‬.
‫از‬‫ا‬‫ﯾ‬‫ﻨﻔ‬‫ﻮ‬‫رﻣﺖ‬‫ﻫﺎ‬‫ﻣ‬‫ﯽ‬‫ﺑﺮا‬ ‫ﺗﻮان‬‫ی‬‫داد‬ ‫ﺧﻮاﻧﺪن‬‫ه‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫داده‬ ‫ﺧﻄﻮط‬ ‫در‬ ‫ﺻﻮرت‬ ‫ﻫﺮ‬ ‫ﺑﻪ‬ ‫ﻪ‬‫اﺳـﺘﻔﺎده‬ ،‫ﺑﺎﺷـﻨﺪ‬ ‫ﺷﺪه‬ ‫وارد‬ ‫ﻫﺎ‬‫ﮐـ‬‫ﺮد‬.
‫ا‬‫ﯾ‬‫ﻨﻔ‬‫ﻮ‬‫رﻣﺖ‬‫اﻃﻼﻋﺎﺗ‬ ‫ﻫﺎ‬‫ﯽ‬‫ﻧﻈ‬‫ﯿ‬‫ﺳﺘﻮن‬ ‫ﺗﻌﺪاد‬ ‫ﺮ‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐـ‬‫ﻪ‬‫ﯾـ‬‫ﮏ‬‫داده‬ ‫ﻣﻘـﺪار‬‫ا‬‫ی‬‫اﺷـﻐﺎل‬‫ﮐـ‬‫داده‬ ‫ﻣﻘـﺪار‬ ‫ﭼﮕﻮﻧـﻪ‬ ،‫ﺮده‬‫ا‬‫ی‬‫ﺧﻮاﻧـﺪه‬
‫ا‬ ‫و‬ ،‫ﺷﻮد‬‫ﯾ‬‫ﻨ‬‫ﮑ‬‫داده‬ ‫ﻣﻘﺪار‬ ‫ﭼﮕﻮﻧﻪ‬ ‫ﻪ‬‫ا‬‫ی‬‫در‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ذﺧ‬‫ﯿ‬‫را‬ ‫ﺷﻮد‬ ‫ﺮه‬‫اراﺋﻪ‬‫ﻣ‬‫ﯽ‬‫ﮐ‬‫ﻨﻨﺪ‬.
‫ﺑﺮا‬‫ی‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﺧﻮاﻧﺪن‬‫ی‬‫داده‬‫ا‬‫ی‬‫از‬‫ﺧﻂ‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬،‫ﮐـ‬‫ﺑﺎ‬ ‫ﺎرﺑﺮ‬‫ﯾـ‬‫ﺳـﺘﻮﻧ‬ ‫ﺪ‬‫ﯽ‬‫ﮐـ‬‫داده‬ ‫ﻣﻘـﺪار‬ ‫ﻪ‬‫ا‬‫ی‬‫آن‬ ‫از‬‫ﻣـ‬ ‫ﺷـﺮوع‬‫ﯽ‬،‫ﺷـﻮد‬
‫ﺳﺘﻮن‬ ‫ﻣﻘﺪار‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫ﺑﺎ‬ ‫ﻪ‬‫ﯾ‬،‫ﺷﻮﻧﺪ‬ ‫ﺧﻮاﻧﺪه‬ ‫ﺪ‬‫اﯾـﻦ‬‫ﮐـﻪ‬‫داده‬ ‫ﻣﻘـﺪار‬‫ا‬‫ی‬‫ﻋـﺪد‬‫ی‬‫و‬ ‫اﺳـﺖ‬‫ﯾـ‬‫ﻧﻮ‬ ‫ﺎ‬‫ﯾ‬‫ﺴـﻪ‬‫ا‬‫ی‬‫ﻧﻘﻄـﻪ‬ ‫و‬‫ی‬‫اﻋﺸـﺎر‬‫ی‬‫از‬
‫ﻣﻘﺪار‬‫ﻫﺎ‬‫ی‬‫ﻋﺪد‬‫ی‬‫ﮐ‬‫ﺑﺎ‬ ‫ﺠﺎ‬‫ﯾ‬‫ﺷﻮد‬ ‫داده‬ ‫ﻗﺮار‬ ‫ﺪ‬‫ﻣﺸﺨﺺ‬ ‫را‬‫ﮐ‬‫ﻨﺪ‬.
‫ﺑﺮا‬‫ی‬‫ﻣﺸﺨﺺ‬‫ﮐ‬‫ا‬ ‫ﺮدن‬‫ﯾ‬‫ﻨ‬‫ﮑ‬‫ﻪ‬‫ﯾ‬‫ﮏ‬‫داده‬ ‫ﻣﻘﺪار‬‫ا‬‫ی‬‫ﺳﺘﻮﻧ‬ ‫ﭼﻪ‬ ‫از‬‫ﯽ‬،‫ﺷﻮد‬ ‫ﺧﻮاﻧﺪه‬‫ﻧﻮ‬ ‫از‬‫ﯾ‬‫ﺴﻪ‬‫ی‬‫و‬‫ﯾ‬‫ﮋه‬‫ی‬"@"‫ﺷﻤﺎره‬ ‫و‬‫ی‬‫ﺳﺘﻮن‬
‫ﮐ‬‫ﻣ‬ ‫آن‬ ‫دﻧﺒﺎل‬ ‫ﺑﻪ‬ ‫ﻪ‬‫ﯽ‬‫آ‬‫ﯾ‬‫ا‬ ‫و‬ ‫ﺪ‬‫ﯾ‬‫ﻣﺘﻐ‬ ‫ﻧﺎم‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫دو‬ ‫ﻦ‬‫ﯿ‬‫ﻣ‬ ‫ﺮ‬‫ﯽ‬‫آ‬‫ﯾ‬‫ﻣ‬ ‫اﺳﺘﻔﺎده‬ ،‫ﻨﺪ‬‫ﯽ‬‫ﺷﻮد‬.ً‫ﻼ‬‫ﻣﺜ‬
INPUT @10 age @20 weight @36 height;
‫ﺑﻪ‬SAS‫ﻣ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾ‬‫ﻣﺘﻐ‬ ‫ﻣﻘـﺪار‬ ‫ﺪ‬‫ﯿـ‬‫ﺮ‬age‫ﺳـﺘﻮن‬ ‫از‬۱۰‫ﻣﻘـﺪار‬ ،weight‫ﺳـﺘﻮن‬ ‫از‬۲۰‫ﻣﻘـﺪار‬ ‫و‬height‫ﺳـﺘﻮن‬ ‫از‬۳۶ 
‫ﻣ‬ ‫ﺷﺮوع‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫ا‬ ‫در‬‫ﯾ‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻓﺮض‬ ‫ﻨﺠﺎ‬‫ﮐ‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﻪ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﺑﺎ‬‫ﯾ‬‫ﮏ‬‫ﺧﺎﻟ‬ ‫ﻓﺎﺻﻠﻪ‬‫ﯽ‬‫ﺷـﺪه‬ ‫ﺟـﺪا‬ ‫ﻫـﻢ‬ ‫از‬‫ﻏ‬ ‫در‬ ،‫اﻧـﺪ‬‫ﯿـ‬‫ﺮ‬
‫ا‬‫ﯾ‬‫ﻦ‬‫ﺑﺎ‬ ‫ﺻﻮرت‬‫ﯾ‬‫ا‬ ‫از‬ ‫ﺪ‬‫ﯾ‬‫ﻨﻔﻮرﻣﺘ‬‫ﯽ‬‫ﺷﻮد‬ ‫اﺳﺘﻔﺎده‬‫ﮐ‬‫ﻣﻌﺮﻓ‬ ‫دﻧﺒﺎل‬ ‫ﺑﻪ‬ ‫ﻪ‬‫ﯽ‬‫ﻣ‬‫ﯽ‬‫ﺷﻮد‬.
۱۸
‫ﺑﺮا‬‫ی‬‫ﻣﺘ‬‫ﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬‫ﻋﺪد‬‫ی‬،‫ا‬‫ﯾ‬‫ﻨ‬‫ﻔﻮرﻣﺖ‬"W."‫ﻣ‬ ‫ﻣﺸﺨﺺ‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬‫ﮐ‬‫ﻪ‬W‫ﺳﺘﻮن‬‫ﮐ‬‫ﺟﺎر‬ ‫ﺳﺘﻮن‬ ‫از‬ ‫ﻪ‬‫ی‬‫ﻣ‬ ‫ﺷﺮوع‬‫ﯽ‬‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫ﺷﻮد‬
‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬‫ﯿ‬‫ﺑﺎ‬ ‫ﺮ‬‫ﯾ‬‫ﻣ‬ ‫ﺧﻮاﻧﺪه‬ ‫ﺪ‬‫ﯽ‬‫ﺷﻮد‬.‫ﻣﻘﺪار‬W‫ﺑﺎ‬‫ﯾ‬‫ﺻﺤ‬ ‫ﻋﺪد‬ ‫ﺪ‬‫ﯿ‬‫ﺑﺎﺷﺪ‬ ‫ﻣﺜﺒﺖ‬ ‫و‬ ‫ﺢ‬.‫ﺑﺮا‬‫ی‬‫ﻣﺜﺎل‬
INPUT @20 weight 3.;
‫ﺑﻪ‬SAS‫ﻣ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾ‬‫ﺪ‬‫ﮐ‬‫ﺳﺘﻮن‬ ‫ﺑﻪ‬ ‫ﻪ‬۲۰‫ﺳﺘﻮﻧ‬ ‫ﺳﻪ‬ ‫و‬ ‫رﻓﺘﻪ‬‫ﯽ‬‫ﮐ‬‫از‬ ‫ﻪ‬‫ﺳﺘﻮن‬۲۰‫ﻣ‬ ‫ﺷﺮوع‬‫ﯽ‬‫ﺷﻮﻧﺪ‬‫ﻣﻘـﺪار‬ ‫ﻋﻨـﻮان‬ ‫ﺑـﻪ‬ ‫و‬ ‫ﺧﻮاﻧـﺪه‬ ‫را‬
‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮ‬weight‫در‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ذﺧ‬‫ﯿ‬‫ﺮه‬‫ﮐ‬‫ﻨﺪ‬.
‫ا‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬"W.d"‫ﺑﻪ‬SAS‫ﻣ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾ‬‫ﺪ‬‫ﮐ‬‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫ﻪ‬‫ﯿ‬‫ﻧﻘﻄـﻪ‬ ‫ﺳـﭙﺲ‬ ،‫ﺧﻮاﻧـﺪه‬ ‫ﺑـﺎﻻ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ ‫ﺮ‬‫ی‬‫اﻋﺸـﺎر‬‫ی‬‫از‬ ‫ﻗﺒـﻞ‬ ‫را‬
"d"‫دﻫﺪ‬ ‫ﻗﺮار‬ ‫آﺧﺮ‬ ‫رﻗﻢ‬.ً‫ﻼ‬‫ﻣﺜ‬
INPUT @10 age 6.2;
‫ﺑﻪ‬SAS‫ﻣ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾ‬‫ﺳﺘﻮن‬ ‫ﺑﻪ‬ ‫ﺪ‬۱۰‫و‬ ‫رﻓﺘﻪ‬۶‫ﺑﻌﺪ‬ ‫ﺳﺘﻮن‬‫ی‬)‫ﺳﺘﻮن‬ ‫ﺷﺎﻣﻞ‬۱۰(‫ﻣﺘﻐ‬ ‫ﻣﻘـﺪار‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫را‬‫ﯿـ‬‫ﺮ‬age‫و‬ ‫ﺧﻮاﻧـﺪه‬
‫ـﻪ‬‫ـ‬‫ﻧﻘﻄ‬‫ی‬‫ـﺎر‬‫ـ‬‫اﻋﺸ‬‫ی‬‫از‬ ‫ـﻞ‬‫ـ‬‫ﻗﺒ‬ ‫را‬۲‫ـﺪ‬‫ـ‬‫دﻫ‬ ‫ـﺮار‬‫ـ‬‫ﻗ‬ ‫ـﺮ‬‫ـ‬‫آﺧ‬ ‫ـﻢ‬‫ـ‬‫رﻗ‬.‫ـﺪار‬‫ـ‬‫ﻣﻘ‬ ‫ـﺮ‬‫ـ‬‫اﮔ‬‫داده‬‫ا‬‫ی‬‫ـﻪ‬‫ـ‬‫ﻧﻘﻄ‬ ‫ـﺎﻣﻞ‬‫ـ‬‫ﺷ‬‫ی‬‫ـﺎر‬‫ـ‬‫اﻋﺸ‬‫ی‬‫ـﺪ‬‫ـ‬‫ﺑﺎﺷ‬،SAS‫از‬
‫ﻣﺸﺨﺺ‬‫ﺳﺎز‬‫ی‬‫ﮐ‬‫ا‬ ‫در‬ ‫ﻪ‬‫ﯾ‬‫ﺻـﺮف‬ ،‫اﺳﺖ‬ ‫ﮔﺮﻓﺘﻪ‬ ‫ﺻﻮرت‬ ‫ﻨﻔﻮرﻣﺖ‬‫ﻣـ‬ ‫ﻧﻈـﺮ‬‫ﯽ‬‫ﮐ‬‫ﻨـﺪ‬.‫اﺧ‬ ‫ﺻـﻮرت‬ ‫در‬‫ﯿـ‬‫ﺮ‬"W"‫در‬"W.d"‫ﺑﺎ‬‫ﯾـ‬‫ﺪ‬
‫ﻧﻘﻄﻪ‬ ‫ﺷﺎﻣﻞ‬‫ی‬‫اﻋﺸﺎر‬‫ی‬‫ﺑﺎﺷﺪ‬.
‫ﺑﺮا‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﻧﻮ‬ ‫ﺮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ا‬ ،‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬"$W." ‫ﺑﻪ‬SAS‫ﻣـ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾـ‬‫ﺟـﺎر‬ ‫ﺳـﺘﻮن‬ ‫از‬ ‫ﺪ‬‫ی‬W‫ﺑﻌـﺪ‬ ‫ﺳـﺘﻮن‬‫ی‬‫ﻣﻘـﺪار‬ ‫ﻋﻨـﻮان‬ ‫ﺑـﻪ‬ ‫را‬
‫ﻧﻮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﺑﺨﻮاﻧﺪ‬.‫ﺑﺮا‬‫ی‬‫ﻣﺜﺎل‬
INPUT @15 name $45.;
‫ﺑﻪ‬SAS‫ﻣ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾ‬‫ﺪ‬‫ﮐ‬‫ﺳﺘﻮن‬ ‫ﻪ‬‫ﻫﺎ‬‫ی‬۱۵‫اﻟ‬‫ﯽ‬۶۹ ‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫را‬‫ﯿ‬‫ﻧﻮ‬ ‫ﺮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬name‫ﺑﺨﻮاﻧﺪ‬.‫اﮔﺮ‬‫ﮐ‬‫ﺑﺨﻮاﻫﺪ‬ ‫ﺎرﺑﺮ‬‫ﮐ‬‫ﻪ‬
‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮ‬name‫ﻓﺎﺻﻠﻪ‬ ‫ﺷﺎﻣﻞ‬‫ی‬‫ﺧﺎﻟ‬‫ﯽ‬‫ﺑﺎﺷﺪ‬)‫ﻣﺜﻼ‬‫ﺑـ‬ ‫ﻓﺎﺻﻠﻪ‬‫ﯿ‬‫ﻧـﺎم‬ ‫ﻦ‬‫ﮐ‬‫ﻮﭼـ‬‫ﮏ‬‫ﻓـﺎﻣ‬ ‫ﻧـﺎم‬ ‫و‬‫ﯿ‬‫ﻠ‬‫ﯽ‬(‫ﻣـ‬ ،‫ﯽ‬‫ا‬ ‫از‬ ‫ﺗﻮاﻧـﺪ‬‫ﯾ‬‫ﻨﻔﻮرﻣـﺖ‬
"$CHARW."‫اﺳﺘﻔﺎده‬‫ﮐ‬‫ﻨﺪ‬.
‫ﻓﺮض‬‫ﮐ‬‫ﻨ‬‫ﯿ‬‫ﺪ‬‫ﮐ‬‫ﻪ‬‫ﯾ‬‫ﮏ‬‫دا‬ ‫ﺧﻂ‬‫ده‬‫ای‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﺷﺎﻣﻞ‬‫ی‬‫ز‬‫ﯾ‬‫ﺑﺎﺷﺪ‬ ‫ﺮ‬.
0001TEH045507205
‫ﮐ‬‫ﻪ‬۰۰۰۱‫ﺷﻤﺎره‬‫ی‬‫ﻧﻤﻮﻧﻪ‬ ‫ﺧﺎﻧﻮار‬‫ا‬‫ی‬،TEH‫ﻧﻤﺎ‬‫ﯾ‬‫ﺎﻧﮕﺮ‬‫ﺳ‬ ‫ﻣﺤﻞ‬ ‫اﺳﺘﺎن‬‫ﮑ‬‫ﺧﺎﻧﻮ‬ ‫ﻮﻧﺖ‬‫ﻧﻤﻮﻧﻪ‬ ‫ار‬‫ا‬‫ی‬،۵۵/۴‫ﻫﺰ‬ ‫ﻣﺠﻤﻮع‬‫ﯾ‬‫ﻨﻪ‬‫ﻫﺎ‬‫ی‬
،‫ـﺘﻪ‬‫ـ‬‫ﮔﺬﺷ‬ ‫ـﺎه‬‫ـ‬‫ﻣ‬ ‫در‬ ‫ـﺎﻧﻮار‬‫ـ‬‫ﺧ‬۷۲/۰‫ﻫﺰ‬ ‫ـﺪ‬‫ـ‬‫درﺻ‬‫ﯾ‬‫ـﻪ‬‫ـ‬‫ﻨ‬‫ـﺎ‬‫ـ‬‫ﻫ‬‫ی‬‫ـﻮرا‬‫ـ‬‫ﺧ‬‫ﮐ‬‫ﯽ‬‫و‬ ،‫ـﺎﻧﻮار‬‫ـ‬‫ﺧ‬۵‫ـﺖ‬‫ـ‬‫اﺳ‬ ‫ـﺎﻧﻮار‬‫ـ‬‫ﺧ‬ ‫ـﺪ‬‫ـ‬‫ﺑﻌ‬.‫ﮔ‬‫ﯿ‬‫ﺮ‬‫ـ‬‫ـ‬‫ﯾ‬،‫ﺪ‬id،ostan،
expenditure،percent‫و‬member‫ﻣﺘﻐ‬ ‫ﻧﺎم‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬‫ﺑﺎﺷﻨﺪ‬ ‫ﻣﺘﻨﺎﻇﺮ‬.‫ﯾ‬‫ﮏ‬‫ﻋﺒﺎرت‬INPUT‫ﺑـﺮا‬ ‫ﻣﻨﺎﺳـﺐ‬‫ی‬‫ﺧﻮاﻧـﺪن‬
‫ﻣﻘﺪارﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ز‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯾ‬‫اﺳﺖ‬ ‫ﺮ‬:
۱۹
INPUT id 4. ostan $3. expenditure 4.2 percent 3.2 member 2.;
‫ﻓ‬‫ﺮض‬‫ﮐ‬‫ﻨ‬‫ﯿ‬‫ﺪ‬‫ﮐ‬‫ﺧﻂ‬ ‫ﻪ‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫دارا‬‫ی‬‫ز‬ ‫ﺻﻮرت‬‫ﯾ‬‫ﺑﺎﺷﻨﺪ‬ ‫ﺮ‬.
0001XXXXTEH155X072XXXXXX1390
‫ﮐ‬‫ﻪ‬X‫ﺳﺘﻮن‬ ‫ﻫﺎ‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﻫﺴﺘﻨﺪ‬‫ﮐ‬‫ﻣﺎ‬ ‫ﻪ‬‫ﯾ‬‫ﻧ‬ ‫ﻞ‬‫ﯿ‬‫ﺴﺘ‬‫ﯿ‬‫ﺗﺤﻠ‬ ‫در‬ ‫ﻢ‬‫ﯿ‬‫ﻣﺸﺎر‬ ‫ﻞ‬‫ﮐ‬‫ﺖ‬‫ﮐ‬‫ﻨﻨﺪ‬.‫ﺑﺮا‬‫ی‬‫ﭘﺮ‬‫ﯾ‬‫ا‬ ‫از‬ ‫ﺪن‬‫ﯾ‬‫ﺳﺘﻮن‬ ‫ﻦ‬‫ﻣ‬ ‫ﻫﺎ‬‫ﯽ‬‫از‬ ‫ﺗﻮان‬
‫ﻧﻤﺎد‬"@"‫و‬‫ﯾ‬‫ﻧﻤﺎ‬ ‫ﺎ‬‫د‬"+"‫اﺳﺘﻔﺎده‬‫ﮐ‬‫ﺮد‬.‫ﺑﺮا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫ﺧﻮاﻧﺪن‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫ﻣﺜﺎل‬‫ﯿ‬‫ﺮ‬id‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬‫ﯿ‬‫ﺮ‬ostan‫ﺳﺘﻮن‬ ‫از‬۹
‫ﺑﺎ‬‫ﻧﻤﺎد‬ ‫از‬ ‫اﺳﺘﻔﺎده‬"@9"‫ﺷﺪه‬ ‫ﺧﻮاﻧﺪه‬‫ﺑﻌﺪ‬ ‫و‬‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬exp‫ﻣﯽ‬ ‫ﺧﻮاﻧﺪه‬‫ﺷﻮد‬‫و‬‫از‬ ‫ﺳﭙﺲ‬‫ﯾ‬‫ﮏ‬‫ﺑـﺎ‬ ‫ﺳﺘﻮن‬"+1"‫رد‬
‫ﻣ‬‫ﯽ‬‫و‬ ‫ﺷﻮد‬‫ﻣﺘﻐﯿﺮﻫﺎی‬percent‫و‬year‫ﻣﯽ‬ ‫ﺧﻮاﻧﺪه‬‫ﺷﻮد‬.‫ﻋﺒﺎرت‬INPUT‫ز‬‫ﯾ‬‫ا‬ ‫ﺮ‬‫ﯾ‬‫ﺷ‬ ‫ﻦ‬‫ﯿ‬‫ﻮه‬‫ی‬‫را‬ ‫ﺧﻮاﻧﺪن‬‫ﻧﺸ‬‫ﻣ‬ ‫ﺎن‬‫ﯽ‬‫دﻫﺪ‬.
INPUT id 4. @9 ostan $3. exp 3.2 +1 percent 3.2 @25 year 4.;
‫ﻧﻤﺎدﻫﺎ‬‫ی‬"@"،"+"‫ﻋﺒﺎرت‬ ‫در‬ ‫ﮐﻪ‬INPUT‫ﻣ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬‫ﯽ‬‫روﻧﺪ‬‫ﻧﺸﺎﻧﮕﺮﻫﺎ‬ ‫را‬‫ی‬‫ﮐﻨﺘﺮﻟ‬‫ﯽ‬‫ﻣ‬‫ﯽ‬‫ﮔﻮﯾﻨﺪ‬.
‫ﻣﺘﻐ‬ ‫ﻧﺎم‬‫ﯿ‬‫ا‬ ‫و‬ ‫ﺮﻫﺎ‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻪ‬INPUT‫ﺑﻪ‬‫ﮐ‬‫ﻣـ‬ ‫ﺎر‬‫ﯽ‬‫ﻣـ‬ ‫را‬ ‫روﻧـﺪ‬‫ﯽ‬‫ﻓﻬﺮﺳـﺖ‬ ‫دو‬ ‫در‬ ‫ﺗـﻮان‬‫درون‬ ‫و‬ ‫ﻣﺠـﺰا‬‫دو‬
‫ﮐ‬‫ﮔﺮوه‬ ‫ﻤﺎن‬‫ﺑﻨﺪ‬‫ی‬‫ﮐ‬‫ﺮد‬.‫ﻋﺒﺎرت‬INPUT‫ﻣ‬ ‫را‬ ‫ﺑﺎﻻ‬‫ﯽ‬‫ﺗﻮان‬‫ز‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯾ‬‫ﻧﻮﺷﺖ‬ ‫ﺮ‬:
INPUT (id ostan exp percent year) (4. @9 $3. 3.2 +1 3.2 @25 4.);
‫ا‬ ‫در‬‫ﯾ‬‫دﻧﺒﺎﻟﻪ‬ ‫ﻓﻬﺮﺳﺖ‬ ‫ﻦ‬‫ا‬‫ی‬‫ا‬ ‫ﻫﺮ‬‫ﯾ‬‫و‬ ‫ﻨﻔﻮرﻣﺖ‬‫ﯾ‬‫ﺗﺮ‬ ‫ﺎ‬‫ﮐ‬‫ﯿ‬‫ا‬ ‫ﺐ‬‫ﯾ‬‫ﻨ‬‫ﻔﻮرﻣﺖ‬-‫ﻧﺸﺎﻧﮕﺮ‬‫ﮐ‬‫ﻨﺘﺮﻟ‬‫ﯽ‬‫ﺑﺎ‬ ‫ﻣﺮﺗﺒﻂ‬‫ﯾ‬‫ﮏ‬‫ﻣﺘﻐ‬ ‫ﻧﺎم‬‫ﯿ‬‫اﺳﺖ‬ ‫ﺮ‬.
INPUT‫ﺳﺘﻮﻧ‬‫ﯽ‬
‫و‬‫ﻗﺘ‬‫ﯽ‬‫داده‬ ‫ﻣﻘﺪار‬‫ﻫﺎ‬‫ﺑﺎ‬‫ﺣﺪاﻗﻞ‬‫ﯾ‬‫ﮏ‬‫ﻓﺎﺻﻠﻪ‬)‫ﺧﺎﻟﯽ‬ ‫ی‬(‫و‬ ‫ﺑﺎﺷـﻨﺪ‬ ‫ﻧﺸﺪه‬ ‫ﺟﺪا‬ ‫ﻫﻢ‬ ‫از‬‫ﮐـ‬‫ﺎر‬‫ﺗـﺮﺟ‬ ‫ﺑﺮ‬‫ﯿ‬‫دﻫـﺪ‬ ‫ﺢ‬‫ﮐـ‬‫ا‬ ‫از‬ ‫ﻪ‬‫ﯾ‬‫ﻨﻔﻮرﻣـﺖ‬
‫ﻧ‬ ‫اﺳﺘﻔﺎده‬‫ﮑ‬،‫ﻨﺪ‬INPUT‫ﺳﺘﻮﻧ‬‫ﯽ‬‫ﺑﺪ‬‫ﯾ‬‫ﻞ‬‫د‬‫ﯾ‬‫ﮕ‬‫ﺮ‬‫ی‬‫ﺑﺮا‬‫ی‬INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫اﺳﺖ‬.‫ا‬ ‫در‬‫ﯾ‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﺣﺎﻟﺖ‬ ‫ﻦ‬‫ﺑﺎﯾـﺪ‬‫ﺳـﺘﻮن‬‫ﻫـﺎ‬‫ی‬
‫ﯾ‬‫ﮑ‬‫ﺧﻂ‬ ‫ﺗﻤﺎم‬ ‫در‬ ‫را‬ ‫ﺴﺎن‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫اﺷﻐﺎل‬‫ﮐ‬‫ﻨﻨﺪ‬.‫ا‬ ‫در‬‫ﯾ‬‫ﻦ‬‫روش‬‫دﻧﺒﺎل‬ ‫ﺑﻪ‬‫ﻣﺘﻐ‬ ‫ﻧـﺎم‬‫ﯿ‬‫ﻋﺒـﺎرت‬ ‫در‬ ‫ﺮﻫـﺎ‬INPUT‫ﺷـﻤﺎره‬‫ی‬
‫ﺳﺘﻮن‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫ﻣﺘﻐ‬ ‫آن‬ ‫ﻪ‬‫ﯿ‬‫ﻣ‬ ‫اﺷﻐﺎل‬ ‫ﺮ‬‫ﯽ‬‫ﮐ‬‫ﺷﺮوع‬ ‫ﻋﺪد‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﻨﺪ‬–‫ﻣ‬ ‫آورده‬ ‫ﺧﺎﺗﻤﻪ‬ ‫ﻋﺪد‬‫ﯽ‬‫ﺷﻮد‬.
‫ﺑﺮا‬‫ی‬‫ﻓﺮض‬ ،‫ﻣﺜﺎل‬‫ﮐ‬‫ﻨ‬‫ﯿ‬‫ﺧﻂ‬ ‫ﺪ‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ز‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯾ‬‫ﺑﺎﺷﻨﺪ‬ ‫ﺮ‬
0001TEH1.55b 721390
‫ا‬ ‫در‬‫ﯾ‬‫ﺻﻮرت‬ ‫ﻦ‬INPUT‫ﺳﺘﻮﻧ‬‫ﯽ‬‫ز‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯾ‬‫ﻣ‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﺮ‬‫ﯽ‬‫ﺷﻮد‬:
INPUT id 1-4 ostan $5-7 exp 8-11 .2 percent 12-14 .2 year 15-18;
۲۰
‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫ﺑﺎﻻ‬ ‫ﻋﺒﺎرت‬‫ﯿ‬‫ﺮ‬id‫ﺳﺘﻮن‬ ‫از‬ ‫را‬‫ﻫﺎ‬‫ی‬۱‫ﺗﺎ‬۴‫ﺻـﺤ‬ ‫ﻋـﺪد‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬‫ﯿ‬‫ﻣﺘﻐ‬ ‫ﻣﻘـﺪار‬ ،‫ﺢ‬‫ﯿـ‬‫ﺮ‬ostan‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ ‫را‬
‫رﺷﺘﻪ‬‫ی‬‫ﻧﻮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﻣ‬ ‫ﺑﻌﺪ‬ ‫ﺳﺘﻮن‬ ‫دو‬ ‫از‬‫ﯽ‬‫ﺧﻮاﻧﺪ‬.‫ا‬ ‫در‬‫ﯾ‬‫ﻋﺒﺎرت‬ ‫ﻦ‬.2‫ﺑـﻪ‬SAS‫ﻣـ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾـ‬‫ﺪ‬‫ﮐـ‬‫ﻪ‬‫ﻣﻮﻗـﻊ‬‫ﻣ‬ ‫ﻣﻘـﺪار‬ ‫ﺧﻮاﻧـﺪن‬‫ﺘﻐ‬‫ﯿـ‬‫ﺮ‬
exp‫ﻧﻘﻄﻪ‬ ،‫ی‬‫اﻋﺸﺎر‬‫ی‬‫ﮐﺠﺎ‬‫ﺑﺎ‬‫ﯾ‬‫ﮔ‬ ‫ﻗﺮار‬ ‫ﺪ‬‫ﯿ‬‫ﺮد‬.‫ﻣﺜـﺎل‬ ‫ﺑﺮای‬‫داده‬ ‫ﺧـﻂ‬ ‫اﯾـﻦ‬ ‫از‬‫ای‬‫ﻣﺘﻐ‬ ‫ﻣﻘـﺪار‬‫ﯿـ‬‫ﺮ‬percent۷۲/۰‫ﺧﻮاﻧـﺪه‬
‫ﻣ‬‫ﯽ‬‫ﺷﻮد‬.
‫ﺗﺮ‬‫ﮐ‬‫ﯿ‬‫روش‬ ‫ﺐ‬‫ﻫﺎ‬‫ی‬‫ﻣﺨﺘﻠﻒ‬
‫ﻋﺒﺎرت‬INPUT‫ﻣ‬‫ﯽ‬‫ﺗﺮ‬ ‫ﺗﻮاﻧﺪ‬‫ﮐ‬‫ﯿ‬‫ﺒ‬‫ﯽ‬‫روش‬ ‫از‬‫ﻫﺎ‬‫ی‬‫ﺷﻮد‬ ‫ﺷﺎﻣﻞ‬ ‫را‬ ‫ﺑﺎﻻ‬.‫داده‬ ‫ﺧﻂ‬ ‫ﻣﺜﺎل‬ ‫ﺑﺮای‬‫ﺑﮕﯿﺮﯾﺪ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫زﯾﺮ‬ ‫ای‬.
0001TEH1.55 721390
‫ﺗ‬ ‫ﺑﺎ‬‫ﺮ‬‫ﮐ‬‫ﯿ‬‫ﺐ‬INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫ﻓﻮرﻣﺖ‬ ،‫ﺳـﺘﻮﻧ‬ ‫و‬ ،‫ﺷﺪه‬‫ﯽ‬‫ﻣـ‬‫ﯽ‬‫ﻋﺒـﺎرت‬ ‫ﺗـﻮان‬INPUT‫ز‬‫ﯾـ‬‫ﺑـﺮا‬ ‫را‬ ‫ﺮ‬‫ی‬‫داده‬ ‫ﺧـﻂ‬‫ﻫـﺎ‬‫ی‬‫ﺑـﻪ‬ ‫ﺑـﺎﻻ‬
‫ز‬ ‫ﺻﻮرت‬‫ﯾ‬‫ﻧﻮﺷﺖ‬ ‫ﺮ‬:
INPUT id 1-4 ostan $3. exp percent 2.2 year 15-18;
‫ا‬ ‫در‬‫ﯾ‬،‫ﺣﺎﻟﺖ‬ ‫ﻦ‬SAS‫از‬INPUT‫ﺳﺘﻮﻧ‬‫ﯽ‬‫ﺑﺮا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫ﺧﻮاﻧﺪن‬‫ﯿ‬‫ﺮ‬id‫از‬ ،INPUT‫ﻓﻮ‬‫رﻣﺖ‬‫ﺑـﺮا‬ ‫ﺷﺪه‬‫ی‬‫ﻣﻘـﺪار‬ ‫ﺧﻮاﻧـﺪن‬
‫ﻣﺘ‬‫ﻐ‬‫ﯿ‬‫ﺮ‬ostan ‫از‬ ،INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫ﺑﺮا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫ﺧﻮاﻧﺪن‬‫ﯿ‬‫ﺮ‬exp‫ﻣ‬ ‫اﺳﺘﻔﺎده‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.‫ا‬ ‫در‬‫ﯾ‬‫ﻦ‬‫ﺷـﺪن‬ ‫ﺧﻮاﻧـﺪه‬ ‫از‬ ‫ﺑﻌـﺪ‬ ‫ﺟﺎ‬
‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬‫ﯿ‬‫ﺮ‬exp‫ﺳﺘﻮن‬ ‫ﺑﻪ‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ،۱۳‫ﺑﺮا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﺧﻮاﻧﺪن‬‫ﯿ‬‫ﺮ‬percent‫ﻣ‬‫ﯽ‬‫رود‬.‫ز‬‫ﯾ‬‫ﺮا‬‫ﯾـ‬‫ﮏ‬‫ﺑﺎ‬ ‫ﻓﺎﺻـﻠﻪ‬‫ﯾـ‬‫ﺑـ‬ ‫ﺪ‬‫ﯿ‬‫ﻣﻘـﺪار‬ ‫ﻦ‬
‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮ‬exp‫و‬percent‫ا‬ ‫ﺑﺮ‬ ‫ﺑﻨﺎ‬ ،‫ﺑﺎﺷﺪ‬‫ﯾ‬‫ﭘﻬﻨﺎ‬ ‫ﻦ‬‫ی‬‫ﻓ‬‫ﯿ‬‫ﻣﺘ‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﻠﺪ‬‫ﻐ‬‫ﯿ‬‫ﺮ‬percent‫ﺑﺎ‬‫ﯾ‬‫ﺪ‬۲‫ﺑﺎﺷﺪ‬.
۱-۵-۱-۲‫ﻋﺒﺎرت‬‫اﻧﺘﺴﺎب‬ ‫ﻫﺎی‬
‫ﺳﺎده‬‫ﻣﻨﺘﺴﺐ‬ ‫ﺑﺮای‬ ‫راه‬ ‫ﺗﺮﯾﻦ‬‫ﮐ‬‫ﺮدن‬‫ﻓﻮرﻣﺖ‬‫ﯾ‬ ‫ﺑﻪ‬‫ﮏ‬‫اﺳﺖ‬ ‫اﯾﻦ‬ ‫ﻣﺘﻐﯿﺮ‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻪ‬PUT‫ﻓﻮرﻣـﺖ‬‫دﻧﺒـﺎل‬ ‫ﺑـﻪ‬ ‫ﻣـﻮردﻧﻈﺮ‬
‫ﺷﻮد‬ ‫آورده‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻧﺎم‬.‫زﯾﺮ‬ ‫ﻣﺜﺎل‬ ‫در‬‫ﻓﻮرﻣﺖ‬DOLLAR.‫ﺑﻪ‬ ‫دﻻر‬ ‫ﺑﺮﺣﺴﺐ‬ ‫ﻋﺪدی‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﻧﻮﺷﺘﻦ‬ ‫ﺑﺮای‬‫ﮐ‬‫اﺳﺖ‬ ‫رﻓﺘﻪ‬ ‫ﺎر‬. 
DATA money;
Amount=1412.55;
PUT amount DOLLAR10.2;
RUN;
‫ﻋﺒﺎرت‬‫ﻣﻘﺪار‬ ‫ﺑﺎﻻ‬ ‫ﻫﺎی‬$1,412.55‫ﺗﻮﻟﯿﺪ‬ ‫را‬‫ﮐ‬‫ﭘﻨﺠﺮه‬ ‫در‬ ‫و‬ ‫ﺮده‬Log‫ﻣﯽ‬ ‫ﭼﺎپ‬‫ﮐ‬‫ﻨﺪ‬. 
‫در‬‫ﻓﻮرﻣﺖ‬DOLLAR10.2‫ﻣﻘﺎدﯾﺮ‬۱۰‫و‬۲‫ﻫﺴﺘﻨﺪ‬ ‫اﯾﻦ‬ ‫ﻧﻤﺎﯾﺎﻧﮕﺮ‬‫ﮐ‬‫ﺣﺪا‬ ‫ﻪ‬‫ﮐ‬‫ﺜﺮ‬۱۰‫دارد‬ ‫وﺟـﻮد‬ ‫داده‬ ‫ﻣﻘـﺪار‬ ‫ﺑـﺮای‬ ‫ﺳﺘﻮن‬
‫ﮐ‬‫ﻪ‬۲‫اﺳ‬ ‫اﻋﺸﺎری‬ ‫ﻗﺴﻤﺖ‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫آن‬ ‫ﺳﺘﻮن‬‫از‬ ‫و‬ ‫ﺖ‬۸‫ﯾ‬ ‫دﯾﮕﺮ‬ ‫ﺳﺘﻮن‬‫ﮏ‬‫ﯾـ‬ ،‫اﻋﺸـﺎری‬ ‫ﻧﻘﻄـﻪ‬ ‫ﺑﺮای‬ ‫ﺳﺘﻮن‬‫ﮏ‬‫ﺳـﺘﻮن‬
۲۱
‫واو‬ ‫ﺑﺮای‬‫ک‬‫ﯾ‬ ،‫ﮏ‬‫و‬ ‫داده‬ ‫ﻣﻘﺪار‬ ‫ﺻﺤﯿﺢ‬ ‫ﻗﺴﻤﺖ‬ ‫ﺑﺮای‬ ‫ﺳﺘﻮن‬ ‫ﭼﻬﺎر‬ ،‫دﻻر‬ ‫ﻋﻼﻣﺖ‬ ‫ﺑﺮای‬ ‫ﺳﺘﻮن‬)‫ﺑﺎﺷـﺪ‬ ‫ﻣﻨﻔـﯽ‬ ‫ﻋـﺪد‬ ‫اﮔﺮ‬(
‫ﯾ‬‫ﮏ‬‫ﻧﮕﻪ‬ ‫ﻣﻨﻔﯽ‬ ‫ﻋﻼﻣﺖ‬ ‫ﺑﺮای‬ ‫ﺳﺘﻮن‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫داﺷﺘﻪ‬. 
‫ﻣﺜﺎل‬۱-۲‫ﻓﺮض‬‫ﮐ‬‫ﻣﻘﺪار‬ ‫ﻨﯿﺪ‬NETPAY‫ﺑﺮاﺑـﺮ‬۶۵/۵۷۲۱‫ﻣـﯽ‬ ‫و‬ ‫اﺳـﺖ‬ ‫دﻻر‬‫ﺧـﻮاﻫﯿﻢ‬‫آن‬‫ﺳـﺘﻮﻧﻬﺎی‬ ‫در‬ ‫را‬۱۵‫ﺗـﺎ‬۲۴
‫ﭼﺎپ‬ ‫ﺧﺮوﺟﯽ‬ ‫ﺧﻂ‬‫ﮐ‬‫ﻨﯿﻢ‬.‫ﻣﻘﺪار‬ ‫زﯾﺮ‬ ‫ﻋﺒﺎرت‬$5,721.65‫ﻣﯽ‬ ‫ﭼﺎپ‬ ‫را‬‫ﮐ‬‫ﻨﺪ‬. 
PUT @15 netpay DOLLAR10.2;
‫اﻧﺘﺴﺎب‬ ‫دﯾﮕﺮ‬ ‫روش‬‫داده‬ ‫ﻣﻘﺪار‬ ‫ﺗﻐﯿﯿﺮ‬ ‫و‬ ‫ﺟﺪﯾﺪ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫اﯾﺠﺎد‬ ‫ﺑﺮای‬‫ﻣﻮﺟﻮد‬ ‫ﻫﺎی‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬.
‫ﻣﺘﻐﯿﺮ‬ ‫ﻧﺎم‬ = ‫ﻣﺤﺎﺳﺒﺎﺗﯽ‬ ‫ﻋﺒﺎرت‬;
‫ﻣﯽ‬ ‫را‬ ‫ﺟﺪﯾﺪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬‫ﺑ‬ ‫ﺗﻮان‬‫ﻋﺒﺎرت‬ ‫ﻃﺮﯾﻖ‬ ‫از‬ ‫ﻣﻮﺟﻮد‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﭼﻨﺪ‬ ‫ﯾﺎ‬ ‫ﯾﮏ‬ ‫ﺗﺮﮐﯿﺐ‬ ‫ﺎ‬‫ﮐﺮد‬ ‫اﯾﺠﺎد‬ ‫ﻣﺤﺎﺳﺒﺎﺗﯽ‬ ‫ﻫﺎی‬.‫اﯾﻦ‬‫ﮐﺎر‬
‫ـﺘﻔﺎده‬‫ـ‬‫اﺳ‬ ‫ﺑـﺎ‬‫ﻋﻤﻞ‬ ‫از‬ ‫ﺗﺮﮐﯿﺒـﯽ‬ ‫ی‬‫ـﺎﺑﻊ‬‫ـ‬‫ﺗ‬ ،‫رﯾﺎﺿـﯽ‬ ‫ـﺎی‬‫ـ‬‫ﮔﺮﻫ‬‫ـﺎی‬‫ـ‬‫ﻫ‬SAS‫ـﺎرت‬‫ـ‬‫ﻋﺒ‬ ‫ﺳـﺎﯾﺮ‬ ‫و‬‫و‬ ‫ـﺎن‬‫ـ‬‫ﮐﻤ‬ ‫دو‬ ‫درون‬ ‫ـﺒﺎﺗﯽ‬‫ـ‬‫ﻣﺤﺎﺳ‬ ‫ﻫـﺎی‬
‫ﻧﺘﯿﺠﻪ‬ ‫اﻧﺘﺴﺎب‬‫ی‬‫آ‬‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ،‫ﺟﺪﯾﺪ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﯾﮏ‬ ‫ﺑﻪ‬ ‫ن‬‫ﺷﻮد‬.
‫ﻣﺜﺎل‬۱-۳‫ﮔﺎم‬DATA‫ﺻﻮ‬ ‫ﭼﻨﺪ‬ ‫ﺷﺎﻣﻞ‬ ‫زﯾﺮ‬ ‫ی‬‫ﻋﺒﺎرت‬ ‫از‬ ‫رت‬‫اﺳﺖ‬ ‫اﻧﺘﺴﺎب‬ ‫ﻫﺎی‬.
DATA exp1_3;
INPUT (x1-x7)(@5 3*5.1 4*6.2);
y1=x1+x2**2;
y2=SQRT(x3);
y3=LOG(x7);
x5=ABS(x5);
DATALINES;
‫ﺧﻂ‬‫داده‬ ‫ﻫﺎی‬‫ﻫ‬‫ﺎ‬
;
RUN;
‫ﮔﺎم‬DATA‫ﺟﺪﯾﺪ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﺳﻪ‬ ‫ﺑﺎﻻ‬ ‫ی‬y1،y2‫و‬ ،y3‫ﻣﯽ‬ ‫اﯾﺠﺎد‬ ‫را‬‫ﮐﻨﺪ‬.‫ﻣﻘﺪار‬y1‫ﻣﺸﺎﻫﺪ‬ ‫ﻫﺮ‬ ‫ﺑﺮای‬‫ﺣﺎﺻﻞ‬ ،‫ه‬‫ﻣﻘـﺪار‬ ‫ﺟﻤـﻊ‬
x1‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ‫دوم‬ ‫ﺗﻮان‬ ‫و‬x2‫ی‬‫آن‬‫ﻣﺸﺎﻫﺪه‬‫اﺳﺖ‬.‫ﻣﻘﺪار‬y2‫رﯾﺸـﻪ‬ ‫ﻣﺸـﺎﻫﺪه‬ ‫ﻫـﺮ‬ ‫ﺑﺮای‬‫ﻣﻘـﺪار‬ ‫دوم‬ ‫ی‬x3‫ﻣﻘـﺪار‬ ‫و‬
y3‫ﻣﻘﺪار‬ ‫ﻃﺒﯿﻌﯽ‬ ‫ﻟﮕﺎرﯾﺘﻢ‬x7‫اﺳﺖ‬ ‫ﻣﺸﺎﻫﺪه‬ ‫آن‬.‫ﮔﺎم‬ ‫اﯾﻦ‬ ‫در‬DATA‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ‫ﻫﺮ‬ ،x5‫ﻫـﺮ‬ ‫ﺑـﺮای‬ ‫آن‬ ‫ﻗـﺪرﻣﻄﻠﻖ‬ ‫ﺑﺎ‬
‫ـﯽ‬‫ـ‬‫ﻣ‬ ‫ـﺎﯾﮕﺰﯾﻦ‬‫ـ‬‫ﺟ‬ ‫ـﺎﻫﺪه‬‫ـ‬‫ﻣﺸ‬‫ـﻮد‬‫ـ‬‫ﺷ‬.‫ـﺎم‬‫ـ‬‫ﮔ‬ ‫در‬DATA،‫ـﺎﻻ‬‫ـ‬‫ﺑ‬ ‫ی‬‫ـﺎی‬‫ـ‬‫ﻧﻤﺎدﻫ‬SQRT،LOG‫و‬ ،ABS‫ـﺎﺑﻊ‬‫ـ‬‫ﺗ‬‫ـﺎی‬‫ـ‬‫ﻫ‬SAS‫ـﻪ‬‫ـ‬‫ﮐ‬ ‫ـﺘﻨﺪ‬‫ـ‬‫ﻫﺴ‬
‫ﺷﻨﺎﺳﻪ‬‫ﻫﺎ‬‫ﺗﺎﺑﻊ‬ ‫اﯾﻦ‬ ‫ی‬‫ﮐ‬ ‫دو‬ ‫داﺧﻞ‬ ‫در‬ ‫ﻫﺎ‬‫ﻤ‬‫ﺎن‬‫آ‬‫ﺷﺪه‬ ‫ورده‬‫اﻧﺪ‬.
۲۲
‫ﻋﺒﺎرت‬‫ﻗﺎﻋﺪه‬ ‫ﺑﺎ‬ ‫ﻣﻄﺎﺑﻖ‬ ‫رﯾﺎﺿﯽ‬ ‫ﻫﺎی‬‫ﻗﺎﻋﺪه‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫ﻣﯽ‬ ‫ﮔﻔﺘﻪ‬ ‫ﺗﻘﺪم‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ،‫ﺷﻮﻧﺪ‬‫ﮔﯿﺮﻧﺪ‬.‫ﻗﺎﻋـﺪه‬ ‫اﯾﻦ‬‫زﯾـﺮ‬ ‫در‬ ‫ﻫـﺎ‬
‫ﺷﺪه‬ ‫آورده‬‫اﻧﺪ‬:
‫ﻗﺎﻋﺪه‬‫ی‬۱.‫ﻋﺒﺎرت‬ ‫اول‬‫ﮐﻤ‬ ‫دو‬ ‫درون‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ‫ﺎن‬،‫ﺷﻮﻧﺪ‬
‫ﻗﺎﻋﺪه‬‫ی‬۲.‫ﻋﻤﻞ‬‫ﮔﺮوه‬ ‫در‬ ‫ﮔﺮﻫﺎ‬‫رﺗﺒﻪ‬ ‫ﺑﺎ‬ ‫ﻫﺎی‬‫ﺑﺮای‬ ‫ﺑﺎﻻﺗﺮی‬ ‫اوﻟﻮﯾﺖ‬ ،‫زﯾﺮ‬ ‫ﺑﺎﻻی‬ ‫ی‬‫اﺟﺮا‬‫دارﻧﺪ‬ ‫ﺷﺪن‬.
‫ﮔﺮوه‬I**،+،‫ﭘﯿﺸﻮﻧﺪ‬ ‫ی‬-،‫ﭘﯿﺸﻮﻧﺪ‬ ‫ی‬)NOT(،><،<>
‫ﮔﺮوه‬II*،/
‫ﮔﺮوه‬III+‫ﭘ‬ ‫ی‬‫ﺴ‬،‫ﻮﻧﺪ‬-‫ی‬‫ﭘﺴﻮﻧﺪ‬
‫ﮔﺮوه‬IV||
‫ﮔﺮوه‬V<،<=،=،>=،> 
‫ﮔﺮوه‬VI&)AND(
‫ﮔﺮوه‬VIII|)OR(
‫ﻗﺎﻋﺪه‬‫ی‬۳.‫ﻋﻤﻞ‬‫ﯾﮑﺴﺎن‬ ‫اوﻟﻮﯾﺖ‬ ‫ﺑﺎ‬ ‫ﮔﺮﻫﺎ‬)‫ﮔﺮوه‬ ‫ﯾﮏ‬ ‫در‬(‫ﻣﯽ‬ ‫ﻣﺤﺎﺳﺒﻪ‬ ‫ﻋﺒﺎرت‬ ‫راﺳﺖ‬ ‫ﺑﻪ‬ ‫ﭼﭗ‬ ‫ﺳﻤﺖ‬ ‫از‬‫ﺷـﻮﻧﺪ‬،‫ﺑـﻪ‬‫ﺟـﺰ‬
‫ﻋﻤﻞ‬‫ﮔﺮوه‬ ‫ﮔﺮﻫﺎی‬I‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ‫ﭼﭗ‬ ‫ﺑﻪ‬ ‫راﺳﺖ‬ ‫ﺳﻤﺖ‬ ‫از‬ ‫ﮐﻪ‬‫ﺷﻮﻧﺪ‬.
‫ﻗﺎﻋﺪه‬ ‫در‬‫ﻧﻤﺎدﻫﺎی‬ ‫ﺑﻪ‬ ‫ﺑﺎﻻ‬ ‫ﻫﺎی‬&‫و‬|‫ﻋﻤﻞ‬‫ﻣﯽ‬ ‫ﻣﻨﻄﻘﯽ‬ ‫ﮔﺮﻫﺎی‬‫ﮔﻮﯾﻨﺪ‬.‫ﻋﻤﻞ‬‫ﮔﺮ‬||‫ﮐ‬ ‫را‬ ‫ﻣﺘﻐﯿﺮﻫﺎﯾﯽ‬ ‫ﻣﻘﺪارﻫﺎی‬‫ﻃـﺮف‬ ‫در‬ ‫ﻪ‬
‫ﻣﯽ‬ ‫ﻗﺮار‬ ‫آن‬ ‫راﺳﺖ‬ ‫و‬ ‫ﭼﭗ‬‫ﻣﯽ‬ ‫ﻗﺮار‬ ‫ﻫﻢ‬ ‫ﮐﻨﺎر‬ ‫در‬ ،‫ﮔﯿﺮﻧﺪ‬‫دﻫـﺪ‬.‫ﻋﻤﻞ‬‫ﮔﺮﻫـﺎی‬ >=‫و‬<=‫ﺑﺰرگ‬ ‫ﻧﻤﺎﯾـﺎﻧﮕﺮ‬ ‫ﺗﺮﺗﯿـﺐ‬ ‫ﺑـﻪ‬‫ﯾـﺎ‬ ‫ﺗـﺮ‬
‫ﮐﻮﭼﮏ‬ ‫و‬ ‫ﺑﺮاﺑﺮ‬‫ﻣﯽ‬ ‫ﺑﺮاﺑﺮ‬ ‫ﯾﺎ‬ ‫ﺗﺮ‬‫ﺑﺎﺷﻨﺪ‬.
۱-۵-۱-۳‫ﺷﺮﻃﯽ‬ ‫اﺟﺮاﻫﺎی‬
‫ﻋﺒﺎرت‬‫ﻫﺎی‬IF‐THEN‫و‬ELSE‫ﻣﯽ‬ ‫را‬‫ﻋﺒﺎرت‬ ‫اﺟﺮای‬ ‫ﺑﺮای‬ ‫ﺗﻮان‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎی‬‫ای‬SAS،‫ﻋﺒـﺎرت‬ ‫ﻣﻘﺪار‬ ‫ﺑﻪ‬ ‫ﺑﺴﺘﻪ‬‫ﮐـﺎر‬ ‫ﺑـﻪ‬
‫ﺑﺮد‬.‫دﺳﺘﻮری‬ ‫ﺷﮑﻞ‬‫اﯾﻦ‬‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬:
IF ‫ﺟﻤﻠﻪ‬ THEN ‫ﻋﺒﺎرت‬;
<ELSE ‫ﻋﺒﺎرت‬>;
،‫ﺑﺎﻻ‬ ‫دﺳﺘﻮری‬ ‫ﺷﮑﻞ‬ ‫در‬‫ﻧﺘﯿﺠﻪ‬‫ی‬‫ﻣﻘﺎﯾﺴﻪ‬ ‫ﻋﺒﺎرت‬ ‫ﯾﮏ‬‫ﻣﻘﺪار‬ ‫ای‬۱‫ﻣﯽ‬ ‫ﺻﻔﺮ‬ ‫ﯾﺎ‬‫ﮔﯿـﺮد‬.‫ﻣﻘـﺪار‬۱‫ﻧﺸـﺎﻧﮕﺮ‬‫ﺑـﻮدن‬ ‫درﺳـﺖ‬
‫ﻣﻘﺎﯾﺴﻪ‬‫آن‬ ‫ﺑـﻮدن‬ ‫ﻧﺎدرﺳـﺖ‬ ‫ﻧﺸـﺎﻧﮕﺮ‬ ‫ﺻـﻔﺮ‬ ‫ﻣﻘـﺪار‬ ‫و‬ ‫اﺳـﺖ‬.‫ﻣﻘﺎﯾﺴـﻪ‬ ‫ﻋﺒـﺎرت‬ ‫ﯾـﮏ‬‫ﺷـﺎﻣ‬ ‫ای‬‫ﻣﻘﺎﯾﺴـﻪ‬ ‫ﻞ‬‫و‬ ‫ﻋـﺪدی‬ ‫ﻫـﺎی‬
‫ﻧﻮﯾﺴﻪ‬‫ﻋﻤﻞ‬ ‫ﺑﺎ‬ ‫ای‬‫ﻣﻘﺎﯾﺴﻪ‬ ‫ﮔﺮﻫﺎی‬‫ﻣﺜﻞ‬ ‫ای‬AND)&(‫ﯾﺎ‬OR)|(‫اﺳﺖ‬.،‫ﺑﺎﻻ‬ ‫دﺳﺘﻮری‬ ‫ﺷﮑﻞ‬ ‫در‬‫ﻣﯽ‬‫ﺗﻮاﻧﺪ‬‫ﻋﺒـﺎرت‬ ‫ﻫـﺮ‬
‫اﺟﺮاﯾﯽ‬SAS‫ﺑﺎﺷﺪ‬.
۲۳
‫ﻣﺜﺎل‬۱-۴
IF exp < .8 THEN PUT id "Below Poverty Line" ;
ELSE PUT id "Above Poverty Line";
،‫ﺑﺎﻻ‬ ‫ﻣﺜﺎل‬ ‫در‬‫ﻧﺘﯿﺠﻪ‬‫ی‬‫ﺟﻤﻠﻪ‬‫ی‬exp < .8‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ‫اﮔﺮ‬ ‫اﺳﺖ‬ ‫ﯾﮏ‬exp‫ﻣﺸﺎﻫﺪه‬ ‫ی‬‫از‬ ‫ﮐﻤﺘـﺮ‬ ‫ﺟﺎری‬ ‫ی‬۸۰/۰‫ﺑﺎﺷـﺪ‬.
‫اﯾﻦ‬ ‫در‬‫ﺻﻮرت‬‫ﻋﺒﺎرت‬"Below Poverty Line"‫ﻣﻘﺎﺑﻞ‬ ‫در‬id‫ی‬‫ﻣﯽ‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﺟﺎری‬‫اﯾـﻦ‬ ‫ﻏﯿـﺮ‬ ‫در‬ ،‫ﺷـﻮد‬‫ﻣﻘـﺪار‬ ‫ﺻـﻮرت‬
‫ﻋﺒﺎرت‬ ‫و‬ ‫اﺳﺖ‬ ‫ﺻﻔﺮ‬ ‫ﺟﻤﻠﻪ‬"Above Poverty Line"‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺎﺑﻞ‬ ‫در‬id‫ﻣﯽ‬ ‫ﻧﻮﺷﺘﻪ‬‫ﺷﻮد‬.
‫ﻣﺜﺎل‬۱-۵
IF ostan='TEH' | ostan='QUM' THEN region='MARKAZI';
‫ﺑﺎﻻ‬ ‫ﻋﺒﺎرت‬‫آن‬ ‫ﻣﻘﺪار‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫ﻣﻨﻄﻘﯽ‬ ‫ﻋﺒﺎرت‬ ‫ﯾﮏ‬۱‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ‫اﮔﺮ‬ ‫اﺳﺖ‬ostan‫ﻣﺸﺎﻫﺪه‬ ‫ﺑﺮای‬‫ﺟﺎری‬ ‫ی‬"TEH"
‫ﯾﺎ‬"QUM"،‫ﺑﺎﺷﺪ‬‫و‬‫اﯾﻦ‬ ‫ﻏﯿﺮ‬ ‫در‬‫ﺻـﻮرت‬‫اﺳـﺖ‬ ‫ﺻـﻔﺮ‬.‫ﻣﺘﻐﯿـﺮ‬ ‫ﻣﻘـﺪار‬ ‫اﯾـﻦ‬ ‫ﺑـﺮ‬ ‫ﺑﻨـﺎ‬region‫ﻣﺸـﺎﻫﺪه‬‫رﺷـﺘﻪ‬ ‫ﺟـﺎری‬ ‫ی‬
‫ﻧﻮﯾﺴﻪ‬‫ای‬"MARKAZI"‫ﻣﯽ‬ ‫را‬‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ‫اﮔﺮ‬ ‫ﮔﯿﺮد‬ostan‫ﻣﺸـﺎﻫﺪه‬‫ﺟـﺎری‬ ‫ی‬"TEH"‫ﯾـﺎ‬"QUM"‫ﺑﺎﺷـﺪ‬.‫ﻏﯿـﺮ‬ ‫در‬
‫اﯾﻦ‬‫ﻣﻘﺪار‬ ‫ﺻﻮرت‬region‫ﻣﯽ‬ ‫ﺧﺎﻟﯽ‬ ‫ﯾﺎ‬‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ ‫ﯾﺎ‬ ‫و‬ ‫ﻣﺎﻧﺪ‬IF‐THEN‫ﻣﯽ‬ ‫ﻣﺸﺨﺺ‬ ‫دﯾﮕﺮ‬‫ﺷﻮد‬.
‫ﻣﺜﺎل‬۱-۶‫ﺟﻤﻠﻪ‬ ‫ﻣﻘﺪار‬ ‫ﺑﻪ‬ ‫ﻣﺸﺮوط‬ ‫اﺳﺖ‬ ‫ﻻزم‬ ‫اوﻗﺎت‬ ‫ﮔﺎﻫﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻋﺒﺎرت‬ ‫ﭼﻨﺪ‬ ‫ای‬‫ای‬SAS‫ﻧﺸﻮد‬ ‫اﺟﺮا‬.‫ﻋﺒﺎرت‬‫ﻫـﺎی‬
‫ﻧﺤﻮه‬ ‫زﯾﺮ‬‫ی‬‫ﻋﺒﺎرت‬ ‫ﺑﺮﺧﯽ‬ ‫اﺟﺮای‬ ‫از‬ ‫ﺟﻠﻮﮔﯿﺮی‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎی‬‫ﻫﺎی‬SAS‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬‫دﻫﺪ‬.
IF 0.0 <= exp <=0.8 THEN GO TO poverty;
‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬‫ا‬‫ی‬SAS
poverty: inc=(person*min)+2;
‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬‫ا‬‫ی‬SAS
‫ﻋﺒﺎرت‬ ‫در‬‫ﮐﻠﻤﻪ‬ ‫ﺑﺎﻻ‬ ‫ﻫﺎی‬‫ی‬poverty‫اﺳﺖ‬ ‫ﺑﺮﭼﺴﺐ‬ ‫ﯾﮏ‬.‫ﺻﻮرﺗﯽ‬ ‫در‬‫ﻋﺒﺎرت‬ ‫ﮐﻪ‬0.0<= exp <=0.8 ،‫ﺑﺎﺷـﺪ‬ ‫درﺳـﺖ‬
SAS‫اﺟﺮای‬ ‫از‬"‫ﻋﺒﺎرت‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎی‬‫ای‬SAS"‫اول‬‫ﻋﺒﺎرت‬ ،‫ﮐﺮده‬ ‫ﺟﻠﻮﮔﯿﺮی‬inc=(person*min)+2;‫ﻣﯽ‬ ‫اﺟﺮا‬ ‫را‬‫ﮐﻨﺪ‬.
‫ﮔﺮوه‬ ‫از‬DO‐END‫ﻋﺒﺎرت‬ ‫ﭼﻨﺪ‬ ‫اﺟﺮای‬ ‫ﺑﺮای‬ ‫ﻧﯿﺰ‬SAS‫ﻣﯽ‬ ‫ﻧﯿﺰ‬‫ﮐﺮد‬ ‫اﺳﺘﻔﺎده‬ ‫ﺗﻮان‬.‫ﻧﺤـﻮه‬ ‫زﯾـﺮ‬ ‫ﻣﺜـﺎل‬‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ی‬DO‐
END‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬‫دﻫﺪ‬.
‫ﻣﺜﺎل‬۱-۷
IF inc < 0.8 THEN DO;
n = n+1;
pexp = exp/n;
۲۴
weight = .4;
END;
ELSE weight = .2;
‫ﻣﺜﺎل‬۱-۸‫ﻧﺤﻮه‬ ‫ﻣﺜﺎل‬ ‫اﯾﻦ‬‫ی‬‫ﻋﺒﺎرت‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﺟﺪﯾﺪ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﯾﮏ‬ ‫ﺳﺎﺧﺘﻦ‬‫ﻫﺎی‬IF‐THEN/ELSE‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬‫دﻫﺪ‬.
DATA group1;
INPUT id score @@;
DATALINES;
01 18 02 14 03 09 04 13 05 17 06 12 07 19 08 11 09 10 10 10
;
RUN;
DATA group2;
SET group1;
IF 0 <= score < 10 THEN scoregroup = 'F';
IF 10 <= score < 12 THEN scoregroup = 'D';
IF 12 <= score < 14 THEN scoregroup = 'C';
IF 14 <= score < 17 THEN scoregroup = 'B';
IF score >= 17 THEN scoregroup = 'A';
RUN;
PROC PRINT DATA=group2;
RUN;
DATA group3;
SET group2;
IF scoregroup='F' THEN PUT id='NOT PASSED';
RUN;
PROC PRINT;
RUN;
‫ﻧﻤﺎد‬ ‫ﺑﺎﻻ‬ ‫ﻣﺜﺎل‬ ‫در‬"@@"‫ﻣﯽ‬ ‫اﺟﺎزه‬ ‫ﮐﺎرﺑﺮ‬ ‫ﺑﻪ‬‫دا‬ ‫ﺧﻂ‬ ‫ﻫﺮ‬ ‫در‬ ‫ﮐﻪ‬ ‫دﻫﺪ‬‫ده‬‫ای‬‫ﺷـﻮد‬ ‫وارد‬ ‫ﻣﺸﺎﻫﺪه‬ ‫ﯾﮏ‬ ‫از‬ ‫ﺑﯿﺶ‬ ‫ﻣﻘﺪارﻫﺎی‬.
‫اﯾﻦ‬ ‫ﻏﯿﺮ‬ ‫در‬‫داده‬ ‫ﺳﻄﺮ‬ ‫ﻫﺮ‬ ‫در‬ ‫ﺻﻮرت‬‫ﺷﻮد‬ ‫وارد‬ ‫ﻣﺸﺎﻫﺪه‬ ‫ﯾﮏ‬ ‫ﺑﺎﯾﺪ‬ ‫ای‬.‫ﻋﺒﺎرت‬SET‫ﻋﺒﺎرت‬ ‫از‬‫ﮔـﺎم‬ ‫در‬ ‫ﮐـﻪ‬ ‫اﺳـﺖ‬ ‫ﻫـﺎﯾﯽ‬
DATA‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬‫ﺑﻪ‬ ‫و‬ ‫رود‬SAS‫ﻣـﯽ‬‫داده‬ ‫ﮐـﻪ‬ ‫ﮔﻮﯾـﺪ‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﻫـﺎی‬‫ی‬‫داده‬‫از‬ ‫ﺑﻌـﺪ‬ ‫ﻧـﺎﻣﺶ‬ ‫ﮐـﻪ‬ ‫ﻫـﺎﯾﯽ‬SET‫ﻣـﯽ‬‫در‬ ‫را‬ ‫آﯾـﺪ‬
‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻋﺒﺎرت‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫ﮐﻪ‬ ‫ﻧﺎﻣﯽ‬ ‫ﺑﺎ‬ ‫ﻫﺎﯾﯽ‬DATA‫ﻣﯽ‬‫ﻋﺒـﺎرت‬ ‫اﻋﻤﺎل‬ ‫ﺑﺎ‬ ‫آﯾﺪ‬‫ﻋﺒـﺎرت‬ ‫دﻧﺒـﺎل‬ ‫ﺑـﻪ‬ ‫ﮐـﻪ‬ ‫ﺷـﺮﻃﯽ‬ ‫ﻫـﺎی‬
۲۵
SET‫ﻣﯽ‬‫ﺑﺮﯾﺰد‬ ،‫آﯾﻨﺪ‬.‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﻣﺜﺎل‬ ‫ﺑﺮای‬‫داده‬ ‫ی‬‫ﻫـﺎی‬group3‫ﺷـﺎﻣﻞ‬‫ﻣﺸـﺎﻫﺪه‬‫ﻫﺎی‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎی‬group2
‫ﻧﻤﺮه‬ ‫ﻣﻘﺎﺑﻞ‬ ‫در‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬‫ﻫﺎی‬F‫آن‬‫ﻫﺎ‬‫ﻋﺒﺎرت‬"NOT PASSED"‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻧﻮﺷﺘﻪ‬.
‫ﺧﺮوﺟﯽ‬‫ﻣﺜﺎل‬۱-۸‫ﺷﮑﻞ‬ ‫در‬‫ﻫﺎی‬۱-۳‫و‬۱-۴‫اﺳـﺖ‬ ‫ﺷﺪه‬ ‫داده‬ ‫ﻧﻤﺎﯾﺶ‬.‫ﮔـﺎم‬ ‫ﺳـﻪ‬ ‫ﻣﺜـﺎل‬ ‫اﯾـﻦ‬ ‫در‬DATA‫ﻣﺨﺘﻠـﻒ‬ ‫ی‬
‫ﻣﯽ‬ ‫دﯾﺪه‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﺗﺮﺗﯿﺐ‬ ‫ﺑﻪ‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬‫داده‬ ‫ی‬‫ﻣﻮﻗـﺖ‬ ‫ﻫـﺎی‬SAS‫ﻧـﺎم‬ ‫ﺑـﻪ‬‫ﻫـﺎی‬group1،group2،‫و‬group3‫اﯾﺠـﺎد‬ ‫را‬
‫ﻣﯽ‬‫ﮐﻨﻨﺪ‬.
‫ﮔﺎم‬ ‫در‬DATA‫او‬ ‫ی‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ل‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬group1‫ﺑﺎ‬۱۰‫ﻣﯽ‬ ‫ﺳﺎﺧﺘﻪ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫دو‬ ‫و‬ ‫ﻣﺸﺎﻫﺪه‬‫ﺷﻮد‬.‫ﮔـﺎم‬ ‫در‬
DATA‫ـﻪ‬‫ـ‬‫ﻣﺠﻤﻮﻋ‬ ‫دوم‬ ‫ی‬‫داده‬ ‫ی‬‫ـﺎی‬‫ـ‬‫ﻫ‬SAS‫ـﺎم‬‫ـ‬‫ﻧ‬ ‫ـﺎ‬‫ـ‬‫ﺑ‬group2‫ـﺎﻫﺪه‬‫ـ‬‫ﻣﺸ‬ ‫از‬ ‫ـﺘﻔﺎده‬‫ـ‬‫اﺳ‬ ‫ـﺎ‬‫ـ‬‫ﺑ‬‫در‬ ‫ـﺎ‬‫ـ‬‫ﻫ‬group1‫ـﺮ‬‫ـ‬‫ﻣﺘﻐﯿ‬ ‫ـﮏ‬‫ـ‬‫ﯾ‬ ‫ـﺎ‬‫ـ‬‫ﺑ‬
‫ﻧﻮﯾﺴﻪ‬‫ﻧﺎم‬ ‫ﺑﻪ‬ ‫اﺿﺎﻓﻪ‬ ‫ای‬scoregroup‫ﻣﻘﺪار‬ ‫ﺑﻪ‬ ‫ﺗﻮﺟﻪ‬ ‫ﺑﺎ‬ ‫ﻣﺸﺎﻫﺪه‬ ‫ﻫﺮ‬ ‫ﺑﺮای‬ ‫آن‬ ‫ﻣﻘﺪار‬ ‫ﮐﻪ‬score‫ﻣﯽ‬ ‫ﺗﻌﯿﯿﻦ‬‫اﯾﺠـﺎد‬ ،‫ﺷﻮد‬
‫ﻣﯽ‬‫ﺷﻮد‬.‫ﮔﺎم‬ ‫در‬DATA‫ﻣﺠﻤﻮﻋﻪ‬ ،‫ﺳﻮم‬ ‫ی‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬group3‫اﺿﺎﻓﯽ‬ ‫اﻃﻼع‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬"NOT PASSED" 
‫ﺑﺮای‬id‫ﻧﻤﺮه‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫ی‬F‫ﮔﺮﻓﺘﻪ‬‫ﻣﯽ‬ ‫ﺳﺎﺧﺘﻪ‬ ‫اﻧﺪ‬‫ﺷﻮد‬)‫ﺷﮑﻞ‬۱-۴(.
Obs id score scoregroup
1 1 18 A
2 2 14 B
3 3 09 F
4 4 13 C
5 5 17 A
6 6 12 C
7 7 19 A
8 8 11 D
9 9 10 D
10 10 10 D
‫ﺷﮑﻞ‬۱-۳
‫ﺷﮑﻞ‬۱-۴
‫ﻋﻤﻞ‬‫ﮔﺮ‬IN
‫اﯾﻦ‬ ‫ﺑﺮای‬‫ﻋﻤـﻞ‬ ‫ﻫﻤـﺮاه‬ ‫ﺑـﻪ‬ ‫ﻣﻘﺎﯾﺴـﻪ‬ ‫ﭼﻨـﺪﯾﻦ‬ ‫از‬ ‫ﻧﺎﭼﺎرﯾـﺪ‬ ‫ﮐﻨﯿـﺪ‬ ‫ﻣﻘﺎﯾﺴـﻪ‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫از‬ ‫ﻓﻬﺮﺳﺘﯽ‬ ‫ﺑﺎ‬ ‫را‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﯾﮏ‬ ‫ﻣﻘﺪار‬ ‫ﮐﻪ‬‫ﮔﺮ‬
‫ﻣﻨﻄﻘﯽ‬OR‫ﺑﮕﯿﺮﯾﺪ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫زﯾﺮ‬ ‫دﺳﺘﻮر‬ ،‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬:
IF a = 2 OR a = 5 OR a = 7 OR a = 9 THEN b = 1;
‫ﻣﻮرد‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﺗﻌﺪاد‬ ‫ﮐﻪ‬ ‫زﻣﺎﻧﯽ‬‫ﻧﻤﯽ‬ ‫ﻧﻈﺮ‬ ‫ﺑﻪ‬ ‫ﻣﻨﻄﻘﯽ‬ ‫ﺑﺎﻻ‬ ‫دﺳﺘﻮری‬ ‫ﺷﮑﻞ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺷﻮد‬ ‫زﯾﺎد‬ ‫ﻣﻘﺎﯾﺴﻪ‬‫ﻣﻮارد‬ ‫اﯾﻦ‬ ‫در‬ ،‫رﺳﺪ‬
‫ﻣﯽ‬‫ﻋﻤﻠﮕﺮ‬ ‫از‬ ‫ﺗﻮاﻧﯿﺪ‬IN‫ﺑﻪ‬‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬:
IF a IN(2, 5, 7, 9) THEN b = 1;
۲۶
‫ﻣﯽ‬ ‫را‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻓﻬﺮﺳﺖ‬ ‫در‬ ‫ﻣﻮﺟﻮد‬ ‫ﻣﻘﺎدﯾﺮ‬‫ﻓﺎﺻﻠﻪ‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﺗﻮاﻧﯿﺪ‬‫ﮐﻨﯿـﺪ‬ ‫ﺟﺪا‬ ‫ﻫﻢ‬ ‫از‬ ‫واوک‬ ‫ﯾﮏ‬ ‫ﯾﺎ‬ ‫ﺧﺎﻟﯽ‬ ‫ی‬.‫ﻣﺜـﺎ‬ ‫ﺑـﺮای‬‫ل‬
‫ﺑﺒﯿﻨﯿﺪ‬ ‫را‬ ‫زﯾﺮ‬ ‫دﺳﺘﻮر‬:
IF Province IN('Tehran' 'Isfahan' 'Shiraz' 'Alborz') THEN ...
 
۱-۵-۱-۴‫ﻣﺤﺎﺳﺒﻪ‬‫ﻣﮑﺮر‬ ‫ﻫﺎی‬
‫اﻧﺠﺎم‬‫ﻣﺤﺎﺳﺒﻪ‬‫ﺑﺮ‬ ‫ﻋﻼوه‬ ‫ﺗﮑﺮاری‬ ‫ﻫﺎی‬‫از‬ ‫اﺳﺘﻔﺎده‬‫ﻋﺒﺎرت‬DO‐END‫ﻣﯽ‬‫ﺗﻮاﻧﺪ‬‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬‫ﻋﺒﺎرت‬‫ﻫﺎی‬DO‫اﻧﺠﺎم‬ ‫ﻧﯿﺰ‬
‫ﺷﻮ‬‫ﻧ‬‫ﺪ‬.‫ﻋﺒﺎرت‬‫ﻫﺎی‬DO‫ی‬‫ﻣﮑﺮر‬،DO WHILE‫و‬DO UNTIL‫اﯾﻦ‬ ‫و‬ ‫ﻣﺘﻨﻮع‬ ‫ﮐﺎرﺑﺮدﻫﺎی‬ ‫دﻟﯿﻞ‬ ‫ﺑﻪ‬‫ﻣـﯽ‬ ‫ﮐﻪ‬‫آن‬ ‫ﺗـﻮان‬‫را‬ ‫ﻫـﺎ‬
‫اﻧﻌﻄﺎف‬ ،‫ﮐﺮد‬ ‫ادﻏﺎم‬‫دارﻧﺪ‬ ‫ﺑﯿﺸﺘﺮی‬ ‫ﭘﺬﯾﺮی‬.
‫ﻣﺜﺎل‬۱-۹‫ﮐﺎرﺑﺴﺖ‬ ‫از‬ ‫ﻧﻤﺎﯾﺸﯽ‬ ‫ﻣﺜﺎل‬ ‫اﯾﻦ‬DO‫ﻋﺒﺎرت‬ ‫و‬ ‫ﺗﮑﺮاری‬ ‫ی‬ARRAY‫را‬‫اراﺋﻪ‬‫ﻣﯽ‬‫دﻫﺪ‬:
DATA exam;
INPUT hw1-hw6 test1-test3;
ARRAY exam(9) hw1-hw6 test1-test3;
DO i=1 to 8;
IF exam{i}=. THEN exam{i}=0;
END;
DATALINES;
‫ﺧﻂ‬‫داده‬ ‫ﻫﺎی‬‫ای‬
;
RUN;
‫ﮐﻠﯽ‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬Do‫ی‬‫ﻣﮑﺮر‬‫دﻧﺒﺎﻟﻪ‬ ‫روی‬ ‫ﯾﮑﺴﺎن‬ ‫ﻋﻤﻠﯿﺎت‬ ‫اﻧﺠﺎم‬ ‫ﺑﺮای‬‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫از‬ ‫ای‬‫رود‬.‫دﻧﺒﺎﻟـﻪ‬ ‫ﻣﻌﺮﻓﯽ‬‫از‬ ‫ای‬
‫ﻋﺒﺎرت‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ARRAY‫ﻣﯽ‬ ‫ﺻﻮرت‬‫ﮔﯿﺮد‬.‫ﮔ‬ ‫در‬ ‫ﻋﺒﺎرت‬ ‫اﯾﻦ‬‫ﺎم‬DATAً‫ﻻ‬‫ﻣﻌﻤﻮ‬‫ﻣﺘﻐﯿﺮﻫـﺎ‬ ‫ﻣﻌﺮﻓـﯽ‬ ‫از‬ ‫ﺑﻌﺪ‬
‫ﻣﯽ‬ ‫آورده‬‫ﺷﻮد‬.‫ﻋﺒﺎرت‬ARRAY‫ﻣﯽ‬ ‫اﺟﺎزه‬ ‫ﮐﺎرﺑﺮ‬ ‫ﺑﻪ‬‫ﻋﻨﺼـﺮﻫﺎی‬ ‫ﺑﺎ‬ ‫ﻣﺘﻨﺎﻇﺮ‬ ‫ﮐﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎﯾﯽ‬ ‫ﺑﻪ‬ ‫ﮐﻪ‬ ‫دﻫﺪ‬ARRAY،‫ﻫﺴـﺘﻨﺪ‬
‫دﻫﺪ‬ ‫ارﺟﺎع‬.
‫ﻣﺜﺎل‬ ‫در‬۱-۹‫ﻣﺘﻐﯿﺮﻫﺎی‬hw1‐hw6‫و‬test1‐test3‫ﻋﻨﺼﺮﻫﺎی‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ARRAY‫ﻧﺎم‬ ‫ﺑﺎ‬exam‫ﺷـﺪه‬ ‫ﻣﻌﺮﻓﯽ‬‫اﻧـﺪ‬.
‫ﻫﻨﮕﺎﻣﯽ‬‫از‬ ‫ﺷﺎﺧﺺ‬ ‫ﮐﻪ‬۱‫ﺗﺎ‬۸،‫اﺳﺖ‬‫ﺣﻠﻘﻪ‬ ‫در‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬‫ی‬DO‫ﺑـﺎ‬ ‫ﺗﺮﺗﯿـﺐ‬ ‫ﺑـﻪ‬exam{1}‫ﺗـﺎ‬exam{8}‫ارﺟـﺎع‬
‫داده‬‫ﻣﯽ‬‫ﺷﻮد‬.‫ﺣﻠﻘﻪ‬ ‫داﺧﻞ‬‫ی‬DO‫از‬‫ﺷﺎﺧﺺ‬i‫ﺷﻤﺎرش‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫اﺳﺘﻔﺎده‬ ‫ﮔﺮ‬.
‫از‬ ‫ﻣﺜﺎل‬ ‫اﯾﻦ‬ ‫در‬DO‫ی‬‫ﻣﮑﺮر‬‫داده‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺮای‬‫ﮔﻢ‬ ‫ﻫﺎی‬‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ﺑـﺮای‬ ‫ﺻـﻔﺮ‬ ‫ﺑﻪ‬ ‫ﺷﺪه‬hw1‐hw6‫و‬test1‐test3‫در‬
‫ﺧﻂ‬‫داده‬ ‫ﻫﺎی‬‫ﻋﺒﺎرت‬ ‫از‬ ‫و‬ ‫ای‬ARRAY‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬ ‫ارﺟﺎع‬ ‫ﺑﺮای‬.
۲۷
‫ﻋﺒﺎرت‬ ‫ﮐﻠﯽ‬ ‫ﺷﮑﻞ‬ARRAY‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬:
ARRAY ‫ﻧﺎم‬‫آراﯾﻪ‬ {n} ‫ﻋﻨﺼﺮﻫﺎی‬ ‫ﻧﺎم‬‫آراﯾﻪ‬ ‫آﻏﺎزﯾﻦ‬ ‫ﻣﻘﺪارﻫﺎی‬ ;
‫ﮐﻪ‬{n}‫ﻋﻨﺼﺮﻫﺎی‬ ‫ﺗﻌﺪاد‬‫آراﯾﻪ‬،»‫ﻧـﺎم‬‫ﻋﻨﺼـﺮﻫﺎی‬‫آراﯾـﻪ‬«‫و‬ ،‫اﺳـﺖ‬ ‫ﻣﺘﻐﯿﺮﻫـﺎ‬ ‫ﻧـﺎم‬ ‫از‬ ‫ﻓﻬﺮﺳـﺘﯽ‬»‫ﻣﻘـ‬‫ﺪا‬‫آﻏـﺎزﯾﻦ‬ ‫رﻫﺎی‬«
‫ﻧﻮﯾﺴﻪ‬ ‫ﯾﺎ‬ ‫و‬ ‫ﻋﺪدی‬ ‫ﺷﺮوع‬ ‫ﻣﻘﺪارﻫﺎی‬‫ﻋﻨﺼﺮﻫﺎی‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ای‬‫آراﯾﻪ‬‫اﺳﺖ‬.
‫ﻣﺜﺎل‬۱-۱۰
DATA set1;
INPUT d1-d7;
ARRAY day{7} d1-d7;
ARRAY hour{7} h1-h7;
DO i=1 to 7;
IF day{i}=999 THEN day{i}=. ;
hour{i}=day{i}*12;
END;
DATALINES;
‫ﺧﻂ‬‫داده‬ ‫ﻫﺎی‬‫ای‬
;
RUN;
‫ﻣﺜﺎل‬ ‫اﯾﻦ‬ ‫در‬‫اراﺋﻪ‬‫ی‬day‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺎ‬ ‫ﻣﺮﺗﺒﻂ‬d1‫ﺗﺎ‬d7‫و‬‫اراﺋـﻪ‬‫ی‬hour ‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ﺑـﺎ‬ ‫ﻣـﺮﺗﺒﻂ‬h1‫ﺗـﺎ‬h7‫ﺗﻌﺮﯾـﻒ‬
‫ﺷﺪه‬‫اﻧﺪ‬.‫ﺣﻠﻘﻪ‬ ‫در‬‫ی‬DO‫ﻣﺘﻐﯿﺮ‬ ‫ﻫﺮ‬ ‫ﻣﻘﺪار‬d1‫ﺗﺎ‬d7‫ﻣﻘﺪار‬ ‫اﮔﺮ‬۹۹۹‫ﮔﻢ‬ ‫ﻣﻘﺪار‬ ‫ﺑﻪ‬ ‫ﺑﺎﺷﻨﺪ‬ ‫داﺷﺘﻪ‬‫ﻣـﯽ‬ ‫ﺗﺒـﺪﯾﻞ‬ ‫ﺷـﺪه‬‫ﺷـﻮﻧﺪ‬.
‫ﻣﺘﻐﯿﺮ‬ ‫ﻫﺮ‬ ‫ﺟﺎری‬ ‫ﻣﻘﺪار‬ ‫ﺳﭙﺲ‬h1‫ﺗﺎ‬h7‫ﻣﻘﺪار‬ ‫ﺑﺎ‬d1‫ﺗﺎ‬d7‫در‬ ‫ﺿﺮب‬۱۲‫ﻣﯽ‬ ‫ﺗﻨﻈﯿﻢ‬‫ﺷﻮد‬.
‫ﻣﺜﺎل‬۱-۱۱
DATA IDO;
DO i=1 to 4;
DO j=2,4,6,8;
k=(i-1)*5+j;
OUTPUT;
END;
END;
RUN;
PROC PRINT DATA=IDO;
TITLE 'Iterative DO Loop in a Single DATA Step';
RUN;
۲۸
‫ﻧﻤﺎﯾﺸﯽ‬ ‫ﻣﺜﺎل‬ ‫اﯾﻦ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫از‬‫ﺣﻠﻘﻪ‬ ‫ﯾﮏ‬ ‫ﺷﺎﻣﻞ‬ ‫ای‬‫ی‬DO‫آﺷﯿﺎﻧﻪ‬ ‫ی‬‫ای‬‫اراﺋﻪ‬‫ﻣﯽ‬‫دﻫﺪ‬.‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬‫ﻣﺘﻐﯿﺮﺟﺪﯾـﺪ‬ ‫ﺑـﺎﻻ‬ ‫ی‬k‫ﺑـﺎ‬
‫ﻋﺒﺎرت‬ ‫از‬ ‫اﺳﺘﻔﺎده‬‫ﻫﺎی‬DO‫ﺷﻤﺎرﺷﯽ‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫و‬i‫و‬j‫ﻣﯽ‬ ‫اﯾﺠﺎد‬‫ﺷﻮد‬.‫ﺳﻄﺢ‬ ‫ﺳﺎﺧﺘﻦ‬ ‫ﺑﺮای‬ ‫ﻓﻦ‬ ‫اﯾﻦ‬‫در‬ ‫ﻋـﺎﻣﻠﯽ‬ ‫ﻫﺎی‬
‫ﻋﺎﻣﻞ‬ ‫ﺑﺎ‬ ‫ﺗﺮﮐﯿﺐ‬‫ﺗﻘﺎﻃﻊ‬ ‫ﯾﺎ‬ ‫ﻫﺎ‬‫آزﻣﺎﯾﺶ‬ ‫در‬ ‫ﻫﺎ‬‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬ ‫ﻋﺎﻣﻠﯽ‬ ‫ﻫﺎی‬‫رود‬.‫ﻋﺒﺎرت‬OUTPUT‫ﺣﻠﻘﻪ‬ ‫داﺧﻞ‬‫ی‬DO‫ﻣﻮﺟـﺐ‬
‫ﺟﺪﯾﺪ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﺷﺪن‬ ‫ﻧﻮﺷﺘﻪ‬k‫در‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﮐﻪ‬ ‫ی‬‫ﺷـﺪ‬ ‫ﺧﻮاﻫﺪ‬،‫ﻣﯽ‬‫ﺷـﻮد‬.‫ﺑﺮﻧﺎﻣـﻪ‬ ‫اﺟـﺮای‬‫ی‬SAS‫ﺑـﺎﻻ‬۱۶
‫ﻣﯽ‬ ‫ﺗﻮﻟﯿﺪ‬ ‫ﻣﺸﺎﻫﺪه‬‫ﮐﻨﺪ‬.‫ﺧﺮوﺟﯽ‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬.
Obs i j k
1 1 2 2
2 1 4 4
3 1 6 6
4 1 8 8
5 2 2 7
6 2 4 9
7 2 6 11
8 2 8 13
9 3 2 12
10 3 4 14
11 3 6 16
12 3 8 18
13 4 2 17
14 4 4 19
15 4 6 21
16 4 8 23 
‫ﺷﮑﻞ‬۱-۵‫ﺑﺮو‬‫ﻣ‬ ‫داد‬‫ﺜﺎل‬۱-۱۱
‫ﺣﻠﻘﻪ‬‫ﻫﺎ‬‫ی‬‫ﺗﮑﺮار‬DO WHILE‫و‬DO UNTIL
DO UNTIL(condition);
SAS-statements
END;
DO WHILE(condition);
SAS-statements
END;
‫ـﻪ‬‫ـ‬‫ﺣﻠﻘ‬‫ی‬DO WHILE‫ﻋﺒﺎرت‬‫ﻣﯽ‬ ‫ـﺮا‬‫ـ‬‫اﺟ‬ ‫ـﺖ‬‫ـ‬‫اﺳ‬ ‫ـﺮار‬‫ـ‬‫ﺑﺮﻗ‬ ‫ـﺮ‬‫ـ‬‫ﻧﻈ‬ ‫ـﻮرد‬‫ـ‬‫ﻣ‬ ‫ـﺮط‬‫ـ‬‫ﺷ‬ ‫ـﻪ‬‫ـ‬‫ﮐ‬ ‫ـﯽ‬‫ـ‬‫وﻗﺘ‬ ‫ـﺎ‬‫ـ‬‫ﺗ‬ ‫را‬ ‫ـﻮط‬‫ـ‬‫ﻣﺮﺑ‬ ‫ـﺎی‬‫ـ‬‫ﻫ‬‫ـﺪ‬‫ـ‬‫ﮐﻨ‬.‫ـﻪ‬‫ـ‬‫ﺣﻠﻘ‬‫ی‬
DO UNTIL‫ﻋﺒﺎرت‬‫ﺑﺮ‬ ‫ﺗﺎ‬ ‫را‬ ‫ﻣﺮﺑﻮط‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫اﺟﺮا‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﺷﺮط‬ ‫ﺷﺪن‬ ‫ﻗﺮار‬‫ﮐﻨﺪ‬.‫ﻧﻈـﺮ‬ ‫ﻣـﻮرد‬ ‫ﺷـﺮط‬ ،‫دﯾﮕﺮ‬ ‫ﻋﺒﺎرت‬ ‫ﺑﻪ‬
‫در‬DO WHILE‫در‬ ‫ﺷـﺮط‬ ‫اﯾـﻦ‬ ‫ﮐـﻪ‬ ‫ﺣـﺎﻟﯽ‬ ‫در‬ ،‫اﺳـﺖ‬ ‫ﺣﻠﻘـﻪ‬ ‫اﺟﺮای‬ ‫ﺷﺮط‬DO UNTIL‫اﺳـﺖ‬ ‫ﺣﻠﻘـﻪ‬ ‫ﺗﻮﻗـﻒ‬ ‫ﺷـﺮط‬.‫در‬
DO WHILE‫ﺣﻠﻘﻪ‬ ‫اﺑﺘﺪای‬ ‫در‬ ‫ﺷﺮط‬ ،‫ﺑﺮرﺳﯽ‬‫ﻣﯽ‬‫در‬ ‫ﮐـﻪ‬ ‫ﺣـﺎﻟﯽ‬ ‫در‬ ،‫ﺷﻮد‬DO UNTIL‫ﺣﻠﻘـﻪ‬ ‫اﻧﺘﻬـﺎی‬ ‫در‬ ‫ﺷـﺮط‬ ،‫ﺑﺮرﺳـﯽ‬
‫ﻣﯽ‬‫ﺷﻮد‬.‫ﻋﺒﺎرت‬ ‫ﺑﻪ‬‫ﺣﻠﻘﻪ‬ ،‫دﯾﮕﺮ‬‫ی‬DO WHILE‫ﻫﯿﭻ‬ ‫اﺳﺖ‬ ‫ﻣﻤﮑﻦ‬‫ﺣﻠﻘﻪ‬ ‫وﻟﯽ‬ ،‫ﻧﺸﻮد‬ ‫اﺟﺮا‬ ‫ﮔﺎه‬‫ی‬DO UNTIL‫اﻗـﻞ‬ ّ‫ﺪ‬‫ﺣـ‬
‫ﻣﯽ‬ ‫اﺟﺮا‬ ‫ﺑﺎر‬ ‫ﯾﮏ‬‫ﺷﻮد‬.
‫ﻣﺜﺎل‬:‫ﻣﺠﻤﻮﻋﻪ‬ ‫دو‬‫ﻣﯽ‬ ‫ﺗﻮﻟﯿﺪ‬ ‫ﯾﮑﺴﺎﻧﯽ‬ ‫ﺧﺮوﺟﯽ‬ ،‫زﯾﺮ‬ ‫دﺳﺘﻮرات‬ ‫ی‬‫ﮐﻨﻨﺪ‬:
۲۹
DATA _NULL_;
n = 1;
DO UNTIL(n >= 5);
PUT n=;
n + 1;
END;
RUN;
DATA _NULL_;
n = 1;
DO WHILE(n < 5);
PUT n=;
n + 1;
END;
RUN;
۱-۵-۲‫ﺗﺎﺑﻊ‬‫ﻫﺎی‬SAS 
‫ﺗﺎﺑﻊ‬‫ﻫﺎی‬SAS‫ﺗﺒﺪﯾﻞ‬ ‫ﯾﺎ‬ ‫ﻣﺤﺎﺳﺒﺎت‬‫ﺑﻪ‬ ‫ﮐﻪ‬ ‫ﻣﻘﺎدﯾﺮی‬ ‫روی‬ ‫را‬ ‫ﻫﺎﯾﯽ‬‫ﻣﯽ‬ ‫درﯾﺎﻓﺖ‬ ‫ﺷﻨﺎﺳﻪ‬ ‫ﻋﻨﻮان‬‫ﻣﯽ‬ ‫اﻧﺠـﺎم‬ ‫ﮐﻨﻨـﺪ‬‫دﻫﻨـﺪ‬.‫ﻫـﺮ‬
‫ﺷﻨﺎﺳﻪ‬ ‫اﯾﻦ‬ ‫از‬ ‫ﯾﮏ‬‫ﻣﯽ‬ ‫ﻫﺎ‬‫ﻣﺤﺎ‬ ‫ﻋﺒـﺎرت‬ ‫ﯾـﮏ‬ ‫ﯾـﺎ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻧﺎم‬ ،‫ﺛﺎﺑﺖ‬ ‫ﻣﻘﺪار‬ ‫ﺗﻮاﻧﺪ‬‫ﺑﺎﺷـﺪ‬ ‫ﺳـﺒﺎﺗﯽ‬.‫ﺗﺎﺑﻊ‬ ‫ﺑﺮﺧـﯽ‬‫ﻫـﺎی‬SAS‫در‬
‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻓﻬﺮﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺟﺪول‬:
‫ﺗﺎﺑﻊ‬‫ﺷﺮح‬‫ﻣﺜﺎل‬‫ﻧﺘﯿﺠﻪ‬
‫ﺗﺎﺑﻊ‬‫ﻧﻮﯾﺴﻪ‬ ‫ﻫﺎی‬‫ای‬
CAT(arg1, arg2, …) ‫رﺷﺘﻪ‬ ‫ﭼﻨﺪ‬ ‫ﯾﺎ‬ ‫دو‬‫ﻧﻮﯾﺴﻪ‬ ‫ی‬‫ﺑـﻪ‬ ‫را‬ ‫ای‬
‫ﻣﯽ‬ ‫ﻫﻢ‬‫ﭼﺴﺒﺎﻧﺪ‬.
a = ‘  cat  ‘; 
b = ‘dog’; 
c = CAT(a, b); 
c = ‘  cat  dog’
CATS(arg1, arg2, …)‫رﺷـﺘ‬ ‫ـﺪ‬‫ـ‬‫ﭼﻨ‬ ‫ﯾـﺎ‬ ‫دو‬‫ﻪ‬‫ـﻪ‬‫ـ‬‫ﻧﻮﯾﺴ‬ ‫ی‬،‫را‬ ‫ای‬
‫ـﻠﻪ‬‫ـ‬‫ﻓﺎﺻ‬ ‫ـﺬف‬‫ـ‬‫ﺣ‬ ‫از‬ ‫ـﺲ‬‫ـ‬‫ﭘ‬‫ـﺎﻟﯽ‬‫ـ‬‫ﺧ‬ ‫ﻫﺎی‬
‫آن‬ ‫ــﺎی‬‫ـ‬‫اﻧﺘﻬ‬ ‫و‬ ‫ــﺪا‬‫ـ‬‫اﺑﺘ‬‫ــﻢ‬‫ـ‬‫ﻫ‬ ‫ــﻪ‬‫ـ‬‫ﺑ‬ ،‫ــﺎ‬‫ـ‬‫ﻫ‬
‫ﻣﯽ‬‫ﭼﺴﺒﺎﻧﺪ‬.
a = ‘  cat  ‘; 
b = ‘dog’; 
c = CATS(a, b);
c = ‘catdog’
CATX(‘separator’, 
arg1, arg2, …)
‫رﺷـﺘﻪ‬ ‫ـﺪ‬‫ـ‬‫ﭼﻨ‬ ‫ﯾـﺎ‬ ‫دو‬‫ـﻪ‬‫ـ‬‫ﻧﻮﯾﺴ‬ ‫ی‬،‫را‬ ‫ای‬
‫ـﻠﻪ‬‫ـ‬‫ﻓﺎﺻ‬ ‫ـﺬف‬‫ـ‬‫ﺣ‬ ‫از‬ ‫ـﺲ‬‫ـ‬‫ﭘ‬‫ـﺎﻟﯽ‬‫ـ‬‫ﺧ‬ ‫ﻫﺎی‬
‫آن‬ ‫اﻧﺘﻬـﺎی‬ ‫و‬ ‫اﺑﺘﺪا‬‫دان‬ ‫ﻗـﺮار‬ ‫و‬ ‫ﻫـﺎ‬
‫آن‬ ‫ﺑـــﯿﻦ‬ ‫ﺟـــﺪاﮔﺮ‬‫ـــﻢ‬‫ـ‬‫ﻫ‬ ‫ﺑـــﻪ‬ ،‫ـــﺎ‬‫ـ‬‫ﻫ‬
‫ﻣﯽ‬‫ﭼﺴﺒﺎﻧﺪ‬.
a = ‘  cat  ‘; 
b = ‘dog’; 
c = CATX(‘ ’, a, b);
c = ‘cat dog’
۳۰
‫ﺗﺎﺑﻊ‬‫ﺷﺮح‬‫ﻣﺜﺎل‬‫ﻧﺘﯿﺠﻪ‬
COMPRESS(arg, 
‘chars’)
‫ــﻠﻪ‬‫ـ‬‫ﻓﺎﺻ‬‫ــﻪ‬‫ـ‬‫ﻧﻮﯾﺴ‬ ‫ــﺎ‬‫ـ‬‫ﯾ‬ ‫ــﺎﻟﯽ‬‫ـ‬‫ﺧ‬ ‫ی‬‫ﻫﺎی‬
‫ﻣﺸﺨﺺ‬‫رﺷــﺘﻪ‬ ‫ﯾــﮏ‬ ‫از‬ ‫را‬ ‫ﺷــﺪه‬‫ی‬
‫ﻧﻮﯾﺴﻪ‬‫ﻣﯽ‬ ‫ﺣﺬف‬ ‫ای‬‫ﮐﻨﺪ‬.
a = ‘cat & dog’; 
b = compress(a); 
c = compress(a, ‘&’);
b = ‘cat&dog’ 
c = ‘cat  dog)’
LENGTH(arg)‫رﺷــﺘﻪ‬ ‫ﯾــﮏ‬ ‫ﻃــﻮل‬‫ﻧﻮﯾﺴــﻪ‬ ‫ی‬‫را‬ ‫ای‬
‫ﺑﺮﻣﯽ‬‫ﮔﺮداﻧﺪ‬.‫ﻓﺎﺻـﻠﻪ‬ ‫ﺗﺎﺑﻊ‬ ‫اﯾﻦ‬‫ﻫﺎی‬
‫ﻧﻤﯽ‬ ‫را‬ ‫رﺷـﺘﻪ‬ ‫اﻧﺘﻬﺎی‬ ‫ﺧﺎﻟﯽ‬‫ﺷـﻤﺎرد‬
‫رﺷــﺘﻪ‬ ‫ﯾــﮏ‬ ‫ـﻮل‬‫ـ‬‫ﻃ‬ ‫و‬‫را‬ ‫ﭘــﻮچ‬ ‫ی‬۱
‫ﺑﺮﻣﯽ‬‫ﮔﺮداﻧﺪ‬.
a = ‘  My cat   ’; 
b = LENGTH(a);
b = 8
SUBSTR(arg, p, n)‫ــﺘﻪ‬‫ـ‬‫زﯾﺮرﺷ‬‫از‬ ‫را‬ ‫ــﺘﻪ‬‫ـ‬‫رﺷ‬ ‫ــﮏ‬‫ـ‬‫ﯾ‬ ‫از‬ ‫ای‬
‫ﻣﮑﺎن‬p‫و‬‫ﻃﻮل‬ ‫ﺑﻪ‬n‫ﺑﺮﻣﯽ‬‫ﮔﺮدﻧﺪ‬.
a = ‘(9821) 8863 
0442)’; 
b = SUBSTR(a, 8, 4); 
b = ‘8863’
TRANSLATE(arg, to1, 
from1, …) 
‫ﻧﻮﯾﺴــــــﻪ‬‫ﻫﺎی‬to‫ﺟــــــﺎﯾﮕﺰﯾﻦ‬ ‫را‬
‫ـﻪ‬‫ـ‬‫ﻧﻮﯾﺴ‬‫ﻫﺎی‬from‫در‬ ‫ـﻮد‬‫ـ‬‫ﻣﻮﺟ‬arg
‫ﻣﯽ‬‫ﮐﻨــﺪ‬.‫ﻃــﻮل‬to‫و‬from‫ﺑﺎﯾــﺪ‬
‫ﺑﺎﺷﺪ‬ ‫ﯾﮑﺴﺎن‬.
a = ‘19/05/85’; 
b = TRANSLATE(a, ‘‐’, 
‘/’); 
b = ’19‐05‐85’ 
TRANWRD(arg, target, 
replacement) 
replacement‫ﺟـــــــــﺎﯾﮕﺰﯾﻦ‬ ‫را‬
target‫در‬ ‫ﻣﻮﺟﻮد‬arg‫ﻣﯽ‬‫ﮐﻨﺪ‬.
a = ‘Mrs. Smith’; 
b = TRANWRD(a, 
‘Mrs.’, ‘Ms.’); 
b = ‘Ms. 
Smith’ 
UPCASE(arg) ‫در‬ ‫ﻣﻮﺟـﻮد‬ ‫ﻻﺗﯿﻦ‬ ‫ﺣﺮوف‬ ‫ﺗﻤﺎم‬arg
‫ﻣﯽ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺰرگ‬ ‫ﺷﮑﻞ‬ ‫ﺑﻪ‬ ‫را‬‫ﮐﻨﺪ‬.
a = ‘My cat’; 
b = UPCASE(a); 
b = ‘MY CAT’ 
‫ﺗﺎﺑﻊ‬‫ﻋﺪدی‬ ‫ﻫﺎی‬ 
INT(arg)   ‫ﺻــــــــــﺤﯿﺢ‬ ‫ﺑﺨــــــــــﺶ‬arg‫را‬
‫ﺑﺮﻣﯽ‬‫ﮔﺮداﻧﺪ‬.
a = INT(2.3); 
b = INT(‐2.3) 
a = 2 
b = ‐2 
۳۱
‫ﺗﺎﺑﻊ‬‫ﺷﺮح‬‫ﻣﺜﺎل‬‫ﻧﺘﯿﺠﻪ‬
CEIL(arg) ‫ﮐﻮﭼﮏ‬‫ﺑﺰرگ‬ ‫ﺻﺤﯿﺢ‬ ‫ﻋﺪد‬ ‫ﺗﺮﯾﻦ‬‫ﺗـﺮ‬
‫ﻣﺴﺎوی‬ ‫ﯾﺎ‬arg‫ﺑﺮﻣﯽ‬ ‫را‬‫ﮔﺮداﻧﺪ‬.
a = CEIL(2.3); 
b = CEIL(‐2.3); 
a = 3 
b = ‐2 
FLOOR(arg) ‫ﺑﺰرگ‬‫ﮐﻮﭼﮏ‬ ‫ﺻﺤﯿﺢ‬ ‫ﻋﺪد‬ ‫ﺗﺮﯾﻦ‬‫ﺗـﺮ‬
‫ﻣﺴﺎوی‬ ‫ﯾﺎ‬arg‫ﺑﺮﻣﯽ‬ ‫را‬‫ﮔﺮداﻧﺪ‬.
a = FLOOR(2.3); 
b = FLOOR(‐2.3); 
a = 2; 
b = ‐3; 
ROUND(arg, rounding‐
unit) 
arg‫ﻣﯽ‬ ‫ﮔﺮد‬ ‫را‬‫ﮐﻨﺪ‬a = ROUND(3.7); 
b = ROUND(3.275, 
.01); 
a = 4 
B = 3.28 
MIN(arg1, arg2, …) ‫ﻣﻘﺎدﯾﺮ‬ ‫ﻣﯿﻨﯿﻤﻢ‬ a = MIN(2, 7, ., 1); a = 1 
MAX(arg1, arg2, …) ‫ﻣﻘﺎدﯾﺮ‬ ‫ﻣﺎﮐﺴﯿﻤﻢ‬a = MAX(2, 7, ., 1); a = 7 
N(arg1, arg2, …) ‫ﮔﻢ‬ ‫ﻏﯿﺮ‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﺗﻌﺪاد‬‫ﺷﺪه‬a = N(2, 7, ., 1); a = 3 
NMISS(arg1, arg2, …) ‫ﮔﻢ‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﺗﻌﺪاد‬‫ﺷﺪه‬a = NMISS(2, 7, ., 1); a = 1 
SUM(arg1, arg2, …) ‫ﮔﻢ‬ ‫ﻏﯿﺮ‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﻣﺠﻤﻮع‬‫ﺷﺪه‬a = SUM(2, 7, ., 1); a = 10 
MEAN(arg1, arg2, …) ‫ﮔﻢ‬ ‫ﻏﯿﺮ‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﻣﯿﺎﻧﮕﯿﻦ‬‫ﺷﺪه‬a = MEAN(2, 7, ., 1); a = 3.33 
‫ﺗﺒﺪ‬‫ﯾﻞ‬‫داده‬‫ﻫﺎ‬‫ی‬‫ﻧﻮ‬‫ﯾﺴﻪ‬‫ای‬‫ﻋﺪد‬ ‫ﺑﻪ‬‫ی‬‫ﺑﺮﻋﮑﺲ‬ ‫و‬ 
INPUT(arg, informat) ‫ـــﺘﻪ‬‫ـ‬‫رﺷ‬‫ی‬arg‫ـــﻪ‬‫ـ‬‫ﺑ‬ ‫ـــﻪ‬‫ـ‬‫ﺗﻮﺟ‬ ‫ـــﺎ‬‫ـ‬‫ﺑ‬ ‫را‬
‫ﻣﺸﺨﺺ‬ ‫ـﺖ‬‫ـ‬‫اﯾﻨﻔﻮرﻣ‬‫ـﮏ‬‫ـ‬‫ﯾ‬ ‫ـﻪ‬‫ـ‬‫ﺑ‬ ‫ـﺪه‬‫ـ‬‫ﺷ‬
‫ﻣﯽ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﻋﺪدی‬ ‫ﻣﻘﺪار‬‫ﮐﻨﺪ‬.
a = ‘$32,275’; 
b = INPUT(a, 
comma7.); 
b = 32275 
PUT(arg, format) ‫ﻋﺪد‬arg‫ﻓﻮرﻣـﺖ‬ ‫ﺑـﻪ‬ ‫ﺗﻮﺟـﻪ‬ ‫ﺑـﺎ‬ ‫را‬
‫ﻣﺸﺨﺺ‬‫ﻣﻘـــﺪار‬ ‫ﯾـــﮏ‬ ‫ﺑـــﻪ‬ ‫ﺷـــﺪه‬
‫ﻧﻮﯾﺴﻪ‬‫ﻣﯽ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ای‬‫ﮐﻨﺪ‬.
a = 275; 
b = PUT(a, z5.); 
b = ‘00275’; 
‫ﻧﮑﺘﻪ‬:‫ﺑﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫از‬ ‫ﻓﻬﺮﺳﺘﯽ‬ ‫روی‬ ‫ﺗﻮاﺑﻊ‬ ‫اﯾﻦ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺮای‬‫ﮐﻨﯿﺪ‬ ‫ﻋﻤﻞ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬:
a = SUM(of x1-x10);
b = MIN(of zar:);
۱-۵-۳‫ﻋﺒﺎرت‬RETAIN
۳۲
‫ﺑﻪ‬‫ﭘﯿﺶ‬ ‫ﺻﻮرت‬‫ﮔﺎم‬ ‫ﺗﮑﺮار‬ ‫ﻫﺮ‬ ‫در‬ ‫ﻓﺮض‬DATA‫ﮔﻢ‬ ‫ﻣﻘﺪار‬ ‫ﺑﻪ‬ ‫اﺑﺘﺪا‬ ‫ﺟﺪﯾﺪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﻣﻘﺪار‬ ،‫ﻣﯽ‬ ‫ﺗﻐﯿﯿـﺮ‬ ‫ﺷﺪه‬‫ﺳـﭙﺲ‬ ،‫ﯾﺎﺑـﺪ‬
‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ‫ﻣﺮﺑﻮط‬ ‫ﻣﺤﺎﺳﺒﺎت‬‫ﻣﯽ‬ ‫ﺑﺎﻋﺚ‬ ‫ﻋﻤﻞ‬ ‫اﯾﻦ‬ ،‫ﺷﻮد‬‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫اﯾﻦ‬ ‫ﭘﯿﺸﯿﻦ‬ ‫ﻣﻘﺪار‬ ‫ﺑﻪ‬ ‫ﻣﺎ‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬)‫ﮔـﺎم‬ ‫ﻗﺒﻠﯽ‬ ‫ﺗﮑﺮار‬ ‫در‬
DATA(‫ﺑﺎﺷﯿﻢ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫دﺳﺘﺮﺳﯽ‬.‫ﻣﻘـﺪار‬ ‫ﺣﻔـﻆ‬ ‫ﺑﺮای‬‫اﯾﻦ‬‫ﮔـﺎم‬ ‫ﺑﻌـﺪی‬ ‫ﺗﮑـﺮار‬ ‫در‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑـﺮای‬ ‫ﻣﺘﻐﯿﺮﻫـﺎ‬ ‫ﮔﻮﻧـﻪ‬DATA
‫ﻣﯽ‬‫ﻋﺒﺎرت‬ ‫از‬ ‫ﺗﻮاﻧﯿﺪ‬RETAIN‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬:
RETAIN ‫ﻣﺘﻐﯿﺮ‬ ‫ﻧﺎم‬ <‫آﻏﺎزﯾﻦ‬ ‫ﻣﻘﺪار‬>;
‫ﻣﺜﺎل‬:‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﻣﯿﺎﻧﮕﯿﻦ‬ ‫زﯾﺮ‬ ‫دﺳﺘﻮرات‬Score‫ﻣﯽ‬ ‫ﻣﺤﺎﺳﺒﻪ‬ ‫را‬‫ﮐﻨﺪ‬:
DATA scores;
INPUT Score @@;
CARDS;
12 15 17 25 19
RUN;
DATA mscore;
RETAIN n Sum (2 * 0);
SET scores end = last;
n = n + 1;
Sum = Sum + score;
IF last THEN DO;
Average = Sum / n;
OUTPUT;
END;
DROP score;
RUN;
PROC PRINT DATA = mscore;
RUN;
‫ﻧﮑﺘﻪ‬:‫ﮔﺰﯾﻨﻪ‬‫ی‬END = last‫ﺑﻪ‬ ‫ﻣﻮﻗﺘﯽ‬ ‫ﻣﺘﻐﯿﺮی‬ ،‫ﻧﺎم‬last‫ﻣﯽ‬‫ﻣﺸﺎﻫﺪه‬ ‫آﺧﺮﯾﻦ‬ ‫ﺑﺮای‬ ‫آن‬ ‫ﻣﻘﺪار‬ ‫ﮐﻪ‬ ‫ﺳﺎزد‬۱‫ﺳﺎﯾﺮ‬ ‫ﺑﺮای‬ ‫و‬
‫ﻣﺸﺎﻫﺪه‬‫ﻫﺎ‬۰‫ﻣﯽ‬ ‫ﮔﺰﯾﻨﻪ‬ ‫اﯾﻦ‬ ‫از‬ ،‫اﺳﺖ‬‫ﮐﺮد‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﺸﺎﻫﺪه‬ ‫آﺧﺮﯾﻦ‬ ‫ﺗﺸﺨﺺ‬ ‫ﺑﺮای‬ ‫ﺗﻮان‬.
۱-۵-۴‫داده‬ ‫ﮐﺮدن‬ ‫ﻣﺮﺗﺐ‬‫ﻫﺎ‬
‫ﮐﺮدن‬ ‫ﻣﺮﺗﺐ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫داد‬ ‫ﭘـﺮدازش‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫و‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﭼﻨﺪ‬ ‫ﯾﺎ‬ ‫ﯾﮏ‬ ‫ﻣﻘﺪارﻫﺎی‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬‫ه‬‫ﺷـﯿﻮه‬ ‫ﺑـﺎ‬ ‫ﻫـﺎ‬‫ی‬SORT
‫ﻣﯽ‬ ‫اﻧﺠﺎم‬‫ﺷﻮد‬.‫ﻋﺒﺎرت‬BY‫ﺷﯿﻮه‬ ‫اﻃﻼﻋﺎﺗﯽ‬ ‫ﻋﺒﺎرت‬‫ﺑﺎ‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫ای‬PROC SORT‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬‫رود‬.‫ﻧﺤـﻮه‬ ‫ﻋﺒﺎرت‬ ‫اﯾﻦ‬‫ی‬
‫ﮐﺮدن‬ ‫ﻣﺮﺗﺐ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺷـﯿﻮه‬ ‫ﺑﻪ‬ ‫را‬‫ی‬SORT‫ﻣـﯽ‬‫ﮔﻮﯾـﺪ‬.‫ﺷـﯿﻮه‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫در‬‫ی‬SORT‫ﻣﺸـﺎﻫﺪه‬ ،‫اﺑ‬ ‫ﻫـﺎ‬‫ﺘـ‬‫ﺑـﻪ‬ ‫ﺪا‬
‫ـﺎرت‬‫ـ‬‫ﻋﺒ‬ ‫در‬ ‫ـﺮ‬‫ـ‬‫ﻣﺘﻐﯿ‬ ‫ـﯿﻦ‬‫ـ‬‫اوﻟ‬ ‫ـﺪارﻫﺎی‬‫ـ‬‫ﻣﻘ‬ ‫ـﺐ‬‫ـ‬‫ﺣﺴ‬ ‫ـﺮ‬‫ـ‬‫ﺑ‬ ‫ـﯽ‬‫ـ‬‫اﻓﺰاﯾﺸ‬ ‫ـﻮرت‬‫ـ‬‫ﺻ‬BY‫ﻣ‬‫ـﯽ‬‫ـ‬‫ﻣ‬ ‫ـﺐ‬‫ـ‬‫ﺮﺗ‬‫ـﻮﻧﺪ‬‫ـ‬‫ﺷ‬.‫ـﺮوه‬‫ـ‬‫ﮔ‬ ‫ـﺮ‬‫ـ‬‫ﻫ‬ ‫درون‬ ‫ـﭙﺲ‬‫ـ‬‫ﺳ‬
۳۳
)‫زﯾﺮﻣﺠﻤﻮﻋﻪ‬(‫ﻣﺸﺎﻫﺪه‬‫ﻣﻘﺪارﻫﺎی‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬ ‫ﻫﺎ‬‫دوﻣﯿﻦ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻣﺘﻐﯿﺮ‬BY‫ﻣـﯽ‬ ‫ﻣﺮﺗـﺐ‬ ‫اﻓﺰاﯾﺸـﯽ‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬‫ﺷـﻮﻧﺪ‬.
‫ﻋﺒﺎرت‬ ‫ﺑﻌﺪی‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺮای‬ ‫ﻗﺎﻋﺪه‬ ‫ﻫﻤﯿﻦ‬BYِ‫ا‬‫ﻣﯽ‬ ‫ﻋﻤﺎل‬‫ﺷﻮد‬.
‫ﮐﺮدن‬ ‫ﻣﺮﺗﺐ‬ ‫ﺑﺮای‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ،‫ﻋﺪدی‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺮای‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬‫و‬ ‫ﺷﻮد‬‫ﮔﻢ‬ ‫ﻣﻘﺪار‬‫ﮐـﻢ‬ ‫ﺷـﺪه‬‫ﺗـﺮﯾﻦ‬
‫ﻣﯽ‬ ‫را‬ ‫رﺗﺒﻪ‬‫ﮔﯿﺮد‬.‫ﻧﻮﯾﺴﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬‫ﺣﺮ‬ ‫ﺗﺮﺗﯿﺐ‬ ‫ﺑﻪ‬ ‫ای‬‫ف‬‫ﻫﺎی‬‫اﻟ‬‫ﻔ‬‫اﻧﮕﻠﯿﺴﯽ‬ ‫ﺒﺎی‬-A‫و‬ ‫ﮐﻮﭼﮑﺘﺮﯾﻦ‬Z‫ﺑﺰرگ‬‫ﺗـﺮﯾﻦ‬-‫ﻣﺮﺗـﺐ‬
‫ﻣﯽ‬‫ﺷﻮﻧﺪ‬.‫ﻓﺎﺻﻠﻪ‬‫ﮐﻮﭼﮏ‬ ‫ﺧﺎﻟﯽ‬ ‫ی‬‫ﻧﻮﯾﺴﻪ‬ ‫ﺗﺮﯾﻦ‬،‫اﯾﻦ‬ ‫ﺑﺮ‬ ‫ﺑﻨﺎ‬ ،‫اﺳﺖ‬'South east'‫ﺑﺰرگ‬‫از‬ ‫ﺗﺮ‬'North'‫ﮐﻮﭼﮏ‬ ‫وﻟﯽ‬‫از‬ ‫ﺗﺮ‬
'Southern'‫اﺳﺖ‬.
‫ﻣﺜﺎل‬:
PROC SORT DATA = score;
BY gender inc;
RUN;
PROC PRINT;
BY gender inc;
RUN;
‫ﻣﺜﺎل‬ ‫اﯾﻦ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬score‫ﻣﺘﻐﯿـﺮ‬ ‫ﻣﻘـﺪارﻫﺎی‬ ‫ﺣﺴـﺐ‬ ‫ﺑـﺮ‬ ‫اﺑﺘـﺪا‬ ‫را‬gender‫در‬ ‫ﺳـﭙﺲ‬ ‫و‬‫ون‬‫ﺑـﺮ‬ ‫ﮔـﺮوه‬ ‫ﻫـﺮ‬
‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ‫ﺣﺴﺐ‬inc‫ﻣﯽ‬ ‫ﻣﺮﺗﺐ‬‫ﮐﻨﺪ‬.‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ‫اﮔﺮ‬gender‫ﻣﻘﺪارﻫﺎی‬۱‫و‬۲‫ﺑﺎﺷﻨﺪ‬،‫اﺑﺘﺪا‬‫ﻣﺠ‬‫ﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬
‫ﻣﻘﺪارﻫﺎی‬ ‫ﺑﺎ‬ ‫ﮔﺮوه‬ ‫دو‬ ‫ﺑﻪ‬۱‫و‬۲‫ی‬‫ﻣﺘﻐﯿﺮ‬gender‫داده‬ ‫ﮔﺮوه‬ ‫ﻫﺮ‬ ‫داﺧﻞ‬ ‫ﺳﭙﺲ‬ ‫و‬ ‫ﺷﺪه‬ ‫ﺗﻘﺴﯿﻢ‬‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬ ‫ﻫﺎ‬
inc‫ﺷﻮﻧﺪ‬ ‫ﻣﺮﺗﺐ‬.
۱-۵-۴-۱‫ﻣﺸﺎﻫﺪه‬ ‫ﺣﺬف‬‫ﺗﮑﺮاری‬ ‫ﻫﺎی‬
‫ﺷــﯿﻮه‬‫ی‬SORT‫ﮔﺰﯾﻨــﻪ‬ ‫دو‬ ‫دارای‬‫ی‬NODUPKEY‫و‬DUPOUT =‫اﺳــﺖ‬.‫ﮔﺰﯾﻨــﻪ‬‫ﻣﺸــﺎﻫﺪه‬ ‫اول‬ ‫ی‬‫از‬ ‫را‬ ‫ﺗﮑــﺮاری‬ ‫ﻫﺎی‬
‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻣﯽ‬ ‫ﺣﺬف‬ ‫ﺧﺮوﺟﯽ‬ ‫ی‬‫ﮐﻨﺪ‬.‫ﮔﺰﯾﻨﻪ‬‫ﮔﺰﯾﻨﻪ‬ ‫ﻫﻤﺮاه‬ ‫ﺑﻪ‬ ،‫دوم‬ ‫ی‬‫ﻣﺸﺎﻫﺪه‬ ،‫اول‬ ‫ی‬‫ﺣﺬف‬ ‫ﺗﮑﺮاری‬ ‫ﻫﺎی‬‫در‬ ‫را‬ ‫ﺷﺪه‬
‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬‫داده‬ ‫ی‬‫ﻣﯽ‬ ‫ذﺧﯿﺮه‬ ‫دﯾﮕﺮ‬ ‫ﻫﺎی‬‫ﮐﻨﺪ‬.
۱-۵-۴-۲‫از‬ ‫اﺳﺘﻔﺎده‬SET‫ﻫﻤﺮاه‬ ‫ﺑﻪ‬BY
‫ﻣﺠﻤﻮﻋﻪ‬ ‫دو‬‫داده‬ ‫ی‬‫ﻫﺎی‬set1‫و‬set2‫ﮔﯿﺮﯾﺪ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬.‫ﻣﺠﻤﻮﻋـﻪ‬ ‫دو‬ ‫اﯾـﻦ‬ ‫دوی‬ ‫ﻫﺮ‬ ‫اﮔﺮ‬‫داده‬ ‫ی‬‫ﺑـ‬ ‫ﻫـﺎ‬‫ﯾـﺎ‬ ‫ﯾـﮏ‬ ‫ﺣﺴـﺐ‬ ‫ﺮ‬
‫ﺑﺎﺷﻨﺪ‬ ‫ﺷﺪه‬ ‫ﻣﺮﺗﺐ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﭼﻨﺪ‬)‫ﻣﺘﻐﯿﺮ‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬ ً‫ﻼ‬‫ﻣﺜ‬id(‫ﻋﺒـﺎرت‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ،BY‫ﻣﯽ‬ ‫ﺑﺎﻋـﺚ‬ ‫زﯾـﺮ‬ ‫دﺳـﺘﻮرات‬ ‫در‬‫ﺷـﻮد‬
‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﮐﻪ‬‫داده‬ ‫ی‬‫ﯾﻌﻨﯽ‬ ،‫ﺣﺎﺻﻞ‬ ‫ﻫﺎی‬set3‫ﻣﺘﻐﯿﺮ‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬ ‫ﻧﯿﺰ‬ ،id‫ﺷﻮد‬ ‫ﻣﺮﺗﺐ‬:
۳۴
DATA set3;
SET set1 set2;
BY id;
RUN;
۱-۵-۵‫ﻣﻮﻗﺘﯽ‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬FIRST.var‫و‬LAST.var 
‫ﮔﺎم‬ ‫در‬ ‫اﮔﺮ‬DATA‫ﻋﺒﺎرت‬ ‫از‬BY var‫ﻣـﻮﻗﺘﯽ‬ ‫ﻣﺘﻐﯿـﺮ‬ ‫دو‬ ،‫ﮐﻨﯿـﺪ‬ ‫اﺳﺘﻔﺎده‬FIRST.var‫و‬LAST.var‫ﻣﯽ‬ ‫ﺳـﺎﺧﺘﻪ‬‫ﺷـﻮﻧﺪ‬.
‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬FIRST.var‫رخ‬ ‫اوﻟﯿﻦ‬ ‫ﺑﺮای‬‫ﻣﺘﻐﯿﺮ‬ ‫ﯾﮑﺘﺎی‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫از‬ ‫ﯾﮏ‬ ‫ﻫﺮ‬ ‫داد‬var‫ﺑﺮاﺑـﺮ‬۱‫ﺑﺮاﺑـﺮ‬ ‫ﺟﺎﻫـﺎ‬ ‫ﺳـﺎﯾﺮ‬ ‫در‬ ‫و‬۰
‫اﺳﺖ‬.‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬LAST.var‫رخ‬ ‫آﺧﺮﯾﻦ‬ ‫ﺑﺮای‬‫ﯾ‬ ‫ﻫﺮ‬ ‫داد‬‫ﻣﺘﻐﯿـﺮ‬ ‫ﯾﮑﺘـﺎی‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫از‬ ‫ﮏ‬var‫ﺑﺮاﺑـﺮ‬۱‫ﺟﺎﻫـﺎ‬ ‫ﺳـﺎﯾﺮ‬ ‫در‬ ‫و‬
‫ﺑﺮاﺑﺮ‬۰‫اﺳﺖ‬.‫ﺑﺒﯿﻨﯿﺪ‬ ‫را‬ ‫ﻣﺮﺑﻮط‬ ‫ﺧﺮوﺟﯽ‬ ‫و‬ ‫زﯾﺮ‬ ‫دﺳﺘﻮرات‬ ،‫ﻣﻄﻠﺐ‬ ‫ﺷﺪن‬ ‫روﺷﻦ‬ ‫ﺑﺮای‬:
DATA scores;
INPUT name $ course $ score @@;
CARDS;
Ali Math 15 Ali Science 12 Ali History 15
Reza Math 11 Reza Science 15
Navid Math 17 Navid Science 15
Taghi Science 15
RUN;
PROC SORT DATA = scores;
BY name;
RUN;
DATA scores1;
SET scores;
BY name;
first_name = FIRST.name;
last_name = LAST.name;
RUN;
PROC PRINT DATA = scores1;
RUN;
first_ last_
Obs name course score name name
1 Ali Math 15 1 0
2 Ali Science 12 0 0
3 Ali History 15 0 1
4 Navid Math 17 1 0
۳۵
5 Navid Science 15 0 1
6 Reza Math 11 1 0
7 Reza Science 15 0 1
8 Taghi Science 15 1 1
‫ﻣﺜﺎل‬:‫ﻧﻤﺮه‬ ‫ﻣﺎﮐﺴﯿﻤﻢ‬ ‫زﯾﺮ‬ ‫دﺳﺘﻮرات‬‫داﻧﺸ‬ ‫ﻫﺮ‬ ‫ی‬‫ﻣﯽ‬ ‫ﻧﻤﺎﯾﺶ‬ ‫را‬ ‫ﺠﻮ‬‫دﻫﺪ‬:
PROC SORT DATA = scores;
BY name score;
RUN;
DATA scores1 (DROP = score RENAME = (score = MaxScore));
SET scores;
BY name;
IF LAST.name;
RUN;
PROC PRINT DATA = scores1;
RUN;
Obs name MaxScore
1 Ali 15
2 Navid 17
3 Reza 15
4 Taghi 15
۱-۵-۶‫ﺗﺮﮐ‬‫ﯿﺐ‬‫دو‬‫ﯾﺎ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﭼﻨﺪ‬‫ی‬‫داده‬‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬MERGE
‫ﻣﯽ‬ ‫وﻗﺘﯽ‬‫ﻣﺸﺎﻫﺪه‬ ‫ﺧﻮاﻫﯿﺪ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬ ‫ﻫﺎی‬‫داده‬ ‫ی‬‫ﻣﺸﺎﻫﺪه‬ ‫ﺑﺎ‬ ‫را‬ ‫ﻫﺎ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫ﮐﻨﯿﺪ‬ ‫ﺟﻮر‬ ‫دﯾﮕﺮ‬ ‫ی‬‫از‬ ‫ﺗﻮاﻧﯿﺪ‬
‫ﻋﺒﺎرت‬MERGE‫ﮔﺎم‬ ‫در‬DATA‫ﮐ‬ ‫اﺳﺘﻔﺎده‬‫ﻨﯿﺪ‬.‫ﻣﯽ‬ ‫اﮔﺮ‬‫ﻣﺸـﺎﻫﺪه‬ ‫ﺗﺮﺗﯿـﺐ‬ ‫ﮐـﻪ‬ ‫داﻧﯿﺪ‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫در‬ ‫در‬ ‫ﻫﺎ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬ً‫ﺎ‬‫دﻗﯿﻘـ‬
‫ﻣﺠﻤﻮﻋﻪ‬ ‫دو‬ ‫در‬ ‫ﻣﺸﺘﺮک‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﺑﻪ‬ ‫ﻧﯿﺎزی‬ ،‫اﺳﺖ‬ ‫ﯾﮑﯽ‬‫داده‬ ‫ی‬‫ﻧﯿﺴـﺖ‬ ‫ﻫﺎ‬.‫اﯾﻦ‬ ً‫ﻻ‬‫ﻣﻌﻤـﻮ‬ ،‫ﻋﻤـﻞ‬ ‫در‬ ‫ﻫﺮﭼﻨـﺪ‬‫و‬ ‫ﻧﯿﺴـﺖ‬ ‫ﮔﻮﻧـﻪ‬
‫ﻣﺘﻐﯿﺮ‬ ‫ﺑﻪ‬ ‫ﻧﯿﺎز‬ ‫ﺷﻤﺎ‬)‫ﻫﺎی‬(‫ﻣﺸﺎﻫﺪه‬ ‫ﺻﺤﯿﺢ‬ ‫ﺟﻮرﺳﺎزی‬ ‫ﺑﺮای‬ ‫ﻣﺸﺘﺮک‬‫دارﯾﺪ‬ ‫ﻫﺎ‬.‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﺗﺮﮐﯿﺐ‬ ‫ﻓﺮاﯾﻨﺪ‬‫داده‬ ‫ﻫﺎی‬‫ﺑـﻪ‬ ‫ﻫـﺎ‬
‫ﺷـﯿﻮه‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑـﺎ‬ ‫ﺑﺎﯾـﺪ‬ ‫اﺑﺘـﺪا‬ ‫ﮐـﻪ‬ ‫اﺳﺖ‬ ‫ﺻﻮرت‬ ‫اﯾﻦ‬‫ی‬SORT‫ﻣﺠﻤﻮﻋـﻪ‬ ،‫داده‬ ‫ﻫﺎی‬‫ﻣﺘﻐﯿـﺮ‬ ‫ﺣﺴـﺐ‬ ‫ﺑـﺮ‬ ‫را‬ ‫ﻫـﺎ‬)‫ﻫـﺎی‬(
‫ﮔﺎم‬ ‫ﯾﮏ‬ ‫در‬ ‫ﺳﭙﺲ‬ ،‫ﮐﻨﯿﺪ‬ ‫ﻣﺮﺗﺐ‬ ‫ﻣﺸﺘﺮک‬DATA‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻓﻬﺮﺳﺖ‬ ،‫داده‬ ‫ﻫﺎی‬‫ﻋﺒـﺎرت‬ ‫در‬ ‫را‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻫﺎی‬MERGE،
‫ﻣﺘﻐﯿﺮ‬ ‫ﻓﻬﺮﺳﺖ‬ ‫و‬)‫ﻫﺎی‬(‫ﻋﺒﺎرت‬ ‫در‬ ‫را‬ ‫ﻣﺸﺘﺮک‬BY‫ﮐﻨﯿﺪ‬ ‫ﻣﺸﺨﺺ‬:
DATA ‫ﺟﺪﯾﺪ‬ ‫ی‬‫داده‬ ‫ی‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻧﺎم‬;
MERGE ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻫﺎی‬‫داده‬ ‫ﻫﺎی‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻓﻬﺮﺳﺖ‬;
۳۶
BY ‫ﻣﺸﺘﺮک‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﻓﻬﺮﺳﺖ‬;
RUN;
‫ﻣﺠﻤﻮﻋﻪ‬ ‫اﮔﺮ‬‫داده‬ ‫ﻫﺎی‬‫اﺳﺘﻔﺎده‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬ ‫ﻫﺎ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﺷﺪه‬BY‫ﻣﺘﻐﯿﺮ‬ ‫دارای‬)‫ﻫﺎی‬(،‫ﺑﺎﺷﻨﺪ‬ ‫دﯾﮕﺮی‬ ‫ﻣﺸﺘﺮک‬
‫ﻣﺘﻐﯿﺮ‬ ‫اﯾﻦ‬ ‫ﻣﻘﺪار‬)‫ﻫﺎ‬(‫ﻣﺠﻤﻮﻋﻪ‬ ‫آﺧﺮﯾﻦ‬ ‫از‬‫داده‬ ‫ی‬‫ﻣﺸﺨﺺ‬ ‫ﻓﻬﺮﺳﺖ‬ ‫ﻫﺎی‬‫ﺷ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﺪه‬MERGE‫ﻣﯽ‬ ‫ﺧﻮاﻧﺪه‬‫ﺷﻮد‬.
‫ﻣﺜﺎل‬:‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻤﺮه‬ ‫زﯾﺮ‬ ‫ی‬‫ﻣﯽ‬ ‫ﺗﺮﮐﯿﺐ‬ ‫ﻫﻢ‬ ‫ﺑﺎ‬ ‫را‬ ‫ﻋﻠﻮم‬ ‫و‬ ‫رﯾﺎﺿﯽ‬ ‫ﮐﻼس‬ ‫دو‬ ‫ﻫﺎی‬‫ﮐﻨﺪ‬:
DATA math;
INPUT id score @@;
CARDS;
101 15 107 14 105 11 103 17
RUN;
DATA science;
INPUT id score;
CARDS;
103 15 107 17 109 11
RUN;
PROC SORT DATA = math (rename = (score = Math));
BY id;
RUN;
PROC SORT DATA = science (rename = (score = Science));
BY id;
RUN;
DATA scores;
MERGE math science;
BY id;
RUN;
PROC PRINT DATA = scores;
RUN;
Obs id Math Science
1 101 15 .
2 103 17 15
3 105 11 .
4 107 14 17
5 109 . 11
۳۷
‫ﻫﻤﺎن‬‫ﻣﯽ‬ ‫ﺧﺮوﺟﯽ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﻃﻮر‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﯿﻨﯿﺪ‬‫داده‬ ‫ی‬‫ﻫﻤﻪ‬ ‫ﺷﺎﻣﻞ‬ ‫ﺣﺎﺻﻞ‬ ‫ﻫﺎی‬‫ﻣﺸـﺎﻫﺪه‬ ‫ی‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫دو‬ ‫در‬ ‫ﻣﻮﺟـﻮد‬ ‫ﻫﺎی‬‫ی‬
‫داده‬‫ـﺎ‬‫ـ‬‫ﻫ‬)‫ـﺎﻫﺪه‬‫ـ‬‫ﻣﺸ‬‫ـﺘﺮک‬‫ـ‬‫ﻏﯿﺮﻣﺸ‬ ‫و‬ ‫ـﺘﺮک‬‫ـ‬‫ﻣﺸ‬ ‫ﻫﺎی‬(‫اﯾﻦ‬ ‫ـﺮای‬‫ـ‬‫ﺑ‬ ،‫ـﺖ‬‫ـ‬‫اﺳ‬‫ـﺎﻫﺪه‬‫ـ‬‫ﻣﺸ‬ ‫ـﻂ‬‫ـ‬‫ﻓﻘ‬ ‫ـﻪ‬‫ـ‬‫ﮐ‬،‫ـﺪ‬‫ـ‬‫ﮐﻨﯿ‬ ‫ـﺮه‬‫ـ‬‫ذﺧﯿ‬ ‫را‬ ‫ـﺘﺮک‬‫ـ‬‫ﻣﺸ‬ ‫ﻫﺎی‬
‫ﻣﯽ‬‫ﮔﺰﯾﻨﻪ‬ ‫از‬ ‫ﺗﻮاﻧﯿﺪ‬‫ی‬IN =‫ﺑﻪ‬‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬: 
DATA scores;
MERGE math (IN = a) science (IN = b);
BY id;
IF a = 1 and b = 1 THEN OUTPUT;
RUN;
‫ﻋﺒﺎرت‬IF‫ﺑﺎﻻ‬‫ﺑﻪ‬ ‫را‬‫ﻣﯽ‬ ‫ﻧﯿﺰ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬‫ﺑﻨﻮﯾﺴﯿﺪ‬ ‫ﺗﻮاﻧﺴﺘﯿﺪ‬:
IF a and b;
۱-۵-۷‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﮐﺮدن‬ ‫ﺑﻬﻨﮕﺎم‬‫ی‬‫داده‬‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬UPDATE 
‫ﻣﯽ‬ ‫ﺷﻤﺎ‬‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﺗﻮاﻧﯿﺪ‬)‫ﻫﺎی‬(‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬‫داد‬ ‫ی‬‫ه‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﯾـﮏ‬ ‫ﻣﻘـﺎدﯾﺮ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫را‬ ‫ﻫﺎ‬‫داده‬ ‫ی‬‫دﯾﮕـﺮ‬ ‫ﻫـﺎی‬
‫ﮐﻨﯿﺪ‬ ‫ﺑﻬﻨﮕﺎم‬.‫ﻣﺠﻤﻮﻋﻪ‬ ‫دو‬ ‫ﮐﺎر‬ ‫اﯾﻦ‬ ‫ﺑﺮای‬‫داده‬ ‫ی‬‫ﻣﺘﻐﯿﺮ‬ ‫اﺳﺎس‬ ‫ﺑﺮ‬ ‫ﺑﺎﯾﺪ‬ ‫را‬ ‫ﻫﺎ‬)‫ﻫﺎی‬(‫ﺳﺎزﯾﺪ‬ ‫ﺟﻮر‬ ‫ﻣﺸﺘﺮک‬.،‫اﯾـﻦ‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬
‫ﻣﺸﺎﻫﺪه‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻫﺎی‬‫داده‬ ‫ی‬‫ﻣﺘﻐﯿﺮ‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬ ‫ﺑﺎﯾﺪ‬ ‫اﺻﻠﯽ‬ ‫ی‬)‫ﻫﺎی‬(‫ﺑﺎﺷﻨﺪ‬ ‫ﯾﮑﺘﺎ‬ ‫ﻣﺸﺘﺮک‬.‫ﮔﻢ‬ ‫ﻣﻘـﺎدﯾﺮ‬‫ﺷـﺪه‬‫در‬ ‫ﻣﻮﺟـﻮد‬ ‫ی‬
‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﺑﻬﻨﮕﺎم‬ ‫ﻫﺎی‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫در‬ ‫ﻣﻮﺟﻮد‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﺟﺎﯾﮕﺰﯾﻦ‬ ‫ﮐﻨﻨﺪه‬‫داده‬ ‫ی‬‫ﻧﻤﯽ‬ ‫اﺻـﻠﯽ‬ ‫ﻫـﺎی‬‫ﺷـﻮد‬.‫ﻣﺠﻤﻮﻋـﻪ‬ ‫اﮔـﺮ‬‫ی‬
‫داده‬‫ﺑﻬﻨﮕﺎم‬ ‫ﻫﺎی‬‫ﻣﺘﻐﯿﺮ‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬ ‫ﮐﻨﻨﺪه‬)‫ﻫﺎی‬(‫ﻣﺸـﺎﻫﺪه‬ ‫آﺧـﺮﯾﻦ‬ ‫ﻣﻘـﺪار‬ ‫ﻧﺒﺎﺷﻨﺪ‬ ‫ﯾﮑﺘﺎ‬ ،‫ﻣﺸﺘﺮک‬،‫ﻧﻈـﺮ‬ ‫ﻣـﻮرد‬ ‫ﺗﮑـﺮاری‬ ‫ی‬
‫ﻣﯽ‬ ‫ﻗﺮار‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬ ‫ﮐﺮدن‬ ‫ﺑﻬﻨﮕﺎم‬ ‫ﺑﺮای‬‫ﮔﯿﺮد‬.
DATA ‫ﻣﺠﻤﻮﻋﻪ‬‫ی‬-‫داده‬‫ﻫﺎی‬-‫اﺻﻠﯽ‬ ;
UPDATE ‫ﻣﺠﻤﻮﻋﻪ‬‫ی‬-‫داده‬‫ﻫﺎی‬-‫اﺻﻠﯽ‬ ‫ﻣﺠﻤﻮﻋﻪ‬‫ی‬-‫داده‬‫ﻫﺎی‬-‫ﺑﻬﻨﮕﺎم‬‫ﮐﻨﻨﺪه‬ ;
BY ‫ﻣﺘﻐﯿﺮ‬)‫ﻫﺎی‬(-‫ﻣﺸﺘﺮک‬ ;
RUN;
 
 
۱-۶‫ﻧﻮ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬‫ﯾ‬‫ﺴﻪ‬‫ﻫﺎ‬‫ی‬‫و‬‫ﯾ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﮋه‬INPUT
‫ا‬ ‫در‬‫ﯾ‬‫ﻧﺸﺎﻧﮕﺮﻫﺎ‬ ‫ﺑﺨﺶ‬ ‫ﻦ‬‫ی‬‫ﮐ‬‫ﻨﺘﺮﻟـ‬‫ﯽ‬‫ﺳـﺘﻮﻧ‬‫ﯽ‬@‫و‬+‫ﻣﺸـﺨﺺ‬ ،‫ﮔﺮﻫـﺎ‬‫ی‬‫ﻧﮕﻬـﺪار‬ ‫ﺳـﻄﺮ‬@‫و‬@@‫و‬‫ﻧﺸـﺎﻧﮕﺮ‬‫ﮐ‬‫ﻨﺘـﺮل‬
‫ﺳﻄﺮ‬‫ی‬n#‫ﻣ‬ ‫ﺑﺤﺚ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.
۱-۶-۱‫ﻧﺸﺎﻧﮕﺮﻫﺎ‬‫ی‬‫ﮐ‬‫ﻨﺘﺮﻟ‬‫ﯽ‬
۳۸
‫ﻫﻨﮕﺎﻣ‬‫ﯽ‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫ﻪ‬INPUT‫ﻣﻘﺪارﻫﺎ‬ ‫ﺧﻮاﻧﺪن‬ ‫ﺑﻪ‬ ‫ﺷﺮوع‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﺑﺮا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﻫـﺮ‬‫ﯿـ‬‫ﻣـ‬ ‫ﺮ‬‫ﯽ‬‫ﮐ‬‫ﻧﺸـﺎﻧﮕﺮ‬ ‫از‬ ‫ﻨـﺪ‬‫ی‬‫ﺑـﺮا‬‫ی‬‫ﭼـ‬‫ﮏ‬
‫ﮐ‬‫ﻣﻮﻗﻌ‬ ‫ﺮدن‬‫ﯿ‬‫داده‬ ‫ﺖ‬‫ﻣـ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻫﺎ‬‫ﯽ‬‫ﮐ‬‫ﻨـﺪ‬.‫اﺟـﺮا‬ ‫ﺷـﺮوع‬ ‫در‬‫ی‬‫ﻋﺒـﺎرت‬INPUT‫ﻣﻮﻗﻌ‬‫ﯿـ‬‫اﺑﺘـﺪا‬ ‫در‬ ‫ﻧﺸـﺎﻧﮕﺮ‬ ‫ﺖ‬‫ی‬‫داده‬‫ﻫـﺎ‬‫ی‬
‫ورود‬‫ی‬‫ا‬ ‫ﺳﭙﺲ‬ ،‫اﺳﺖ‬‫ﯾ‬‫ا‬ ‫ﺑﺎ‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫ﻦ‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬‫ﻫﺎ‬‫ی‬‫ﻣﺘﻮاﻟ‬‫ﯽ‬‫و‬‫ﯾ‬‫ﻧﺸﺎﻧﮕﺮ‬ ‫ﺎ‬‫ﮐ‬‫ﻨﺘﺮﻟ‬‫ﯽ‬‫ﻋﺒﺎرت‬ ‫در‬INPUT‫ﺣﺮ‬‫ﮐ‬‫ﻣ‬ ‫ﺖ‬‫ﯽ‬‫ﮐ‬‫ﻨـﺪ‬.
‫ﺑﺮا‬‫ی‬‫ﻋﺒﺎرت‬ ،‫ﻣﺜﺎل‬INPUT‫ز‬‫ﯾ‬‫ﺑﮕ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫ﺮ‬‫ﯿ‬‫ﺮ‬‫ﯾ‬‫ﺪ‬:
INPUT id 4. @10 ostan $3. inc 5.2 +1 exp 5.2 @28 month 2.;
‫ا‬‫ﯾ‬‫ﻋﺒﺎرت‬ ‫ﻦ‬INPUT‫ﺑﺮا‬‫ی‬‫ﺳﻄﺮﻫﺎ‬ ‫ﺧﻮاﻧﺪن‬‫ی‬‫داده‬‫ا‬‫ی‬‫ز‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯾ‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﺮ‬:
0001XXXXXTEH46550X74050XXXXX02
‫ﻣﻮﻗﻌ‬ ‫ﺑﻪ‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫اﺑﺘﺪا‬ ‫در‬‫ﯿ‬‫ﺳﺘﻮن‬ ‫ﺖ‬۱‫ﻣﺘﻐ‬ ‫و‬ ‫رﻓﺘﻪ‬‫ﯿ‬‫ﺮ‬id‫ا‬ ‫ﺑﺎ‬ ‫را‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬.4‫ﻣـ‬‫ﯽ‬‫ﻣﻮﻗﻌ‬ ‫ﺑـﻪ‬ ‫ﺑﻌـﺪ‬ ‫و‬ ‫ﺧﻮاﻧـﺪ‬‫ﯿـ‬‫ﺳـﺘﻮن‬ ‫ﺖ‬۵
‫ﻣ‬‫ﯽ‬‫رود‬.‫ﻧﺸﺎﻧﮕﺮ‬‫ﮐ‬‫ﻨﺘﺮﻟ‬‫ﯽ‬10@‫ﻣ‬ ‫ﺳﺒﺐ‬‫ﯽ‬‫ﺷﻮد‬‫ﮐ‬‫ﺳﺘﻮن‬ ‫ﺑﻪ‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫ﻪ‬۱۰‫ﻣﺘﻐ‬ ‫ﻣﻘـﺪار‬ ‫و‬ ‫رﻓﺘﻪ‬‫ﯿـ‬‫ﻧﻮ‬ ‫ﺮ‬‫ﯾ‬‫ﺴـﻪ‬‫ا‬‫ی‬ostan‫ﺑـﺎ‬ ‫را‬
‫ا‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬.3$‫ﻣﻘﺪار‬ ‫ﺑﺎ‬TEH‫ﺳـﺘﻮ‬ ‫ﺑـﻪ‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫ﺳﭙﺲ‬ ،‫ﺑﺨﻮاﻧﺪ‬‫ن‬۱۳‫ﻣـ‬‫ﯽ‬‫ﻣﺘﻐ‬ ‫ﻣﻘـﺪار‬ ‫و‬ ‫رود‬‫ﯿـ‬‫ﻋـﺪد‬ ‫ﺮ‬‫ی‬inc‫ﻣﻘـﺪار‬ ‫ﺑـﺎ‬
46550‫را‬‫ا‬ ‫ﺑﺎ‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬5.2‫ﯾ‬‫ﻌﻨ‬‫ﯽ‬۵۰/۴۶۵‫ﻣ‬‫ﯽ‬‫ﺧﻮاﻧﺪ‬.‫ﻧﺸﺎﻧﮕﺮ‬‫ﮐ‬‫ﻨﺘﺮﻟ‬‫ﯽ‬۱+‫را‬ ‫ﻧﺸﺎﻧﮕﺮ‬‫ﯾ‬‫ﮏ‬‫ﺟﻠـﻮ‬ ‫ﺑﻪ‬ ‫ﺳﺘﻮن‬‫ﯾ‬‫ﻌﻨـ‬‫ﯽ‬‫ﺑـﻪ‬
‫ﺳﺘﻮن‬۱۹‫ﻣ‬‫ﯽ‬‫ﺑﺮد‬.‫ا‬ ‫ﺑﺎ‬ ‫ﺳﺘﻮن‬ ‫ﭘﻨﺞ‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬5.2‫ﺑﺮا‬‫ی‬‫ﻣﻘـﺪار‬‫ﺟـﺎر‬‫ی‬‫ﻣﺘﻐ‬‫ﯿـ‬‫ﺮ‬exp‫ﻣـ‬ ‫ﺧﻮاﻧـﺪه‬‫ﯽ‬‫ﺷـﻮد‬.‫ﻧﺸـﺎﻧﮕﺮ‬‫ﮐ‬‫ﻨﺘﺮﻟـ‬‫ﯽ‬
28@‫ﺳ‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ،‫ﺘﻮن‬۲۸‫ﻋﺪد‬ ‫ﻣﻘﺪار‬ ‫و‬ ‫ﺑﺮده‬‫ی‬month‫ا‬ ‫ﺑﺎ‬ ‫را‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬.2‫ﻣ‬‫ﯽ‬‫ﺧﻮاﻧﺪ‬.‫ﺑﺎﺷ‬ ‫داﺷﺘﻪ‬ ‫ﺗﻮﺟﻪ‬‫ﯿ‬‫ﺪ‬‫ﮐ‬‫ﺑﻪ‬ ‫ﻪ‬
‫ـﺎ‬‫ـ‬‫ﺟ‬‫ی‬‫ـﺎﻧﮕﺮ‬‫ـ‬‫ﻧﺸ‬‫ﮐ‬‫ـ‬‫ـ‬‫ﻨﺘﺮﻟ‬‫ﯽ‬28@‫ـ‬‫ـ‬‫ﻣ‬‫ﯽ‬‫ـﺘ‬‫ـ‬‫ﺗﻮاﻧﺴ‬‫ﯿ‬‫از‬ ‫ﻢ‬5+‫ـﺰ‬‫ـ‬‫ﻧﯿ‬‫ـﺘﻔﺎده‬‫ـ‬‫اﺳ‬‫ﮐ‬‫ـ‬‫ـ‬‫ﻨ‬‫ﯿ‬‫ﻢ‬.‫ـ‬‫ـ‬‫وﻗﺘ‬‫ﯽ‬‫ـﺘﻮن‬‫ـ‬‫ﺳ‬ ‫ـﻪ‬‫ـ‬‫ﺑ‬ ‫ـﺎﻧﮕﺮ‬‫ـ‬‫ﻧﺸ‬۳۱‫ـ‬‫ـ‬‫ﻣ‬‫ﯽ‬،‫رود‬SAS
‫ﺗﺸﺨ‬‫ﯿ‬‫ﻣ‬ ‫ﺺ‬‫ﯽ‬‫دﻫﺪ‬‫ﮐ‬‫اﻧﺘﻬﺎ‬ ‫ﺑﻪ‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫ﻪ‬‫ی‬‫ﻋﺒـﺎرت‬INPUT‫رﺳـ‬‫ﯿ‬‫داده‬ ‫ﺧـﻂ‬ ‫ﻟـﺬا‬ ،‫اﺳـﺖ‬ ‫ﺪه‬‫ا‬‫ی‬‫ﺑﻌـﺪ‬‫ی‬‫ﺑـ‬‫ا‬ ‫ﺎ‬‫ﯾ‬‫ﻨﻔﻮرﻣـﺖ‬‫ﻫـﺎ‬‫ی‬
‫ﻋﺒﺎرت‬INPUT‫ﻣ‬ ‫ﺧﻮاﻧﺪه‬‫ﯽ‬‫واو‬ ‫ﻧﻘﻄﻪ‬ ‫ﺑﻪ‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫ﺗﺎ‬ ‫ﺷﻮد‬‫ک‬‫ﮐ‬‫اﻧﺘﻬﺎ‬ ‫ﻪ‬‫ی‬‫داده‬ ‫ﺧﻂ‬‫ا‬‫ی‬‫ﺑﺮﺳـﺪ‬ ‫اﺳﺖ‬.‫ا‬ ‫در‬‫ﯾ‬‫ﻨﺠـﺎ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫ی‬
‫داده‬‫ﻫﺎ‬‫ی‬SAS‫ﮐ‬‫آﻣﺎده‬ ‫و‬ ‫ﺷﺪه‬ ‫ﺎﻣﻞ‬‫ی‬‫ﺗﺤﻠ‬‫ﯿ‬‫ﺷ‬ ‫ﺑﺎ‬ ‫ﻞ‬‫ﯿ‬‫ﻮه‬‫ﻫﺎ‬‫ی‬SAS‫اﺳﺖ‬.
۱-۶-۲‫ﻣﺸﺨﺺ‬‫ﺳﻄﺮﻧﮕﻬﺪار‬ ‫ﮔﺮ‬@
‫ﮔﺎﻫ‬‫ﯽ‬‫ﻣ‬ ‫ﻻزم‬‫ﯽ‬‫ﺷﻮد‬‫ﮐ‬‫ﺑﺮﺧ‬ ‫ﺷﺪن‬ ‫ﺧﻮاﻧﺪه‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫ﻪ‬‫ﯽ‬‫ﻣﻘﺪارﻫﺎ‬ ‫از‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﻋﺒﺎرت‬ ،‫ﻫـﺎ‬‫ی‬‫ﺑﺮﻧﺎﻣـﻪ‬‫ا‬‫ی‬‫ﺷـﻮﻧﺪ‬ ‫اﺟـﺮا‬.‫ﯾ‬‫ﮑـ‬‫ﯽ‬‫از‬
‫ا‬‫ﯾ‬‫ﺣﺎﻟﺖ‬ ‫ﻦ‬‫ﺑﻘ‬ ‫ﺧﻮاﻧﺪن‬ ‫ﻫﺎ‬‫ﯿ‬‫ﻪ‬‫ی‬‫ﻣﻘﺪارﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫ﺑﻪ‬ ‫ﺑﺴﺘﻪ‬‫ﯿ‬‫ﺮ‬‫ی‬‫اﺳﺖ‬‫ﮐ‬‫اﺳـﺖ‬ ‫ﺷـﺪه‬ ‫ﺧﻮاﻧﺪه‬ ‫ﻪ‬.‫ا‬ ‫در‬‫ﯾـ‬‫ﺣﺎﻟـﺖ‬ ‫ﻦ‬
‫اﺳﺖ‬ ‫ﻻزم‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫ﻪ‬INPUT‫دوﻣ‬‫ﯽ‬‫ﺑﺮا‬‫ی‬‫ﺑﻘ‬ ‫ﺧﻮاﻧﺪن‬‫ﯿـ‬‫ﻪ‬‫ی‬‫ﻣﻘـﺪارﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﺑﺎﺷـﺪ‬ ‫داﺷـﺘﻪ‬ ‫وﺟـﻮد‬.‫ا‬‫ﯾـ‬‫ﺗﻮﺳـﻂ‬ ‫ﻓـﻦ‬ ‫ﻦ‬
‫ﻣﺸﺨﺺ‬‫ﻧﮕﻬﺪار‬ ‫ﺳﻄﺮ‬ ‫ﮔﺮ‬@‫ا‬‫ﻣ‬ ‫ﻧﺠﺎم‬‫ﯽ‬‫ﺷﻮد‬.
‫ﻧﻤﺎد‬@‫اﻧﺘﻬﺎ‬ ‫در‬‫ی‬‫ﻋﺒﺎرت‬INPUT‫ﻧﻘﻄﻪ‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫درﺳﺖ‬‫واو‬‫ک‬);(‫ﻣ‬ ‫ﻇﺎﻫﺮ‬‫ﯽ‬‫ﺷﻮد‬.‫ﻧﻤﺎد‬@‫ﻣـ‬ ‫ﺳـﺒﺐ‬‫ﯽ‬‫ﺷـﻮد‬‫ﮐـ‬‫ﻪ‬SAS
‫ﻣﻮﻗﻌ‬ ‫در‬ ‫را‬ ‫ﻧﺸﺎﻧﮕﺮ‬‫ﯿ‬‫ﺖ‬‫ﻫﺎ‬‫ی‬‫ﺟﺎر‬‫ی‬‫ﺑﻪ‬ ‫و‬ ‫ﻧﮕﻬﺪاﺷﺘﻪ‬SAS‫ﻣ‬ ‫اﺟﺎزه‬‫ﯽ‬‫دﻫﺪ‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫ﻪ‬INPUT‫د‬‫ﯾ‬‫ﮕﺮ‬‫ی‬‫ﺷﻮد‬ ‫اﺟﺮا‬.
‫ﻣﺜﺎل‬۱-۱۲
DATA popu;
۳۹
INPUT ostan: $15. n @;
DO i=1 to n;
INPUT shahr:$10. Pop 4. @;
OUTPUT;
END;
DROP i;
LABEL pop='Population in 1000 Person';
DATALINES;
TEHRAN 4 TEHRAN 7000 SHAHRERAY 500 SHEMIRAN 700 FIROOZKOH 800 YAZD 5
TAFT 200 MEHRIZ 150 ARDEKAN 250 MAYBOD 80
;
RUN;
PROC PRINT DATA=popu LABEL;
TITLE 'Population Of 3 OstanS in 1385 Population Census';
RUN;
‫ا‬ ‫در‬‫ﯾ‬‫ا‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻦ‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬.15$‫ﺑﻪ‬SAS‫ﻣ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾ‬‫ﺪ‬‫ﮐ‬‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫ﻪ‬‫ﯿ‬‫ﺮ‬ostan،۱۵‫ﻣـ‬ ‫اﺧﺘﺼﺎص‬ ‫ﺧﻮد‬ ‫ﺑﻪ‬ ‫را‬ ‫ﺳﺘﻮن‬‫ﯽ‬‫و‬ ‫دﻫـﺪ‬
‫ﻧﻤﺎد‬:‫ﻣ‬ ‫ﺳﺒﺐ‬ ‫آن‬ ‫از‬ ‫ﻗﺒﻞ‬‫ﯽ‬‫ﺷﻮد‬‫ﮐ‬‫ﻪ‬.15$‫وﻗﺘ‬‫ﯽ‬‫ﺑﻪ‬‫ﯾ‬‫ﮏ‬‫ﻓﺎﺻﻠﻪ‬‫ی‬‫ﺧﺎﻟ‬‫ﯽ‬‫ﻣ‬‫ﯽ‬‫رﺳﺪ‬‫را‬ ‫آن‬‫ﺟـﺪا‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬‫ﮐ‬‫ﻨﻨـﺪه‬‫ی‬‫ﻣﻘـﺪار‬
‫داده‬‫ا‬‫ی‬‫ﺑﮕ‬‫ﯿ‬‫ﺮد‬.‫ا‬ ‫ﺑﺮ‬ ‫ﺑﻨﺎ‬‫ﯾ‬‫ﻧﻤـﺎد‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﻦ‬:‫د‬‫ﯾ‬‫ﻻزم‬ ‫ﮕـﺮ‬‫ﻧ‬‫ﯿ‬‫ﺴـﺖ‬‫ﮐـ‬‫ﻪ‬۱۵‫داده‬ ‫ﺳـﻄﺮ‬ ‫ﻫـﺮ‬ ‫در‬ ‫ﺳـﺘﻮن‬‫ا‬‫ی‬‫ﺑـﺮا‬‫ی‬‫ﻣﺘﻐ‬‫ﯿـ‬‫ﺮ‬
ostan‫ﻧﮕﻪ‬‫ﺷﻮد‬ ‫داﺷﺘﻪ‬.‫ﻧﻤﺎد‬@‫اﻧﺘﻬﺎ‬ ‫در‬‫ی‬‫ﻋﺒﺎرت‬INPUT‫ﻣﻮﻗﻌ‬ ‫در‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫ﺗﻮﻗﻒ‬ ‫ﺳﺒﺐ‬ ‫اول‬‫ﯿ‬‫ﻓﻌﻠ‬ ‫ﺖ‬‫ﯽ‬‫ﺑـﻪ‬ ‫و‬ ‫ﺷـﺪه‬
SAS‫ﻣ‬ ‫اﺟﺎزه‬‫ﯽ‬‫دﻫﺪ‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫ﻪ‬INPUT‫ﺑﻌﺪ‬‫ی‬‫اﺟﺮا‬ ‫را‬‫ﮐ‬‫ﻨﺪ‬.
‫ﻋﺒﺎرت‬INPUT‫ز‬‫ﯾ‬‫ﺮ‬:
INPUT ostan: $15. n @;
‫داده‬ ‫ﺧﻂ‬ ‫ﻧﮕﻬﺪاﺷﺘﻦ‬ ‫ﺳﺒﺐ‬‫ا‬‫ی‬‫ﺑ‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﺧﻮاﻧﺪن‬ ‫از‬ ‫ﻌﺪ‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬ostan‫و‬n‫ﻣ‬‫ﯽ‬‫ﺷﻮد‬.‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮ‬n‫زوج‬ ‫ﺗﻌـﺪاد‬ ‫ﺷﺎﻣﻞ‬
‫ﻣﻘﺪارﻫﺎ‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬shahr‫و‬pop‫ﮐ‬‫ا‬ ‫در‬ ‫ﻪ‬‫ﯾ‬‫داده‬ ‫ﺧﻂ‬ ‫ﻦ‬‫ا‬‫ی‬‫ﻣ‬ ،‫ﻫﺴﺘﻨﺪ‬‫ﯽ‬‫ﺑﺎﺷﺪ‬.‫ا‬‫ﯾ‬‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ ‫ﻣﻘﺪارﻫﺎ‬ ‫زوج‬ ‫ﻦ‬INPUT 
shahr:$10. Pop 4. @;‫ﻣ‬ ‫ﺧﻮاﻧﺪه‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫ا‬‫ﯾ‬‫ﻋﺒﺎرت‬ ‫ﻦ‬INPUT‫ﺣﻠﻘﻪ‬ ‫در‬‫ی‬DO‫ﯾ‬‫ﯽ‬‫ﮐ‬‫ﻣﻘﺪار‬ ‫ﺗﻌﺪاد‬ ‫ﺑﻪ‬ ‫ﻪ‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮ‬n‫اﺟـﺮا‬
‫ﻣ‬‫ﯽ‬‫دارد‬ ‫ﺣﻀﻮر‬ ،‫ﺷﻮد‬.
‫ﻧﻤﺎد‬@‫ﻋﺒﺎرت‬ ‫در‬INPUT‫داده‬ ‫ﺧﻂ‬ ‫ﻧﮕﻬﺪاﺷﺘﻦ‬ ‫ﺳﺒﺐ‬ ‫دوم‬‫ا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﺑـﻪ‬ ‫ﻣﺮﺑـﻮط‬ ‫ﻣﻘـﺪار‬ ‫زوج‬ ‫ﺧﻮاﻧـﺪن‬ ‫از‬ ‫ﭘـﺲ‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ی‬
shahr‫و‬pop‫وﺿﻌ‬ ‫در‬ ‫را‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫و‬ ‫ﺷﺪه‬‫ﯿ‬‫ﺑﺮا‬ ‫درﺳﺖ‬ ‫ﺖ‬‫ی‬‫اﺟﺮا‬‫ی‬‫ﺑﻌﺪ‬‫ی‬‫ا‬‫ﯾ‬‫ﻋﺒﺎرت‬ ‫ﻦ‬INPUT‫ﻣﯽ‬ ‫ﻗﺮار‬‫دﻫـﺪ‬.‫از‬ ‫ﭘـﺲ‬
‫ا‬‫ﯾ‬‫ﻨ‬‫ﮑ‬‫ﻣﻘﺪارﻫﺎ‬ ‫زوج‬ ‫ﻪ‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬shahr‫و‬pop‫ﻋﺒﺎرت‬ ،‫ﺷﺪ‬ ‫ﺧﻮاﻧﺪه‬OUTPUT‫ﻣﻘﺪارﻫﺎ‬ ‫ﺷﺪن‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﺳﺒﺐ‬‫ی‬‫ﭼﻬﺎر‬
۴۰
‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮ‬ostan،n،shahr‫و‬pop‫در‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬popu‫ﻣ‬‫ﯽ‬‫ﺷﻮد‬.‫ﺧﺮوﺟﯽ‬‫ا‬‫ﯾ‬‫ﺷـ‬ ‫در‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻦ‬‫ﮑ‬‫ﻞ‬
۱-۶‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫داده‬ ‫ﻧﺸﺎن‬.
Population Of 3 OstanS in 1385 Population Census
Population
in 1000
Obs ostan n shahr Person
1 TEHRAN 4 TEHRAN 7000
2 TEHRAN 4 SHAHRERAY 500
3 TEHRAN 4 SHEMIRAN 700
4 TEHRAN 4 FIROOZKOH 800
‫ﺷﮑﻞ‬۱-۶‫ﺧﺮوﺟﯽ‬‫ﻣﺜﺎل‬۱-۱۲
۱-۶-۳‫ﻣﺸﺨﺺ‬‫ﺧﻂ‬ ‫ﮔﺮ‬‫ﻧﮕﻬﺪار‬@@
‫وﻗﺘ‬‫ﯽ‬‫داده‬‫ﻫﺎ‬‫ی‬‫ﮔﺎم‬ ‫در‬ ‫ﺧﺎم‬DATA‫ﻋﺒﺎرت‬ ‫در‬ ‫و‬DATALINES‫ﻣ‬ ‫آورده‬‫ﯽ‬‫ﺷﻮ‬‫ﻧ‬،‫ﺪ‬SAS‫دارد‬ ‫اﻧﺘﻈﺎر‬‫ﮐ‬‫داده‬ ‫ﺧﻂ‬ ‫ﻫﺮ‬ ‫ﻪ‬‫ا‬‫ی‬،
‫ﻣﻘﺪارﻫﺎ‬ ‫ﺷﺎﻣﻞ‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ﯾﯽ‬‫ﺑﺎﺷﺪ‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻪ‬INPUT‫ﻣﻌﺮﻓ‬‫ﯽ‬‫ﺷـﺪه‬‫اﻧـﺪ‬.‫ا‬ ‫ﺑـﺮ‬ ‫ﺑﻨـﺎ‬‫ﯾـ‬‫ﭘـ‬ ‫ﻦ‬‫ﯿ‬‫ﻓـﺮض‬ ‫ﺶ‬SAS‫ﺧﻮاﻧـﺪن‬
‫ﻣﻘﺪارﻫﺎ‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ﯾﯽ‬‫ﯾﮏ‬‫داده‬ ‫ﺳﻄﺮ‬ ‫ﻫﺮ‬ ‫در‬ ‫ﻣﺸﺎﻫﺪه‬‫ا‬‫ی‬‫اﺳﺖ‬.‫ﻧﻤﺎد‬@@‫ا‬‫ﯾ‬‫اﻣ‬ ‫ﻦ‬‫ﮑ‬‫ﺑﻪ‬ ‫را‬ ‫ﺎن‬‫ﮐ‬‫ﻣـ‬ ‫ﺎرﺑﺮ‬‫ﯽ‬‫ﺑـﺮا‬ ‫ﺗـﺎ‬ ‫دﻫـﺪ‬‫ی‬
‫اﺳﺘﻔﺎده‬‫ی‬‫ﺑ‬‫ﯿ‬‫ﺻﻔﺤﻪ‬ ‫از‬ ‫ﺸﺘﺮ‬‫ی‬‫ﻧﻤﺎ‬‫ﯾ‬‫ﻧ‬ ‫و‬ ‫ﺶ‬‫ﯿ‬‫ﺰ‬‫ﮐ‬‫ﺑ‬ ‫ﻨﺘﺮل‬‫ﯿ‬‫ﺑـ‬ ،‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﺑﺮ‬ ‫ﺸﺘﺮ‬‫ﯿ‬‫از‬ ‫ﺶ‬‫ﯾـ‬‫ﮏ‬‫ﻣﺸـﺎ‬‫ﻫ‬‫ﺳـﻄﺮ‬ ‫ﻫـﺮ‬ ‫در‬ ‫ﺪه‬‫ﮐﻨـﺪ‬ ‫وارد‬.
‫ز‬ ‫ﻣﺜﺎل‬‫ﯾ‬‫ﺮ‬‫ﻧﺤﻮه‬‫ی‬‫ا‬ ‫از‬ ‫اﺳﺘﻔﺎده‬‫ﯾ‬‫ﻣ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﻧﻤﺎد‬ ‫ﻦ‬‫ﯽ‬‫دﻫﺪ‬.
‫ﻣﺜﺎل‬۱-۱۳
DATA score;
INPUT name$ exam1 exam2 @@;
Final=(exam1+exam2)/2;
DATALINES;
AKBARI 15 17 AHSAN 17 14 ARBABZADEH 16 17 HASANI 18 16 HAGHIGHI 17 15
HUSEINI 18 19 JABARI 12 13 KARAMI 16 16 SAADAT 19 18
;
RUN;
PROC PRINT DATA=score;
RUN;
‫ﻣﺜﺎل‬ ‫در‬۱-۱۳‫داد‬ ‫ﺧﻂ‬ ‫ﻫﺮ‬ ‫در‬‫ه‬‫ا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﻣﻘـﺪار‬ ‫ﺷـﺎﻣﻞ‬ ‫ﻣﺸـﺎﻫﺪه‬ ‫ﭼﻨﺪ‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ی‬name،exam1،exam2‫دارد‬ ‫وﺟـﻮد‬.
‫ﻋﺒﺎرت‬final=(exam1+exam2)/2;‫ﻣ‬‫ﯿ‬‫ﺎﻧﮕ‬‫ﯿ‬‫ﻧﻤﺮه‬ ‫ﻦ‬‫ﻧﻤﺮه‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻫﺎ‬‫ی‬‫ﻧﻬﺎ‬‫ﯾﯽ‬‫ﻣﺤﺎﺳﺒﻪ‬‫ﮐ‬‫و‬ ‫ﺮده‬‫در‬‫ﻧـﺎم‬ ‫ﺑﻪ‬ ‫ﻣﺘﻐﯿﺮی‬
final‫در‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﮐ‬‫ﻧﺎم‬ ‫ﺑﻪ‬ ‫ﻪ‬score‫ﻣﯽ‬ ‫وارد‬‫ﮐﻨﺪ‬.
۴۱
Obs name exam1 exam2 Final
1 AKBARI 15 17 16.0
2 AHSAN 17 14 15.5
3 ARBABZAD 16 17 16.5
4 HASANI 18 16 17.0
5 HAGHIGHI 17 15 16.0
6 HUSEINI 18 19 18.5
7 JABARI 12 13 12.5
8 KARAMI 16 16 16.
9 SAADAT 19 18 18.5
‫ﺷﮑﻞ‬۱-۷‫ﺧﺮوﺟﯽ‬‫ﻣﺜﺎل‬۱-۱۳
۱-۶-۴‫ﻧﺸﺎﻧﮕﺮ‬‫ﮐ‬‫ﻨﺘﺮل‬‫ﮐ‬‫ﻨﻨﺪه‬‫ی‬‫ﺳﻄﺮ‬
‫ﮔﺎﻫ‬‫ﯽ‬‫وﻗﺖ‬‫ﻣﻤ‬ ‫ﻫﺎ‬‫ﮑ‬‫ﻣﺸﺎﻫﺪه‬ ‫ﻫﺮ‬ ‫اﺳﺖ‬ ‫ﻦ‬‫در‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫دﻟ‬ ‫ﺑﻪ‬ ‫ﺧﺎم‬‫ﯿ‬‫ﻞ‬‫ﺗﻌﺪاد‬‫ز‬‫ﯾ‬‫ﻣﺘﻐ‬ ‫ﺎد‬‫ﯿ‬‫ﺧﻂ‬ ‫ﭼﻨﺪ‬ ‫در‬ ‫ﺮﻫﺎ‬‫ﻧﻮﺷـﺘﻪ‬
‫ﺷﻮد‬.‫ا‬ ‫در‬‫ﯾ‬‫ﺑﺮا‬ ‫ﺣﺎﻟﺖ‬ ‫ﻦ‬‫ی‬‫ﻣﺘﻐ‬ ‫ﺧﻮاﻧﺪن‬‫ﯿ‬‫ﺑﺎ‬ ‫ﺮﻫﺎ‬‫ﯾ‬‫ﺷﻤﺎره‬ ‫ﺪ‬‫ی‬‫ﻧ‬ ‫ﻣﺮﺑﻮط‬ ‫ﺧﻂ‬‫ﯿ‬‫ﺑﻪ‬ ‫ﺰ‬SAS‫ﺷـﻮد‬ ‫داده‬.‫ﮔﺰ‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬‫ﯾ‬‫ﻨـﻪ‬n#،
‫ﮐ‬‫ﻪ‬n‫ﯾ‬‫ﮏ‬‫ﺻﺤ‬ ‫ﻋﺪد‬‫ﯿ‬‫ﻋﺒﺎرت‬ ‫در‬ ،‫اﺳﺖ‬ ‫ﻣﺜﺒﺖ‬ ‫و‬ ‫ﺢ‬INPUT‫داده‬ ‫ﺧﻂ‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻧﺸﺎﻧﮕﺮ‬‫ا‬‫ی‬‫ﺑـﺮا‬ ‫ﻣﻨﺎﺳـﺐ‬‫ی‬‫ﻣﻘـﺪار‬ ‫ﺧﻮاﻧـﺪن‬
‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬‫ﻣﻮردﻧﻈﺮ‬‫ﺣﺮ‬‫ﮐ‬‫ﻣ‬ ‫ﺖ‬‫ﯽ‬‫دﻫﺪ‬.
‫ﻣﺜﺎل‬۱-۱۴
DATA survey;
INPUT #1 ID 1-4 gender $1. age 2. (marital educ inc)(1.)
#2 @5 (q1-q10)(1.);
DATALINES;
0001F22123
1341034312
0002M30212
2410332243
0003F48234
3410231104
0004M45342
1034113201
0005M50244
3210342131
;
RUN;
PROC PRINT;
RUN;
۴۲
‫ا‬ ‫در‬‫ﯾ‬‫ﻣﺎﺗﺮ‬ ‫در‬ ‫ﻣﺸﺎﻫﺪه‬ ‫ﻫﺮ‬ ‫ﻣﺜﺎل‬ ‫ﻦ‬‫ﯾ‬‫داده‬ ‫ﺲ‬‫داده‬ ‫ﺧﻂ‬ ‫دو‬ ‫در‬ ‫ﻫﺎ‬‫ا‬‫ی‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫آورده‬.‫ا‬ ‫ﺑـﺮ‬ ‫ﺑﻨـﺎ‬‫ﯾـ‬‫ﻋﺒـﺎرت‬ ‫ﻦ‬INPUT‫ﺑﺎ‬‫ﯾـ‬‫ﺪ‬
‫ﺑﺎﺷﺪ‬ ‫ﻗﺎدر‬‫ﺗ‬‫ﻣﺘﻐ‬ ‫ﺎ‬‫ﯿ‬‫ا‬ ‫در‬ ‫را‬ ‫ﺮﻫﺎ‬‫ﯾ‬‫ﺑﺨﻮاﻧﺪ‬ ‫ﺳﻄﺮ‬ ‫دو‬ ‫ﻦ‬.‫ﻧﻤـﺎد‬n#‫ﻋﺒـﺎرت‬ ‫در‬INPUT‫داده‬ ‫ﺧـﻂ‬ ‫ﺑـﻪ‬ ‫را‬ ‫ﻧﺸـﺎﻧﮕﺮ‬ ،‫ا‬‫ی‬‫ﻣﺘﻐ‬‫ﯿـ‬‫ﺮ‬
‫ﻣ‬ ‫رﻫﻨﻤﻮن‬ ‫ﻣﻮردﻧﻈﺮ‬‫ﯽ‬‫ﮐﻨ‬‫ﺪ‬.‫ا‬ ‫در‬‫ﯾ‬‫ﻧﻤﺎد‬ ‫ﻣﺜﺎل‬ ‫ﻦ‬۱#‫ﻋﺒﺎرت‬ ‫در‬INPUT‫ﺑﻪ‬SAS‫ﻣ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾ‬‫ﺪ‬‫ﮐـ‬‫ﻣﺘﻐ‬ ‫ﻪ‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ﯾﯽ‬‫ﮐـ‬‫از‬ ‫ﺑﻌـﺪ‬ ‫ﻪ‬۱#
‫ـ‬‫ـ‬‫ﻣ‬ ‫آورده‬‫ﯽ‬‫داده‬ ‫ـﻂ‬‫ـ‬‫ﺧ‬ ‫در‬ ‫را‬ ‫ـﻮﻧﺪ‬‫ـ‬‫ﺷ‬‫ا‬‫ی‬۱‫ـﺎﻫﺪه‬‫ـ‬‫ﻣﺸ‬ ‫از‬‫ی‬‫ـﺎر‬‫ـ‬‫ﺟ‬‫ی‬‫ـﺪ‬‫ـ‬‫ﺑﺨﻮاﻧ‬.‫ـﺎ‬‫ـ‬‫ﻣﺜ‬ ‫ـﺮای‬‫ـ‬‫ﺑ‬‫ل‬‫ﻣﺘﻐ‬‫ﯿ‬‫ـﺎ‬‫ـ‬‫ﺮﻫ‬‫ی‬id،gender،age،
marital،edu‫و‬ ،inc‫ا‬ ‫ﺑﺎ‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬‫ﻫﺎ‬‫ی‬‫ﻣﺸﺨﺺ‬‫ﺳﻄﺮ‬ ‫در‬ ‫ﺷﺪه‬۱‫داده‬ ‫ﺧﻂ‬ ‫از‬‫ا‬‫ی‬‫ﻣﺸﺎﻫﺪه‬‫ی‬‫ﺟﺎر‬‫ی‬‫ﻣـ‬ ‫ﺧﻮاﻧـﺪه‬‫ﯽ‬‫ﺷـﻮد‬
‫ﻣﺘﻐ‬ ‫و‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬q1‫ﺗﺎ‬q10)‫ﺳﻮال‬ ‫ﭘﺎﺳﺦ‬‫ﻫﺎ‬‫ی‬۱‫ﺗﺎ‬۱۰‫ﭘﺮﺳﺸﻨﺎﻣﻪ‬‫ی‬‫آﻣـﺎرﮔ‬‫ﯿ‬‫ﺮ‬‫ی‬(‫داده‬ ‫ﺧـﻂ‬ ‫دوم‬ ‫ﺳـﻄﺮ‬ ‫در‬‫ا‬‫ی‬‫ﻣﺸـﺎﻫﺪه‬‫ی‬
‫ﺟﺎر‬‫ی‬‫ﻣ‬ ‫ﺧﻮاﻧﺪه‬ ‫ﺑﻌﺪ‬ ‫ﺑﻪ‬ ‫ﭘﻨﺠﻢ‬ ‫ﺳﺘﻮن‬ ‫از‬ ‫و‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫ﺷ‬‫ﮑ‬‫ﻞ‬۱-۸‫ﺧﺮوﺟﯽ‬‫ﻣﺜﺎل‬۱-۱۴‫را‬‫ﻣﯽ‬ ‫ﻧﻤﺎﯾﺶ‬‫دﻫﺪ‬.
Obs ID gender age married educ inc q1 q2 q3 q4 q5 q6 q7 q8 q9 q10
1 1 F 22 1 2 3 1 3 4 1 0 3 4 3 1 2
2 2 M 30 2 1 2 2 4 1 0 3 3 2 2 4 3
3 3 F 48 2 3 4 3 4 1 0 2 3 1 1 0 4
4 4 M 45 3 4 2 1 0 3 4 1 1 3 2 0 1
5 5 M 50 2 4 4 3 2 1 0 3 4 2 1 3 1
‫ﺷ‬‫ﮑﻞ‬۱-۸‫ﺧﺮوﺟﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ی‬‫ﻣﺜﺎل‬۱-۱۴
‫ﺷ‬ ‫در‬‫ﮑ‬‫ﻞ‬۱-۸‫ﺳﺘﻮن‬obs‫ﻧﻤﺎ‬‫ﯾ‬‫ﺷﻤﺎره‬ ‫ﺎﻧﮕﺮ‬‫ی‬‫ﻣﺸﺎﻫﺪه‬‫اﺳـﺖ‬ ‫ﻫـﺎ‬‫ﮐـ‬‫ﭘـ‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ ‫ﻪ‬‫ﯿ‬‫ﺶ‬‫در‬ ‫ﻓـﺮض‬‫ﺧﺮوﺟـﯽ‬‫ﺷـﺪه‬ ‫آورده‬
‫اﺳﺖ‬.‫اﮔﺮ‬‫ﮐ‬‫ﻣﺎ‬ ‫ﺎرﺑﺮ‬‫ﯾ‬‫ا‬ ‫ﭼﺎپ‬ ‫ﺑﻪ‬ ‫ﻞ‬‫ﯾ‬‫ﻣ‬ ‫ﻧﺒﺎﺷﺪ‬ ‫ﺳﺘﻮن‬ ‫ﻦ‬‫ﯽ‬‫ﮔﺰ‬ ‫ﺗﻮاﻧﺪ‬‫ﯾ‬‫ﻨﻪ‬‫ی‬NOOBS‫در‬ ‫را‬PROC PRINT;‫ﺑﻨﻮ‬‫ﯾ‬‫ﺴﺪ‬.
‫ﻧ‬‫ﮑ‬‫ﺘﻪ‬‫ی‬۱-۲‫ﻣﺜﺎل‬ ‫در‬۱-۱۴‫ﻋﺒﺎرت‬ ‫در‬ ‫و‬PROC PRINT‫ﻧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫اﺳﺖ‬ ‫ﻧﺸﺪه‬ ‫ﻧﻮﺷﺘﻪ‬.‫ﭘـ‬‫ﯿ‬‫ﺶ‬‫در‬ ‫ﻓـﺮض‬
‫ا‬‫ﯾ‬‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺣﺎﻟﺖ‬ ‫ﻦ‬‫آﺧﺮ‬‫ﯾ‬‫ﻦ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ی‬‫ا‬‫ﯾ‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺠﺎد‬.‫ﺑﺮﻧﺎﻣ‬ ‫اﮔﺮ‬‫ﻪ‬‫ا‬‫ی‬‫ﭼﻨـﺪ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬
SAS‫ﺗﻮﻟ‬‫ﯿ‬‫ﺪ‬‫ﮐ‬‫ﺑﺮا‬ ،‫ﺑﺎﺷﺪ‬ ‫ﺮده‬‫ی‬‫از‬ ‫اﺳﺘﻔﺎده‬‫ﯾ‬‫ﮏ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬،‫ﻣﺸﺨﺺ‬‫ﮐ‬‫ﺑﺎ‬ ‫ﺎرﺑﺮ‬‫ﯾ‬‫ﻧـﺎم‬ ‫ﺪ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫در‬ ‫را‬
‫ﮔﺰ‬‫ﯾ‬‫ﻨﻪ‬‫ی‬DATA=‫ﻋﺒﺎرت‬ ‫در‬PROC PRINT‫ﺑ‬‫ﯿ‬‫ﺎورد‬.
۱-۷‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫داﺋﻤ‬‫ﯽ‬SAS
‫اﯾﻦ‬ ‫از‬ ‫ﭘﯿﺶ‬‫ﺷﺪ‬ ‫اﺷﺎره‬‫ﮐ‬‫ﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﻣﯽ‬‫ﺗﻮا‬‫ﻧﻨﺪ‬‫و‬ ‫ﻣﻮﻗﺖ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫داﺋﻤ‬‫ﯽ‬‫ا‬‫ﯾ‬‫ﺷﻮﻧﺪ‬ ‫ﺠﺎد‬.‫ﻫﺮ‬‫ﻣﺠﻤﻮﻋﻪ‬‫ی‬
‫داده‬‫ﻫﺎ‬‫ی‬SAS‫ا‬ ‫از‬ ‫ﭘﺲ‬‫ﯾ‬‫ﺑﺎ‬ ‫ﺷﺪن‬ ‫ﺠﺎد‬‫ﯾ‬‫در‬ ‫ﺪ‬‫ﯾ‬‫ﮏ‬‫ﮐ‬‫ذﺧ‬ ‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﯿ‬‫ﺷﻮد‬ ‫ﺮه‬.‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬SAS‫دارای‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ای‬‫ﻧﺎم‬ ‫ﺑﻪ‬Work
‫اﺳﺖ‬‫ﮐ‬‫ﺗﻤﺎم‬ ‫ﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫ﮔﺎم‬ ‫در‬ ‫ﻪ‬DATA‫ﺗﻮﻟ‬‫ﯿ‬‫ﻣ‬ ‫ﺪ‬‫ﯽ‬‫ﺷﻮ‬‫ﻧ‬‫ﺧﻮد‬ ‫ﻃـﻮر‬ ‫ﺑـﻪ‬ ‫ﺪ‬‫ﮐـ‬‫ا‬ ‫در‬ ‫ﺎر‬‫ﯾـ‬‫ﻦ‬‫ﮐ‬‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ ‫ﺘﺎﺑﺨﺎﻧـﻪ‬
‫ذ‬ ‫ﻣﻮﻗﺖ‬‫ﺧ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬‫ا‬ ‫ﻣﮕـﺮ‬ ،‫ﺷـﻮﻧﺪ‬‫ﯾ‬‫ﻨ‬‫ﮑـ‬‫ﻪ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧـﻪ‬‫ی‬‫د‬‫ﯾ‬‫ﮕـﺮ‬‫ی‬‫ﺑـﺮا‬‫ی‬‫ذﺧ‬‫ﯿـ‬‫ﺮه‬‫ﺳـﺎز‬‫ی‬‫ﺷـﻮد‬ ‫ﮔﺮﻓﺘـﻪ‬ ‫ﻧﻈـﺮ‬ ‫در‬.‫ا‬ ‫در‬‫ﯾـ‬‫ﺻـﻮرت‬ ‫ﻦ‬
‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺻﻮرت‬ ‫ﺑﻪ‬‫داﺋﻤ‬‫ﯽ‬‫ا‬ ‫در‬‫ﯾ‬‫ﻦ‬‫ﮐ‬‫ذﺧ‬ ‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬‫ﺷـﻮد‬.‫داﺋﻤـ‬‫ﯽ‬‫ﺑـﻮدن‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ا‬ ‫ﺑـﻪ‬‫ﯾـ‬‫ﻣﻌﻨـﺎ‬ ‫ﻦ‬
۴۳
‫اﺳﺖ‬‫ﮐ‬‫ﻪ‬‫ﮐ‬‫زﻣﺎن‬ ‫ﻫﺮ‬ ‫ﺎرﺑﺮ‬‫ﮐ‬‫ﻣﺎ‬ ‫ﻪ‬‫ﯾ‬‫ﻣ‬ ‫ﺑﺎﺷﺪ‬ ‫ﻞ‬‫ﯽ‬‫اﺳﺘﻔﺎده‬ ‫آن‬ ‫از‬ ‫ﺗﻮاﻧﺪ‬‫ﮐ‬‫ﻨﺪ‬.‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ﯾﯽ‬‫ﮐـ‬‫در‬ ‫ﻪ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧـﻪ‬‫ی‬Work
‫ذﺧ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬‫ﺧﺮوج‬ ‫ﺑﺎ‬ ،‫ﺷﻮﻧﺪ‬‫ﮐ‬‫ﻣﺤ‬ ‫از‬ ‫ﺎرﺑﺮ‬‫ﯿ‬‫ﻂ‬SAS‫ﺑ‬ ‫از‬‫ﯿ‬‫ﻣ‬ ‫ﻦ‬‫ﯽ‬‫ا‬ ‫و‬ ‫روﻧﺪ‬‫ﯾ‬‫ﻣﻌﻨﺎ‬ ‫ﻦ‬‫ی‬‫ﻣﻮﻗﺘ‬‫ﯽ‬‫ﺑﻮدن‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫اﺳﺖ‬.
۱-۷-۱‫ﺳﺎﺧﺘﻦ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬
‫ﻓﻌﺎل‬ ‫از‬ ‫ﭘﺲ‬‫ﮐ‬‫ﺳﺎﻣﺎﻧﻪ‬ ‫ﺮدن‬‫ی‬SAS‫ﭘﻨﺠﺮه‬ ‫در‬ ،‫ی‬Explorer‫ﻧﻤـﺎد‬ ،Libraries‫را‬‫ﮐ‬‫ﻠ‬‫ﯿـ‬‫ﮏ‬‫ﮐ‬‫ﻨ‬‫ﯿـ‬‫ﺪ‬.‫ا‬ ‫از‬ ‫ﭘـﺲ‬‫ﯾـ‬‫در‬ ‫ﻋﻤـﻞ‬ ‫ﻦ‬
‫ﺳﻤ‬‫ﻧﻤﺎ‬ ‫ﭼﭗ‬ ‫ﺖ‬‫ﯾ‬‫ﺻﻔﺤﻪ‬ ‫ﺸﮕﺮ‬‫ا‬‫ی‬‫ﺷﺪ‬ ‫ﺧﻮاﻫﺪ‬ ‫ﺑﺎز‬‫ﮐ‬‫ﻧﺎم‬ ‫ﻪ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﻫﺎ‬‫ی‬‫ا‬‫ﯾ‬‫ﻣ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﺷﺪه‬ ‫ﺠﺎد‬‫ﯽ‬‫دﻫﺪ‬.‫در‬‫ﺑﺎر‬‫اول‬‫ﮐ‬‫ا‬ ‫ﻪ‬‫ﯾـ‬‫ﻦ‬
‫ﻣ‬ ‫اﻧﺠﺎم‬ ‫ﻋﻤﻞ‬‫ﯽ‬،‫ﺷﻮد‬‫ﭘﻨﺠﺮه‬ ‫اﯾﻦ‬ ‫در‬‫ﺗﻨﻬﺎ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﻫﺎ‬‫ی‬Work،Sashelp‫و‬ ،Sasuser‫دارﻧـﺪ‬ ‫وﺟﻮد‬.‫ﻫﻨﮕـﺎﻣ‬‫ﯽ‬‫ﮐـ‬‫در‬ ‫ﻪ‬
‫ﻣﺤ‬‫ﯿ‬‫ﺳﺎﻣﺎﻧﻪ‬ ‫ﻂ‬‫ی‬SAS‫ﭘﻨﺠﺮه‬ ،‫ا‬‫ی‬‫ﻣ‬ ‫ﻓﻌﺎل‬‫ﯽ‬‫ﻧﺸﺎﻧﻪ‬ ،‫ﺷﻮد‬‫ﻫﺎ‬‫ی‬‫ﻧﻮار‬‫اﺑ‬‫ﺰار‬)‫ا‬‫ﯾ‬‫ﻧﺸﺎﻧﻪ‬ ‫ﻦ‬‫ﺑﺎﻻ‬ ‫ﻧﻮار‬ ‫در‬ ‫ﻫﺎ‬‫ﯾﯽ‬‫ﺻـﻔﺤﻪ‬‫ﻧﻤـﺎﯾﺶ‬ ‫ی‬
‫دارﻧﺪ‬ ‫وﺟﻮد‬(‫ﺗﻐ‬‫ﯿﯿ‬‫ﻣ‬ ‫ﺮ‬‫ﯽ‬‫ﮐ‬‫ﻨﻨﺪ‬.‫ﻧﻮار‬ ‫در‬‫اﺑﺰار‬‫ﻧﺸﺎﻧﻪ‬ ،‫ی‬‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬‫ﺟﺪﯾﺪ‬ ‫ی‬)(‫را‬‫ﮐ‬‫ﻠ‬‫ﯿ‬‫ﮏ‬‫ﮐ‬‫ﻨ‬‫ﯿـ‬‫ﺻـﻔﺤﻪ‬ ،‫ﺪ‬‫ی‬‫ﺟﺪ‬‫ﯾـ‬‫ﺪ‬‫ی‬‫ﺑـﺎ‬
‫ـﻮان‬‫ـ‬‫ﻋﻨ‬NewLibrary‫ـ‬‫ـ‬‫ﻣ‬ ‫ـﺎز‬‫ـ‬‫ﺑ‬‫ﯽ‬‫ـﻮد‬‫ـ‬‫ﺷ‬.‫ا‬ ‫در‬‫ـ‬‫ـ‬‫ﯾ‬‫ـﻪ‬‫ـ‬‫ﺟﻌﺒ‬ ‫در‬ ‫ـﻤﺖ‬‫ـ‬‫ﻗﺴ‬ ‫ﻦ‬‫ی‬Name،‫ـﺎم‬‫ـ‬‫ﻧ‬‫ﮐ‬‫وارد‬ ‫را‬ ‫ـﻪ‬‫ـ‬‫ﺘﺎﺑﺨﺎﻧ‬‫ﮐ‬‫ﻨ‬‫ـ‬‫ـ‬‫ﯿ‬،‫ﺪ‬‫ـﻪ‬‫ـ‬‫ﺟﻌﺒ‬ ‫در‬‫ی‬
Engine‫ﮐ‬‫ﻠﻤﻪ‬‫ی‬Default‫ﺗﻐ‬ ،‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻧﻮﺷﺘﻪ‬‫ﯿﯿ‬‫ﺮ‬‫ی‬‫ا‬ ‫در‬‫ﯾ‬‫ﻧﺪﻫ‬ ‫ﺟﻌﺒﻪ‬ ‫ﻦ‬‫ﯿ‬‫ﺪ‬.‫ﺟﻌﺒـﻪ‬‫ا‬‫ی‬‫ﻋﻨـﻮان‬ ‫ﺑـﺎ‬Enable at startup
‫را‬‫ﮐ‬‫ﻠ‬‫ﯿ‬‫ﮏ‬‫ﮐ‬‫ﻨ‬‫ﯿ‬‫ﻧﻤﺎد‬ ‫ﺗﺎ‬ ‫ﺪ‬√‫ﺷﻮد‬ ‫ﻇﺎﻫﺮ‬ ‫آن‬ ‫در‬.‫ﺟﻌﺒﻪ‬ ‫در‬‫ی‬Path‫آدرﺳ‬‫ﯽ‬‫ﮐ‬‫ﺑﺎ‬ ‫ﻪ‬‫ﯾ‬‫ﺪ‬‫ﮐ‬‫وارد‬ ‫را‬ ‫ﺷـﻮد‬ ‫ﺳﺎﺧﺘﻪ‬ ‫آن‬ ‫در‬ ‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﯾـ‬‫ﺎ‬
‫از‬Browse‫اﺳﺘﻔﺎده‬‫ﮐ‬‫ﻨ‬‫ﯿ‬‫ﺪ‬.‫ﺳﭙﺲ‬OK‫را‬‫ﮐ‬‫ﻠ‬‫ﯿ‬‫ﮏ‬‫ﮐ‬‫ﻨ‬‫ﯿ‬‫ﺪ‬.‫ا‬ ‫در‬‫ﯾ‬‫زﻣﺎن‬ ‫ﻦ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ی‬‫ﻣﻮ‬‫در‬ ‫آن‬ ‫ﻧـﺎم‬ ‫و‬ ‫ﺷـﺪه‬ ‫ﺳـﺎﺧﺘﻪ‬ ‫ﻧﻈـﺮ‬ ‫رد‬
‫ﺻﻔﺤﻪ‬‫ی‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﻣـ‬ ‫ﻧﻮﺷـﺘﻪ‬ ‫ﻫﺎ‬‫ﯽ‬‫ﺷـﻮد‬.‫ا‬ ‫در‬‫ﯾ‬‫ﺧﻮاﻫ‬ ‫ﻗـﺎدر‬ ‫ﺷـﻤﺎ‬ ‫ﻨﺠـﺎ‬‫ﯿـ‬‫ﺑـﻮد‬ ‫ﺪ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫داﺋﻤـ‬‫ﯽ‬‫ا‬ ‫در‬‫ﯾـ‬‫ﻦ‬
‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ذﺧ‬‫ﯿ‬‫ﺮه‬‫ﮐ‬‫ﻨ‬‫ﯿ‬‫ﺪ‬.
،‫اﯾﻦ‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬‫ﻋﺒـﺎرت‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬LIBNAME‫ﻣﯽ‬ ‫ﻧﯿـﺰ‬‫ﯾـﮏ‬ ‫ﺗﻮاﻧﯿـﺪ‬‫ﮐﺘﺎﺑﺨﺎﻧـﻪ‬‫ی‬SAS‫ﮐﻨﯿـﺪ‬ ‫اﯾﺠـﺎد‬.‫ﻋﻤـﻮﻣﯽ‬ ‫ﺷـﮑﻞ‬
‫ﮐﺘﺎﺑﺨﺎ‬ ‫ﺗﻌﺮﯾﻒ‬‫ﻧﻪ‬‫ی‬SAS‫ﺑﻪ‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬:
LIBNAME ‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬ ‫ﻧﺎم‬ '‫;'ﻣﺴﯿﺮ‬
‫ﻣﺜــﺎل‬:‫ﮐﺘﺎﺑﺨﺎﻧــﻪ‬ ‫زﯾــﺮ‬ ‫دﺳــﺘﻮر‬‫ﻧــﺎم‬ ‫ﺑــﻪ‬ ‫ای‬MyLib‫ﻣﺠﻤﻮﻋــﻪ‬ ‫ﺑــﻪ‬ ‫دﺳﺘﺮﺳــﯽ‬ ‫ﺑــﺮای‬‫داده‬ ‫ﻫﺎی‬‫ﻣﺴــﯿﺮ‬ ‫در‬ ‫ﻣﻮﺟــﻮد‬ ‫ﻫــﺎی‬
C:My Files‫ﻣﯽ‬‫ﺳﺎزد‬:
LIBNAME MyLib 'C:My Files';
‫ﻣﯽ‬ ‫ﺷﻤﺎ‬‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬ ‫ﺗﻮاﻧﯿﺪ‬‫دﺳﺘ‬ ‫ﻣﺴـﯿﺮ‬ ‫ﯾـﮏ‬ ‫از‬ ‫ﺑـﯿﺶ‬ ‫ﺑـﻪ‬ ‫ﮐـﻪ‬ ‫ﮐﻨﯿﺪ‬ ‫ﺗﻌﺮﯾﻒ‬ ‫ای‬‫ﭼﻨـﺪ‬ ‫از‬ ‫ﺗﺮﮐﯿﺒـﯽ‬ ‫ﺣﺘـﯽ‬ ،‫ﺑﺎﺷـﺪ‬ ‫داﺷـﺘﻪ‬ ‫ﺮﺳـﯽ‬
‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬‫ﺑﺎﺷﺪ‬ ‫ﻣﻮﺟﻮد‬ ‫ی‬:
LIBNAME NewLib (Mylib 'D:Data' 'E:Data');
‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬ ،‫ﺑﺎﻻ‬ ‫دﺳﺘﻮر‬ ‫دو‬ ‫ﺑﻪ‬ ‫ﺗﻮﺟﻪ‬ ‫ﺑﺎ‬‫ی‬NewLib‫داده‬ ‫ﺑﻪ‬‫ﮐﺘﺎﺑﺨﺎﻧـﻪ‬ ‫در‬ ‫ﻣﻮﺟﻮد‬ ‫ﻫﺎی‬‫ی‬MyLib)‫ﻣﺴـﯿﺮ‬C:My Files(‫و‬
‫ﻣﺴﯿﺮﻫﺎی‬D:Data‫و‬E:Data‫داﺷـﺖ‬ ‫ﺧﻮاﻫـﺪ‬ ‫دﺳﺘﺮﺳﯽ‬.‫دا‬ ‫ﺗﻮﺟـﻪ‬‫اﯾـﻦ‬ ‫روی‬ ‫ﺑﺨﻮاﻫﯿـﺪ‬ ‫ﮐـﻪ‬ ‫ﺻـﻮرﺗﯽ‬ ‫در‬ ‫ﺑﺎﺷـﯿﺪ‬ ‫ﺷـﺘﻪ‬
‫ﻣﺠﻤﻮﻋﻪ‬ ،‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬‫داده‬ ‫ی‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫اﯾـﻦ‬ ،‫ﮐﻨﯿـﺪ‬ ‫اﯾﺠﺎد‬ ‫ﻫﺎﯾﯽ‬‫داده‬ ‫ی‬‫ﻣﺸﺨﺺ‬ ‫ﺑﺨـﺶ‬ ‫اوﻟـﯿﻦ‬ ‫روی‬ ‫ﻫـﺎ‬‫ﻣﺴـﯿﺮ‬ ‫ﯾﻌﻨـﯽ‬ ‫ﺷـﺪه‬
۴۴
C:My Files‫ﺷﺪ‬ ‫ﺧﻮاﻫﺪ‬ ‫اﯾﺠﺎد‬.‫ﻣﺠﻤﻮﻋﻪ‬ ‫اﮔﺮ‬‫داده‬ ‫ی‬‫ﻣﺸﺨﺺ‬ ‫ﻣﺴـﯿﺮ‬ ‫ﭼﻨـﺪ‬ ‫ﯾﺎ‬ ‫دو‬ ‫روی‬ ‫ﻣﺸﺘﺮک‬ ‫ﻧﺎم‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﻫﺎﯾﯽ‬‫ﺷـﺪه‬
‫داد‬ ‫ﺧﻮاﻧﺪن‬ ‫ﻫﻨﮕﺎم‬ ،‫ﺑﺎﺷﺪ‬ ‫ﻣﻮﺟﻮد‬‫ه‬‫ﺑﻮد‬ ‫ﺧﻮاﻫﺪ‬ ‫ﻣﺴﯿﺮ‬ ‫اوﻟﯿﻦ‬ ‫ک‬‫ﻣﻼ‬ ،‫ﻫﺎ‬.
۱-۷-۲‫ا‬‫ﯾ‬‫ﺠﺎد‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫داﺋﻤ‬‫ﯽ‬SAS
‫ﮔﺎم‬ ‫در‬DATA‫ﻧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﻣ‬ ‫ﻣﺸﺨﺺ‬‫ﯽ‬‫ﺷﻮد‬.‫ا‬‫ﯾ‬‫ﻧﺎم‬ ‫ﻦ‬‫ﻫﺴـﺘﻨﺪ‬ ‫ﺑﺨﺶ‬ ‫دو‬ ‫ﺷﺎﻣﻞ‬ ‫ﻫﺎ‬.‫ا‬‫ﯾـ‬‫دو‬ ‫ﻦ‬‫ﺑـﺎ‬ ‫ﺑﺨـﺶ‬‫ﯾـ‬‫ﮏ‬
‫ﻣ‬ ‫ﺟﺪا‬ ‫ﻫﻢ‬ ‫از‬ ‫ﻧﻘﻄﻪ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫ﻧﺎم‬ ‫ﺷﺎﻣﻞ‬ ‫اول‬ ‫ﺑﺨﺶ‬‫ﮐ‬‫ﺑﺨﺶ‬ ‫و‬ ‫اﺳﺖ‬ ‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﻧـﺎم‬ ‫ﺷـﺎﻣﻞ‬ ‫دوم‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫اﺳـﺖ‬.
‫ﺑﺮا‬‫ی‬‫ﻋﺒﺎرت‬ ‫ﻣﺜﺎل‬DATA‫ی‬‫ز‬‫ﯾ‬،‫ﺮ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﻧﺎم‬ ‫ﺑﻪ‬score‫در‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ی‬mydat‫ا‬‫ﯾ‬‫ﻣ‬ ‫ﺠﺎد‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.
DATA mydat.score;
‫ﮔﺎم‬ ‫در‬ ‫اﮔﺮ‬DATA‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺗﻮﺳﻂ‬ ،‫اول‬ ‫ﺑﺨﺶ‬ ‫ﻧﺎم‬‫ﻧﻮ‬‫ﯾ‬،‫ﻧﺸﻮد‬ ‫ﻣﺸﺨﺺ‬ ‫ﺲ‬SAS‫ﺧﻮد‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬‫ﮐ‬‫ﻧﺎم‬ ‫ﺎر‬Work‫ﺑﺨﺶ‬ ‫ﺑﻪ‬ ‫را‬
‫ﻣ‬ ‫اﺧﺘﺼﺎص‬ ‫اول‬‫ﯽ‬‫دﻫﺪ‬.‫د‬ ‫ﻋﺒﺎرت‬ ‫ﺑﻪ‬‫ﯾ‬‫ا‬ ‫در‬ ‫ﮕﺮ‬‫ﯾ‬‫ﺣﺎ‬ ‫ﻦ‬،‫ﻟﺖ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫ا‬ ‫ﻪ‬‫ﯾ‬‫ﻣ‬ ‫ﺠﺎد‬‫ﯽ‬‫در‬ ‫ﺷﻮد‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ی‬Work
‫ذﺧ‬ ‫ﻣﻮﻗﺖ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬‫ﺷﻮد‬.
‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﮔﺮ‬‫ﻧﻮ‬‫ﯾ‬‫ﻧﺎﻣ‬ ‫ﺲ‬‫ﯽ‬‫ﻏ‬‫ﯿ‬‫از‬ ‫ﺮ‬Work،‫دﻫـﺪ‬ ‫اﺧﺘﺼـﺎص‬ ‫اول‬ ‫ﺑﺨـﺶ‬ ‫ﺑﻪ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫ﻧـﺎم‬ ‫ﺑـﺎ‬score‫ﺑـﻪ‬
‫ﺻﻮرت‬‫داﺋﻤ‬‫ﯽ‬‫ا‬ ‫در‬‫ﯾ‬‫ﻦ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ذﺧ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬‫ﺷﻮد‬.‫ﻓﺮاﺧﻮاﻧ‬‫ﯽ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬‫داﺋﻤـ‬‫ﯽ‬SAS‫ﻣﺸـﺨﺺ‬ ‫ﺑـﺎ‬‫ﮐـ‬‫ﻧـﺎم‬ ‫ﺮدن‬
‫ﮐ‬‫ﻧﺎم‬ ‫و‬ ‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﻣ‬ ‫ﺻﻮرت‬‫ﯽ‬‫ﮔ‬‫ﯿ‬‫ﺮد‬.‫ﺑﺮا‬‫ی‬‫ﻋﺒﺎرت‬ ‫ﻣﺜﺎل‬
PROC PRINT DATA=mydat.score;
‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫داﺋﻤ‬‫ﯽ‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬score‫ﮐـ‬‫در‬ ‫ﻪ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧـﻪ‬‫ی‬mydat‫ذﺧ‬‫ﯿـ‬‫ﺑـﺮا‬ ‫را‬ ‫اﺳـﺖ‬ ‫ﺷـﺪه‬ ‫ﺮه‬‫ی‬‫ﭼـﺎپ‬‫ﮐـ‬‫ﺮدن‬
‫ﻓﺮاﺧﻮاﻧ‬‫ﯽ‬‫ﻣ‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.
۱-۷-۳‫ﻋﺒﺎرت‬INFILE
‫ﻣﺜﺎل‬ ‫در‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫د‬ ‫ﺣﺎل‬ ‫ﺑﻪ‬ ‫ﺗﺎ‬ ‫ﻪ‬‫ﯾ‬‫ﺪ‬‫ﯾ‬،‫ﻢ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫ﮔﺎم‬ ‫در‬ ‫و‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬ ‫ﺧﺎم‬DATA‫ﻣ‬ ‫وارد‬‫ﯽ‬‫ﺷﺪ‬.‫اﮔﺮ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫ی‬
‫داده‬‫ﻫﺎ‬‫ی‬‫در‬ ‫ﺧﺎم‬‫ﯾ‬‫ﮏ‬‫ﻓﺎ‬‫ﯾ‬‫ﺧﺎرﺟ‬ ‫ﻞ‬‫ﯽ‬،‫ﻣﺜﺎل‬ ‫ﺑﺮای‬‫در‬‫ﯾ‬‫ﮏ‬‫د‬‫ﯾ‬‫ﺴ‬‫ﮏ‬،‫ﺳﺨﺖ‬‫ﻓﺸﺮده‬ ‫ﻟﻮح‬‫و‬‫ﯾ‬‫ﺎ‬...‫ذﺧ‬ ‫ﻗﺒﻼ‬‫ﯿ‬،‫ﺑﺎﺷـﺪ‬ ‫ﺷﺪه‬ ‫ﺮه‬
‫ﻓﺮاﺧﻮاﻧ‬‫ﯽ‬‫در‬ ‫آن‬SAS‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬INFILE‫ﻣ‬ ‫ﺻﻮرت‬‫ﯽ‬‫ﮔ‬‫ﯿ‬‫ﺮد‬.‫ز‬ ‫ﻣﺜﺎل‬ ‫در‬‫ﯾ‬‫ﺮ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫ﺧﺎم‬)‫ﺑﺎ‬‫ﻓﻮرﻣﺖ‬‫ﻣﺘﻨـ‬‫ﯽ‬(
‫ﻧﺎم‬ ‫ﺑﻪ‬score‫ﭘ‬ ‫ﺑﺎ‬ ‫و‬‫ﺴﻮﻧﺪ‬dat‫ﮐ‬‫آدرس‬ ‫در‬ ‫ﻪ‬C:surveydata‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ ‫دارد‬ ‫ﻗﺮار‬INFILE‫ﻓﺮاﺧﻮاﻧ‬‫ﯽ‬‫ﺷـ‬‫ﭘـﺲ‬ ‫و‬ ‫ﺪه‬
‫ﺗﺒﺪ‬ ‫از‬‫ﯾ‬‫ﺑﻪ‬ ‫ﻞ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫در‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ی‬mydat‫ﻧﺎم‬ ‫ﺑﺎ‬score‫ﺻﻮرت‬ ‫ﺑﻪ‬‫داﺋﻤ‬‫ﯽ‬‫ذﺧ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬‫ﺷﻮد‬.
‫ﻣﺜﺎل‬۱-۱۵
DATA mydat.score;
INFILE 'C:surveydatascore.dat';
۴۵
INPUT name$ exam1 exam2 hw;
final = (exam1 + exam2) / 2 + hw;
RUN;
۱-۸‫ﮔﺎم‬PROC
‫ـﻪ‬‫ـ‬‫ﻣﺠﻤﻮﻋ‬‫داده‬ ‫ی‬‫ـﺎ‬‫ـ‬‫ﻫ‬‫ی‬SAS‫ـ‬‫ـ‬‫ﻣ‬ ،‫ﯽ‬‫روش‬ ‫از‬ ‫ـﺘﻔﺎده‬‫ـ‬‫اﺳ‬ ‫ـﺎ‬‫ـ‬‫ﺑ‬ ‫ـﺪ‬‫ـ‬‫ﺗﻮاﻧﻨ‬‫ـﺎ‬‫ـ‬‫ﻫ‬‫ی‬‫ـﺎر‬‫ـ‬‫آﻣ‬‫ی‬‫ﺗﺤﻠ‬‫ـ‬‫ـ‬‫ﯿ‬‫ـﻮﻧﺪ‬‫ـ‬‫ﺷ‬ ‫ﻞ‬.‫ا‬‫ـ‬‫ـ‬‫ﯾ‬‫رو‬ ‫ﻦ‬‫ش‬‫ـﻪ‬‫ـ‬‫ﺑﺮﻧﺎﻣ‬ ‫ـﺎ‬‫ـ‬‫ﻫ‬‫ـﺎ‬‫ـ‬‫ﻫ‬‫ی‬
‫ﭘ‬‫ﯿ‬‫ﺶ‬‫ﻧﻮﺷﺘﻪ‬‫ا‬‫ی‬‫ﻫﺴﺘﻨﺪ‬‫ﮐ‬‫ﮔﺎم‬ ‫در‬ ‫ﻪ‬PROC‫ﻓﺮ‬‫اﺧﻮاﻧ‬‫ﯽ‬‫ﻣ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫ﮔﺎم‬ ‫ﻫﺮ‬PROC‫ﻋﺒـﺎرت‬ ‫ﺷـﺎﻣﻞ‬PROC‫ﻋﺒـﺎرت‬ ‫و‬‫ﻫـﺎ‬‫ﯾﯽ‬
‫اﺳﺖ‬‫ﮐ‬‫ﮔﺎم‬ ‫در‬ ‫ﻪ‬PROC‫ﺑﻪ‬‫ﮐ‬‫ﻣ‬ ‫ﺎر‬‫ﯽ‬‫روﻧﺪ‬.‫ا‬‫ﯾ‬‫ﻋﺒﺎرت‬ ‫ﻦ‬‫دﺳـﺘﻮر‬ ‫ﺻـﻮرت‬ ‫ﻫﺎ‬‫ی‬‫ﺷـ‬‫ﯿ‬‫ﻮه‬‫ی‬‫ﺗﺸـ‬ ‫را‬ ‫ﻧﻈـﺮ‬ ‫ﻣـﻮرد‬‫ﮑ‬‫ﯿ‬‫ﻣـ‬ ‫ﻞ‬‫ﯽ‬‫دﻫﻨـﺪ‬.
‫ﺑﺮﺧ‬‫ﯽ‬‫ﻋﺒﺎرت‬ ‫از‬‫ﻋﻤﻮﻣ‬ ‫ﻫﺎ‬‫ﯽ‬‫ﻫﺴﺘﻨﺪ‬،‫ا‬ ‫ﺑﻪ‬‫ﯾ‬‫ﻣﻌﻨﺎ‬ ‫ﻦ‬‫ﮐ‬‫ﮔﺎم‬ ‫ﻫﺮ‬ ‫در‬ ‫ﻪ‬PROC‫ﺑﻪ‬‫ﮐ‬‫ﻣ‬ ‫ﺎر‬‫ﯽ‬‫ﺑﺮﺧ‬ ‫و‬ ‫روﻧﺪ‬‫ﯽ‬‫اﺧﺘﺼﺎﺻـ‬‫ﯽ‬.‫ﺻـﻮرت‬
‫ﻋﻤﻮﻣ‬‫ﯽ‬‫ﯾ‬‫ﮏ‬‫ﮔﺎم‬PROC‫ﺷ‬ ‫ﺑﻪ‬‫ﮑ‬‫ز‬ ‫ﻞ‬‫ﯾ‬‫اﺳﺖ‬ ‫ﺮ‬:
PROC >‫ﮔﺰﯾﻨﻪ‬ ‫ﻓﻬﺮﺳﺖ‬‫ﻫﺎ‬<‫ﺷﯿﻮه‬ ‫ﻧﺎم‬ ;
< ‫ﻋﺒﺎرت‬‫ﻣﯽ‬ ‫ﺷﯿﻮه‬ ‫ﺑﻪ‬ ‫اﻃﻼﻋﺎت‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫دﻫﻨﺪ‬ ;>
< ‫ﻋﺒﺎرت‬‫درﺑﺎره‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫ﻣﯽ‬ ‫اﻃﻼع‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ی‬‫دﻫﻨﺪ‬ ;>
RUN;
‫ﺑ‬‫ﯿ‬‫ﺷ‬ ‫ﺸﺘﺮ‬‫ﯿ‬‫ﻮه‬‫ﻫﺎ‬‫ی‬SAS‫ﻣ‬ ‫را‬‫ﯽ‬‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ ‫ﺗﻮان‬PROC‫ﻓﻌﺎل‬ ‫ﺳﺎده‬‫ﮐﺮد‬.‫ز‬ ‫ﻣﺜﺎل‬‫ﯾ‬‫ﺳﺎده‬ ‫ﺮ‬‫ﺗـﺮ‬‫ﯾ‬‫ﺷـ‬ ‫ﻦ‬‫ﮑ‬‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﻞ‬‫ﺷـﯿ‬‫ﻮه‬‫ی‬
PRINT‫ﻣ‬ ‫ﻧﺸﺎن‬ ‫را‬‫ﯽ‬‫دﻫﺪ‬.
‫ﻣﺜﺎل‬۱-۱۶
PROC PRINT DATA=mydat.score;
RUN;
‫ا‬‫ﯾ‬‫ﻦ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺷ‬ ‫از‬‫ﯿ‬‫ﻮه‬‫ی‬PRINT‫ﺑﺮا‬‫ی‬‫ﭼﺎپ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬score‫ﻣـ‬ ‫اﺳﺘﻔﺎده‬‫ﯽ‬‫ﮐ‬‫ﻨـﺪ‬.‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬score
‫در‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ی‬mydat‫ﺻﻮرت‬ ‫ﺑﻪ‬‫داﺋﻤ‬‫ﯽ‬‫ذﺧ‬‫ﯿ‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺮه‬.‫اﮔﺮ‬‫ﮐ‬‫ﻣﺎ‬ ‫ﺎرﺑﺮ‬‫ﯾ‬‫ﺑﺎﺷﺪ‬ ‫ﻞ‬‫ﮐ‬‫ﻓﻬﺮﺳﺘ‬ ‫ﺗﻨﻬﺎ‬ ‫ﻪ‬‫ﯽ‬‫ﻧﺎم‬ ‫از‬‫ﻧﻤـﺮه‬ ‫و‬ ‫ﻫﺎ‬‫ی‬
‫ﻧﻬﺎ‬‫ﯾﯽ‬‫ﻣ‬ ‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬‫ﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺗﻮاﻧﺪ‬‫ی‬‫ز‬‫ﯾ‬‫اﺟﺮا‬ ‫را‬ ‫ﺮ‬‫ﮐ‬‫ﻨﺪ‬.
PROC PRINT DATA=mydat.score;
VAR name final;
RUN;
‫ﻋﺒﺎرت‬VAR‫ﮐ‬‫ﻪ‬‫ﮐ‬‫ﻮﺗﻪ‬‫ﻧﻮﺷﺘﻪ‬‫ی‬VARIABLE‫ﻣﺘﻐ‬ ،‫اﺳﺖ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ﯾﯽ‬‫را‬‫ﮐ‬‫ﺑﺎ‬ ‫ﻪ‬‫ﯾ‬‫ﺗﺤﻠ‬ ‫در‬ ‫ﺪ‬‫ﯿ‬‫ﺷﺮ‬ ‫ﻞ‬‫ﮐ‬‫ﻣﺸـﺨﺺ‬ ‫را‬ ‫ﺑﺎﺷـﻨﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺖ‬
‫ﻣ‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.
۴۶
‫ﻧ‬‫ﮑ‬‫ﺘﻪ‬‫ی‬۱-۳‫ﺑﺮﻧﺎﻣﻪ‬‫ﭘﻨﺠﺮ‬ ‫در‬ ‫ﻫﺎ‬‫ه‬‫ی‬Editor‫ﻣ‬ ‫ﻧﻮﺷﺘﻪ‬‫ﯽ‬‫ﺑﺎ‬ ‫و‬ ‫ﺷﻮد‬‫ﮐ‬‫ﻠ‬‫ﯿ‬‫ﮏ‬‫ﮐ‬‫رو‬ ‫ﺮدن‬‫ی‬‫ﻧﺸﺎﻧﻪ‬‫ی‬‫ﻧﻮار‬ ‫در‬‫اﺑﺰار‬‫اﺟﺮا‬ ،
‫ﻣ‬‫ﯽ‬‫ﺷﻮد‬.
‫ﻧ‬‫ﮑ‬‫ﺘﻪ‬‫ی‬۱-۴‫اﺟﺮا‬ ‫از‬ ‫ﺑﻌﺪ‬‫ی‬‫ﻣﺮور‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫و‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺮ‬‫ﺧﺮوﺟﯽ‬‫ﭘﻨﺠﺮه‬ ‫در‬‫ی‬Output‫ﭘ‬ ‫اﺳﺖ‬ ‫ﺑﻬﺘﺮ‬‫ﯿ‬‫ﻐﺎم‬‫ﻫـﺎ‬‫ی‬‫ﭘﻨﺠـﺮه‬‫ی‬
Log‫ﺑﺮا‬‫ی‬‫درﺳﺘ‬ ‫از‬ ‫اﻃﻼع‬‫ﯽ‬‫ﺑﺮرﺳ‬ ‫ﺑﺮﻧﺎﻣﻪ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.
‫ﻧ‬‫ﮑ‬‫ﺘﻪ‬‫ی‬۱-۵‫ﺻﻮرﺗ‬ ‫در‬‫ﯽ‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫ﻪ‬VAR‫ﺑـﻪ‬‫ﮐـ‬‫ﭘـ‬ ،‫ﻧـﺮود‬ ‫ﺎر‬‫ﯿ‬‫ﻓـﺮض‬ ‫ﺶ‬SAS‫ﻣﺘﻐ‬ ‫ﺗﻤـﺎم‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ی‬‫ﻋـﺪد‬‫ی‬‫در‬
‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫اﺳﺖ‬.‫ﺷﯿﻮه‬ ‫در‬‫ی‬PRINT‫اﮔﺮ‬VAR‫ﻧﻮﯾﺴـﻪ‬ ‫و‬ ‫ﻋـﺪدی‬ ‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ،‫ﻧﺸـﻮد‬ ‫ﻣﺸﺨﺺ‬‫ﭼـﺎپ‬ ‫ﺑـﺮای‬ ‫ای‬
‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬‫ﺷﻮﻧﺪ‬.
‫ﻣﺜﺎل‬۱-۱۷‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ی‬SAS‫ﻣﺜﺎل‬ ‫در‬ ‫ﺷﺪه‬ ‫اﯾﺠﺎد‬۱-۱‫ﻧﺎم‬ ‫ﺑﻪ‬exam‫ﮐﺘﺎﺑﺨﺎﻧـﻪ‬ ‫در‬ ‫ﮐﻪ‬‫ی‬work‫ﺷـﺪه‬ ‫ذﺧﯿـﺮه‬
‫ﺑﮕﯿﺮﯾﺪ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫اﺳﺖ‬.‫ﻣﯽ‬‫ﻣﺸﺎﻫﺪه‬ ‫ﺗﻌﺪاد‬ ‫ﺧﻮاﻫﯿﻢ‬‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫اﺳـﺘﺎﻧﺪارد‬ ‫ﺧﻄﺎی‬ ‫و‬ ‫ﻣﯿﺎﻧﮕﯿﻦ‬ ،‫ﻫﺎ‬midterm‫و‬final
‫اﯾﻦ‬ ‫ﺑﺮای‬ ‫اﻋﺸﺎر‬ ‫رﻗﻢ‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫را‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﮐﻨﯿﻢ‬ ‫ﻣﺤﺎﺳﺒﻪ‬.‫ﺑﺮﻧﺎﻣﻪ‬‫ی‬‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ‫را‬ ‫ﺗﺤﻠﯿﻞ‬ ‫اﯾﻦ‬ ‫زﯾﺮ‬‫دﻫﺪ‬.
PROC MEANS DATA=exam N MEAN STD MAXDEC=1;
VAR midterm final
Run;
‫ﮐﻠﯿﺪوا‬‫ژ‬‫ه‬‫ی‬MEANS‫ﻋﺒﺎرت‬ ‫در‬PROC‫ﺷﯿﻮه‬‫داده‬ ‫ﺗﺤﻠﯿﻞ‬ ‫ﻣﻨﺎﺳﺐ‬ ‫آﻣﺎری‬ ‫ی‬‫ﻣﯽ‬ ‫ﻓﺮاﺧﻮاﻧﯽ‬ ‫را‬ ‫ﻫﺎ‬‫ﮐﻨﺪ‬.‫ﮔﺰﯾﻨﻪ‬ ‫ﺳﺎﯾﺮ‬‫در‬ ‫ﻫـﺎ‬
‫ﻋﺒﺎرت‬PROC‫ﻫﺴﺘﻨﺪ‬ ‫اﺧﺘﯿﺎری‬.‫ﮔﺰﯾﻨﻪ‬ ‫در‬‫ی‬DATA= ‫ﻧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﻣـﯽ‬ ‫آورده‬ ‫ﺷـﻮﻧﺪ‬ ‫ﺗﺤﻠﯿﻞ‬ ‫ﺑﺎﯾﺪ‬ ‫ﮐﻪ‬ ‫ﯾﯽ‬‫ﺷـﻮد‬
)exam.(،‫ﺷﻮد‬ ‫ﺣﺬف‬ ‫ﮔﺰﯾﻨﻪ‬ ‫اﯾﻦ‬ ‫اﮔﺮ‬SAS‫ﭘـﯿﺶ‬ ‫ﻃـﻮر‬ ‫ﺑﻪ‬‫آﺧـﺮﯾﻦ‬ ‫ﻓـﺮض‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬‫ﺗﻮﻟﯿـﺪ‬‫ﺷـﺪه‬‫ﮐـﺎر‬ ‫ﺑـﻪ‬ ‫را‬
‫ﻣﯽ‬‫ﮔﯿﺮد‬.‫ﮔﺰﯾﻨﻪ‬‫ﻫﺎی‬N،MEANS،‫و‬STD‫از‬ ‫ﺗﺮﺗﯿﺐ‬ ‫ﺑﻪ‬SAS‫ﻣـﯽ‬‫ﻣﺸـﺎﻫﺪه‬ ‫ﺗﻌـﺪاد‬ ‫ﺗـﺎ‬ ‫ﺧﻮاﻫﻨـﺪ‬‫ﻫـﺎ‬)‫ﻣﺸـﺎﻫﺪه‬ ‫ﻫﺸـﺖ‬(،
‫ـﺎ‬‫ـ‬‫ﻣﺘﻐﯿﺮﻫ‬ ‫ـﺘﺎﻧﺪارد‬‫ـ‬‫اﺳ‬ ‫ـﺎی‬‫ـ‬‫ﺧﻄ‬ ‫و‬ ‫ـﺎﻧﮕﯿﻦ‬‫ـ‬‫ﻣﯿ‬‫ی‬‫ـﯽ‬‫ـ‬‫ﻣﻌﺮﻓ‬‫ـﺎرت‬‫ـ‬‫ﻋﺒ‬ ‫در‬ ‫ـﺪه‬‫ـ‬‫ﺷ‬VAR‫و‬ ‫ـﺮده‬‫ـ‬‫ﮐ‬ ‫ـﺒﻪ‬‫ـ‬‫ﻣﺤﺎﺳ‬ ‫را‬‫ـﺪ‬‫ـ‬‫ﮐﻨ‬ ‫ـﺎپ‬‫ـ‬‫ﭼ‬.‫ـﻪ‬‫ـ‬‫ﮔﺰﯾﻨ‬‫ی‬
MAXDEC=1‫از‬SAS‫ـﯽ‬‫ـ‬‫ﻣ‬‫ـﺎره‬‫ـ‬‫آﻣ‬ ‫ـﻪ‬‫ـ‬‫ﮐ‬ ‫ـﺪ‬‫ـ‬‫ﺧﻮاﻫ‬‫ـﺪ‬‫ـ‬‫ﮐﻨ‬ ‫ـﺎپ‬‫ـ‬‫ﭼ‬ ‫ـﺎر‬‫ـ‬‫اﻋﺸ‬ ‫ـﻢ‬‫ـ‬‫رﻗ‬ ‫ـﮏ‬‫ـ‬‫ﯾ‬ ‫ـﺎ‬‫ـ‬‫ﺑ‬ ‫را‬ ‫ـﯽ‬‫ـ‬‫ﺧﺮوﺟ‬ ‫ـﺎی‬‫ـ‬‫ﻫ‬.‫ـﺎرت‬‫ـ‬‫ﻋﺒ‬VAR‫ـﻪ‬‫ـ‬‫ﮐ‬
‫ﮐﻮﺗﻪ‬‫ﻧﻮﺷﺘﻪ‬‫ی‬VARIABLE‫ﺑﻪ‬ ‫اﺳﺖ‬SAS‫ﻣﯽ‬‫ﮐﻨﺪ‬ ‫وارد‬ ‫ﺗﺤﻠﯿﻞ‬ ‫در‬ ‫را‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﮐﺪام‬ ‫ﮐﻪ‬ ‫ﮔﻮﯾﺪ‬.،‫ﺷﻮد‬ ‫ﺣﺬف‬ ‫ﮔﺰﯾﻨﻪ‬ ‫اﯾﻦ‬ ‫اﮔﺮ‬
SAS‫ﺑﻪ‬‫ﭘﯿﺶ‬ ‫ﻃﻮر‬‫ﻓﺮض‬‫ﻋﺪدی‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺗﻤﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫در‬ ‫ﻣﻮﺟﻮد‬‫داده‬ ‫ی‬‫را‬ ‫ﻫﺎ‬‫ﮐﺎر‬ ‫ﺑﻪ‬‫ﻣﯽ‬‫ﮔﯿﺮ‬‫د‬.
۱-۸-۱‫ﻣﺸﺨﺺ‬‫ﮔﺰﯾﻨﻪ‬ ‫ﺳﺎزی‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻫﺎ‬PROC
‫ﮔﺰﯾﻨﻪ‬ ‫ﺑﺮﺧﯽ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻫﺎ‬PROC‫ﯾﻌﻨﯽ‬ ،‫ﻫﺴﺘﻨﺪ‬ ‫ﻋﻤﻮﻣﯽ‬‫ﻣﯽ‬‫ﻋﺒﺎرت‬ ‫ﻫﺮ‬ ‫در‬ ‫ﺗﻮاﻧﻨﺪ‬PROC‫روﻧﺪ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬.‫اﮔﺮ‬ ‫ﻣﺜﺎل‬ ‫ﺑﺮای‬
‫آﺧﺮﯾﻦ‬ ‫ﮐﻪ‬ ‫ﻧﺒﺎﺷﺪ‬ ‫ﻣﺎﯾﻞ‬ ‫ﮐﺎرﺑﺮ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﻣﯽ‬ ،‫ﮐﻨﺪ‬ ‫ﺗﺤﻠﯿﻞ‬ ‫را‬ ‫ﺷﺪه‬ ‫اﯾﺠﺎد‬‫ﻧـﺎم‬ ‫ﺗﻮاﻧـﺪ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬
۴۷
SAS‫ﻧﻈ‬ ‫ﻣﻮرد‬‫ﮔﺰﯾﻨﻪ‬ ‫در‬ ‫را‬ ‫ﺮ‬‫ی‬DATA=‫ﮐﻨﺪ‬ ‫ﻣﺸﺨﺺ‬.‫ﻋﺒـﺎرت‬ ‫ﻣﺜﺎل‬ ‫ﺑﺮای‬PROC PRINT DATA=score‫ﻣﺠﻤﻮﻋـﻪ‬‫ی‬
‫داده‬‫ﻫﺎ‬‫ی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬score‫ﻣﯽ‬ ‫ﭼﺎپ‬ ‫را‬‫ﮐﻨﺪ‬.
،‫دﯾﮕﺮ‬ ‫ﻣﺜﺎﻟﯽ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬‫ﻋﺒﺎرت‬PROC MEANS mean std; ‫ﺷﯿﻮه‬‫ی‬MEANS‫ﻣﯽ‬ ‫ﻓﻌﺎل‬ ‫را‬‫ﮐﻨﺪ‬.‫ﮔﺰﯾﻨﻪ‬‫ﻫـﺎی‬mean،
‫و‬std‫ﻣﯽ‬ ‫ﺷﯿﻮه‬ ‫اﯾﻦ‬ ‫از‬‫ﺧﻮاﻫ‬‫ﻨ‬‫ﻣ‬ ‫ﺗﻤـﺎم‬ ‫ﺑﺮای‬ ‫ﮐﻪ‬ ‫ﺪ‬‫آﺧـﺮﯾﻦ‬ ‫در‬ ‫ﻋـﺪدی‬ ‫ﺘﻐﯿﺮﻫـﺎی‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS،‫ﺷـﺪه‬ ‫اﯾﺠـﺎد‬
‫ـﺎره‬‫ـ‬‫آﻣ‬‫ـﺎی‬‫ـ‬‫ﻫ‬‫و‬ ‫ـﺎﻧﮕﯿﻦ‬‫ـ‬‫ﻣﯿ‬‫ـﺪ‬‫ـ‬‫ﮐﻨ‬ ‫ـﺎپ‬‫ـ‬‫ﭼ‬ ‫را‬ ‫ـﺘﺎﻧﺪارد‬‫ـ‬‫اﺳ‬ ‫ـﺮاف‬‫ـ‬‫اﻧﺤ‬.‫ـﯿﺶ‬‫ـ‬‫ﭘ‬‫ـﺮض‬‫ـ‬‫ﻓ‬SAS‫ـﺎره‬‫ـ‬‫آﻣ‬ ‫ـﺎپ‬‫ـ‬‫ﭼ‬‫ـﻪ‬‫ـ‬‫ﺧﻼﺻ‬ ‫ـﺎی‬‫ـ‬‫ﻫ‬‫ی‬:‫ـﺪاد‬‫ـ‬‫ﺗﻌ‬
‫ﻣﺸﺎﻫﺪه‬‫ﻣﺎﮐﺴﯿﻤﻢ‬ ‫و‬ ‫ﻣﯿﻨﯿﻤﻢ‬ ،‫اﺳﺘﺎﻧﺪارد‬ ‫اﻧﺤﺮاف‬ ،‫ﻣﯿﺎﻧﮕﯿﻦ‬ ،‫ﻫﺎ‬‫داده‬‫ﻫﺎ‬‫اﺳﺖ‬.
‫ﻣ‬ ‫در‬‫ﺜ‬‫ﮔﺰﯾﻨﻪ‬ ‫اﺧﯿﺮ‬ ‫ﺎل‬‫ﻫﺎی‬mean‫و‬ ،std‫ﮔﺰﯾﻨﻪ‬‫ﻫﺎ‬‫ﺷﯿﻮه‬ ‫ﺑﺮای‬ ‫اﺧﺘﺼﺎﺻﯽ‬ ‫ی‬‫ی‬MEANS‫ﻫﺴﺘﻨﺪ‬.
۱-۸-۲‫ﻋﺒﺎرت‬‫ﺷﯿﻮه‬ ‫ﺑﻪ‬ ‫اﻃﻼﻋﺎت‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫ﻣﯽ‬‫دﻫﻨﺪ‬
‫ﮔﺰﯾﻨﻪ‬ ‫از‬ ‫ﺑﺮﺧﯽ‬‫ﻫﺎی‬‫ﺑﻪ‬ ‫اﻃﻼﻋﺎﺗﯽ‬ ‫ﮐﻪ‬ ‫اﺧﺘﯿﺎری‬‫ﺷﯿﻮه‬‫ﻣـﯽ‬ ‫اﺟﺮا‬ ‫ﺑﺮای‬ ‫ﻣﻮردﻧﻈﺮ‬ ‫ی‬‫ﻣـﯽ‬ ‫را‬ ‫دﻫﻨـﺪ‬‫ﮔـﺎم‬ ‫در‬ ‫ﺗـﻮان‬PROC‫وارد‬
‫ﮐﺮد‬.‫ﻋﺒﺎرت‬ ،‫ﻗﺒﻞ‬ ‫ﻣﺜﺎل‬ ‫در‬PROC MEANS mean std;‫ﻣﯿﺎﻧﮕﯿﻦ‬‫و‬‫اﺳـﺘﺎﻧﺪارد‬ ‫اﻧﺤـﺮاف‬‫ر‬‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ﺗﻤـﺎم‬ ‫ﺑـﺮای‬ ‫ا‬
‫در‬ ‫ﻋﺪدی‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﺷﺪه‬ ‫اﯾﺠﺎد‬‫ﻣﯽ‬ ‫ﻣﺤﺎﺳﺒﻪ‬‫ﮐﻨﺪ‬.‫ﻣﺤﺎﺳﺒﻪ‬ ‫ﮐﺎرﺑﺮ‬ ‫اﮔﺮ‬‫آﻣﺎره‬ ‫اﯾﻦ‬ ‫ی‬‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺮای‬ ‫را‬ ‫ﻫﺎ‬
‫ﺧﺎ‬‫ﺻ‬‫ﻣﯽ‬ ‫ﺑﺨﻮاﻫﺪ‬ ‫ﯽ‬‫ﻋﺒﺎرت‬ ‫از‬ ‫ﺗﻮاﻧﺪ‬VAR‫ﮐﻨﺪ‬ ‫اﺳﺘﻔﺎده‬.‫ﻣﺜﺎل‬ ‫ﺑﺮای‬
PROC MEANS std mean;
VAR X Y;
RUN;
‫آﻣﺎره‬‫ﻫﺎی‬mean‫و‬std‫ﺑﺮای‬ ‫ﺗﻨﻬﺎ‬ ‫را‬‫ﻣﺘﻐﯿﺮﻫﺎی‬X‫و‬Y‫ﭼﺎپ‬ ‫و‬ ‫ﻣﺤﺎﺳﺒﻪ‬‫ﻣﯽ‬‫ﮐﻨﺪ‬.
‫ﻋﺒﺎرت‬ ‫از‬ ‫ﯾﮑﯽ‬‫ﺷـﯿﻮه‬ ‫اﻃﻼﻋـﺎﺗﯽ‬ ‫ﻫـﺎی‬‫ﻋﺒـﺎرت‬ ،‫ای‬BY‫ﺷـﯿﻮه‬ ‫ﺑـﻪ‬ ‫ﮐـﻪ‬ ‫اﺳـﺖ‬‫ﻫـﺎی‬SAS‫ﻣـﯽ‬ ‫اﺟـﺎزه‬‫ﭘﺎﯾـﻪ‬ ‫ﺑـﺮ‬ ‫ﮐـﻪ‬ ‫دﻫـﺪ‬‫ی‬
‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪارﻫﺎی‬)‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﯾﺎ‬(‫ﻋﺒﺎرت‬ ‫در‬ ‫ﮐﻪ‬BY‫ﺷﺪه‬ ‫ﻓﻬﺮﺳﺖ‬‫زﯾﺮﻣﺠﻤﻮﻋﻪ‬ ،‫اﻧﺪ‬‫ﻫـﺎی‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ﻣﺸـﺨﺺ‬ ‫ی‬
‫را‬ ‫ﺷﺪه‬‫ﭘ‬‫ﮐﻨﺪ‬ ‫ﺮدازش‬.‫ﻋﺒﺎرت‬ ‫ﺑﻪ‬‫دﯾﮕﺮ‬SAS‫ﺷﯿﻮه‬‫را‬ ‫ﻣﻮردﻧﻈﺮ‬ ‫ی‬‫ﺑﻪ‬‫ﭘﯿـﺎﭘﯽ‬ ‫ﺻـﻮرت‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫زﯾـﺮ‬ ‫روی‬‫داده‬ ‫ی‬‫اﺟـﺮا‬ ‫ﻫـﺎ‬
‫ﻣﯽ‬‫ﮐﻨﺪ‬.‫ﻋﺒﺎرت‬ ‫ﻋﻤﻮﻣﯽ‬ ‫ﺷﮑﻞ‬BY‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬:
BY ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻓﻬﺮﺳﺖ‬;
‫ﻫﻨﮕﺎﻣﯽ‬‫ﻋﺒﺎرت‬ ‫ﮐﻪ‬BY‫ﮔﺎم‬ ‫در‬PROC‫ﻣﯽ‬ ‫ﻇﺎﻫﺮ‬‫ﺷﯿﻮه‬ ،‫ﺷﻮد‬‫ی‬‫ﻣﻮردﻧﻈﺮ‬‫ﮐﻪ‬ ‫دارد‬ ‫اﻧﺘﻈﺎر‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ﺣﺴـﺐ‬ ‫ﺑـﺮ‬
‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪارﻫﺎی‬)‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﯾﺎ‬(‫ﻓﻬﺮﺳﺖ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﺷﺪه‬BY‫ﺑﺎﺷﺪ‬ ‫ﺷﺪه‬ ‫ﻣﺮﺗﺐ‬.
‫ﻣﺜﺎل‬۱-۱۸
PROC MEANS DATA = mydat.score;
BY gender inc;
VAR midterm final;
RUN;
۴۸
‫ـﻪ‬‫ـ‬‫ﺑﺮﻧﺎﻣ‬‫ـﯿﻮه‬‫ـ‬‫ﺷ‬ ‫ـﺎﻻ‬‫ـ‬‫ﺑ‬ ‫ی‬‫ی‬MEANS‫ـﺮوه‬‫ـ‬‫ﮔ‬ ‫روی‬ ‫را‬‫ـﺐ‬‫ـ‬‫ﻣﺮﺗ‬ ‫از‬ ‫ـﺪه‬‫ـ‬‫آﻣ‬ ‫ـﻮد‬‫ـ‬‫وﺟ‬ ‫ـﻪ‬‫ـ‬‫ﺑ‬ ‫ـﺎی‬‫ـ‬‫ﻫ‬‫ـﺎزی‬‫ـ‬‫ﺳ‬‫ـﻪ‬‫ـ‬‫ﻣﺠﻤﻮﻋ‬‫داده‬ ‫ی‬‫ـﺎ‬‫ـ‬‫ﻫ‬‫ـﺐ‬‫ـ‬‫ﺣﺴ‬ ‫ـﺮ‬‫ـ‬‫ﺑ‬
‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﻣﻘﺪارﻫﺎی‬gender‫و‬inc‫ﺻﻮر‬ ‫ﺑﻪ‬‫ﻣﺘﻐﯿﺮ‬ ‫ﺑﺮای‬ ‫ﺗﻨﻬﺎ‬ ‫و‬ ‫ﻣﺠﺰا‬ ‫ت‬ final‫و‬ midterm‫ﻣﯽ‬ ‫اﺟﺮا‬‫ﮐﻨﺪ‬.
۱-۸-۳‫ﻋﺒﺎرت‬‫ﻣﺘﻐﯿﺮ‬ ‫وﯾﮋﮔﯽ‬ ‫ﻫﺎی‬
‫ﻋﺒﺎرت‬‫ﻫﺎی‬‫ﮐﺎرﺑﺮ‬ ‫ﺑﻪ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫وﯾﮋﮔﯽ‬SAS‫ﻣﯽ‬ ‫اﺟﺎزه‬‫ﺑﺮﭼﺴﺐ‬ ،‫اﯾﻨﻔﻮرﻣﺖ‬ ،‫ﻓﻮرﻣﺖ‬ ‫ﺗﺎ‬ ‫دﻫﺪ‬‫و‬‫ﯾـﮏ‬ ‫در‬ ‫را‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻃﻮل‬
‫ﮔﺎم‬PROC‫ﮐﻨﺪ‬ ‫ﻣﺸﺨﺺ‬.‫ﻣﺸﺨﺺ‬ ‫اﯾﻦ‬‫وﯾﮋﮔﯽ‬ ‫ﺳﺎزی‬‫ﮔـﺎم‬ ‫ﯾـﮏ‬ ‫اﺟـﺮای‬ ‫ﻫﻨﮕﺎم‬ ‫ﺑﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻫﺎی‬PROC‫ﮔـﺎم‬ ‫اﯾـﻦ‬ ‫در‬
‫ﻣﯽ‬ ‫اﻧﺠﺎم‬‫ﺷﻮد‬.‫ﻋﺒﺎرت‬ ‫اﯾﻦ‬‫ﻫﺎ‬‫ﻣﯽ‬ ‫ﻧﯿﺰ‬‫ﮔﺎم‬ ‫در‬ ‫ﺗﻮاﻧﺪ‬DATA‫ﻣﺸﺨﺺ‬ ‫ﺑﺮای‬‫وﯾﮋﮔﯽ‬ ‫ﺳﺎزی‬‫در‬ ،‫روﻧـﺪ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻫﺎی‬
‫ﻣﺸﺨﺼﻪ‬ ‫اﯾﻦ‬ ‫ﺻﻮرت‬ ‫اﯾﻦ‬‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫داﺋﻤ‬‫در‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﺑﺎ‬ ‫ﯽ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﮔـﺎم‬ ‫در‬ ‫ﺷـﺪه‬ ‫اﯾﺠﺎد‬ ‫ی‬DATA‫ﻣـﺮﺗﺒﻂ‬
‫ﻣﯽ‬‫ﺷﻮﻧﺪ‬.‫ﺣﺎﻟﺖ‬ ‫اﯾﻦ‬ ‫در‬‫وﯾﮋﮔﯽ‬ ‫اﯾﻦ‬‫ﺷـﯿﻮه‬ ‫در‬ ‫ﻫﺎ‬‫ﻫـﺎ‬‫ﺑﻌـﺪی‬ ‫ی‬SAS‫ﮔـﺎم‬ ‫ﯾـﮏ‬ ‫درون‬PROC‫ﺑـﻮد‬ ‫ﺧﻮاﻫﻨـﺪ‬ ‫دﺳـﺘﺮس‬ ‫در‬.
‫ﻋﺒﺎرت‬‫ﻫﺎی‬FORMAT‫و‬LABEL‫ﻋﺒﺎرت‬‫ﮔﺎم‬ ‫در‬ ‫ﮐﻪ‬ ‫ﻫﺴﺘﻨﺪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫وﯾﮋﮔﯽ‬ ‫ﻫﺎی‬PROC‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬‫روﻧﺪ‬.
‫ﻋﺒﺎرت‬FORMAT‫ﻣﯽ‬ ‫را‬‫ﺗﻮان‬‫ﮔﺎم‬ ‫در‬ ‫ﻫﻢ‬DATA‫ﮔﺎم‬ ‫در‬ ‫ﻫﻢ‬ ‫و‬PROC‫ﻣﺸﺨﺺ‬ ‫ﺑﺮای‬‫ﺳﺎزی‬‫ﻓﻮرﻣﺖ‬‫ﮐـﺎر‬ ‫ﺑـﻪ‬ ‫ﻫـﺎ‬‫ﺑـﺮد‬.
‫ﻓﻮرﻣﺖ‬‫ﻫﺎی‬SAS‫ﻣﻘﺪ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺮای‬‫داده‬ ‫ارﻫﺎی‬‫در‬ ‫ﺷﺪه‬ ‫ذﺧﯿﺮه‬ ‫ای‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫ﻣـﻮردﻧﻈﺮ‬ ‫ﮐـﻪ‬ ‫ﺻـﻮرﺗﯽ‬ ‫ﺑـﻪ‬
‫ﮐﺮدن‬ ‫ﭼﺎپ‬ ‫ﺑﺮای‬ ‫ﮐﺎرﺑﺮ‬‫اﺳﺖ‬‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬ ،‫روﻧﺪ‬.‫ﻓﻮرﻣﺖ‬‫ﺑﻪ‬ ‫اﻃﻼﻋﺎﺗﯽ‬ ‫ﻫﺎ‬SAS‫ﺗﻌـﺪا‬ ‫ﺧﺼـﻮص‬ ‫در‬‫د‬‫ﻧﻮﯾﺴـﻪ‬‫ﻣﻘـﺪار‬ ‫ﻫـﺎی‬
‫داده‬‫داده‬ ‫ﻣﻘﺪار‬ ‫ﺻﻮرت‬ ،‫ای‬‫ﺑﺎﯾﺪ‬ ‫ﮐﻪ‬ ‫ای‬،‫ﺷﻮد‬ ‫ﻇﺎﻫﺮ‬ ‫ﭼﺎپ‬ ‫در‬‫ﻧ‬‫داده‬ ‫ﻣﻘﺪار‬ ‫ﭼﺎپ‬ ‫در‬ ‫ﺑﺎﯾﺪ‬ ‫ﮐﻪ‬ ‫ﻤﺎدﻫﺎﯾﯽ‬‫ای‬‫ﺷـﻮﻧﺪ‬ ‫اﺳﺘﻔﺎده‬
‫ﻧﻘﻄﻪ‬ ‫ﻣﺜﻞ‬‫دﻻر‬ ‫ﻋﻼﻣﺖ‬ ،‫واوک‬ ،‫اﻋﺸﺎری‬ ‫ی‬)$(‫ﻣﯽ‬‫دﻫﻨﺪ‬.
‫ﻣﺜﺎل‬۱-۱۹
DATA rev;
INPUT region : $8. ostan $3. +1 month monyy5.
sper revenue expenses;
FORMAT month monyy5. Revenue dollar12.2;
LABEL region='Sale Region'
sper='Sale Personnel';
DATALINES;
SOUTHERN YAZ JAN98 10 10000 8000
SOUTHERN YAZ FEB98 10 11000 8500
SOUTHERN YAZ MAR98 9 13000 9500
SOUTHERN KER JAN98 5 8000 2000
SOUTHERN KER FEB98 7 6000 2000
NORTHERN AGH MAR98 3 1200 1700
NORTHERN ASH FEB98 4 2000 4000
NORTHERN GIL MAR98 5 5000 7000
۴۹
NORTHERN MAZ FEB98 7 4000 6000
CENTRAL QUM JAN98 13 2100 4000
CENTRAL QUM FEB98 14 2200 4500
CENTRAL ESF JAN98 10 10000 8000
CENTRAL ESF FEB98 9 11000 8200
CENTRAL ESF MAR98 10 12000 8900
CENTRAL MAR JAN98 4 6100 2000
CENTRAL MAR FEB98 4 6050 2100
;
RUN;
PROC SORT DATA=rev;
BY region ostan month;
RUN;
PROC PRINT;
RUN;
PROC PRINT DATA=rev LABEL;
BY region ostan;
FORMAT expenses dollar10.2;
LABEL ostan = Ostan month = Month
Revenue = 'Ostan Revenue'
Expenses = 'Overhead Expenses';
ID region expenses;
SUM revenue expenses;
SUMBY region;
TITLE 'Sales Reported by Ostan and Region';
RUN;
‫ﻣﺜﺎل‬‫ﺑﺎﻻ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ی‬SAS‫اﺳﺖ‬ ‫ی‬‫ﮐﻪ‬‫ﮔﺎم‬ ‫وﯾﮋﮔﯽ‬ ‫ﭼﻨﺪ‬‫ﻫﺎی‬DATA‫و‬PROC‫ﻣـﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬‫دﻫـﺪ‬.‫اﯾـﻦ‬ ‫در‬‫ﮔـﺎم‬ ‫دو‬ ‫ﺑﺮﻧﺎﻣـﻪ‬
PRINT‫ﯾﮏ‬ ‫ﭼﺎپ‬ ‫ﺑﺮای‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫دارﻧﺪ‬ ‫وﺟﻮد‬.‫ﮔﺎم‬PROC‫ﺳﺎده‬ ‫اول‬‫ﺷﯿﻮه‬ ‫ﮐﺮدن‬ ‫ﻓﻌﺎل‬ ‫ﺷﮑﻞ‬ ‫ﺗﺮﯾﻦ‬‫ی‬
PRINT‫ﮔﺎم‬ ‫ﮐﻪ‬ ‫ﺻﻮرﺗﯽ‬ ‫در‬ ،‫اﺳﺖ‬PROC‫ﺷﯿﻮه‬ ‫اﻃﻼﻋﺎﺗﯽ‬ ‫ﻋﺒﺎرت‬ ‫ﭼﻨﺪ‬ ‫ﺷﺎﻣﻞ‬ ‫دوم‬‫وﯾﮋ‬ ‫و‬ ‫ای‬‫ﮔ‬‫اﺳﺖ‬ ‫ﻣﺘﻐﯿﺮی‬ ‫ﯽ‬.
Obs region ostan month sper revenue expenses
1 CENTRAL ES JAN09 8 $10.00 10000
2 CENTRAL ES FEB09 8 $9.00 11000
3 CENTRAL ES MAR09 8 $10.00 12000
4 CENTRAL MA JAN09 8 $4.00 6100
۵۰
5 CENTRAL MA FEB09 8 $4.00 6050
6 CENTRAL QU JAN09 8 $13.00 2100
7 CENTRAL QU FEB09 8 $14.00 2200
8 NORTHERN AGH MAR98 3 $1,200.00 1700
9 NORTHERN ASH FEB98 4 $2,000.00 4000
10 NORTHERN GIL MAR98 5 $5,000.00 7000
11 NORTHERN MAZ FEB98 7 $4,000.00 6000
12 SOUTHERN KER JAN98 5 $8,000.00 2000
13 SOUTHERN KER FEB98 7 $6,000.00 2000
14 SOUTHERN YAZ JAN98 10 $10,000.00 8000
15 SOUTHERN YAZ FEB98 10 $11,000.00 8500
16 SOUTHERN YAZ MAR98 9 $13,000.00 9500
‫ﺷﮑﻞ‬۱-۹‫ﺧﺮوﺟﯽ‬‫ﮔﺎم‬PRINT‫ﻣﺜﺎل‬ ‫اول‬۱-۱۹
‫ﻋﺒﺎرت‬ ‫در‬INPUT‫اﺻـﻼح‬‫ﮔـﺮ‬":"‫ﻣﺘﻐﯿـﺮ‬ ‫ﻣﻘـﺪار‬ ‫ﺧﻮاﻧـﺪن‬ ‫ﺑـﺮای‬region‫و‬‫از‬‫ﺗـﺎرﯾﺦ‬ ‫اﯾﻨﻔﻮرﻣـﺖ‬monyy5.‫ﺑـﺮای‬
‫ﺧﻮ‬‫ـﺪه‬‫ـ‬‫ﺷ‬ ‫ـﺘﻔﺎده‬‫ـ‬‫اﺳ‬ ‫ـﺎرﯾﺦ‬‫ـ‬‫ﺗ‬ ‫ـﺪار‬‫ـ‬‫ﻣﻘ‬ ‫ـﺪن‬‫ـ‬‫اﻧ‬‫ـﺖ‬‫ـ‬‫اﺳ‬.‫ـﺎم‬‫ـ‬‫ﮔ‬ ‫در‬DATA‫ـﺖ‬‫ـ‬‫ﻓﻮرﻣ‬‫ـ‬‫ـ‬‫ﻫ‬‫ـﺎی‬‫ـ‬‫ﻣﺘﻐﯿﺮﻫ‬ ‫ـﺮای‬‫ـ‬‫ﺑ‬ ‫ﺎﯾﯽ‬month‫و‬revenue
‫ﺷﺪه‬ ‫ﻣﺸﺨﺺ‬‫اﻧﺪ‬.‫ﻓﻮرﻣﺖ‬ ‫اﯾﻦ‬‫ﮔﺎم‬ ‫در‬ ‫ﻫﺎ‬PRINT‫ا‬‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫اﯾﻦ‬ ‫ﻣﻘﺪارﻫﺎی‬ ‫ﭼﺎپ‬ ‫ﺑﺮای‬ ‫ول‬‫روﻧﺪ‬.‫ﺷـﮑﻞ‬۱-
۹‫ﺧﺮوﺟﯽ‬‫ﮔﺎم‬PRINT‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫اول‬‫دﻫﺪ‬.
‫ﻋﺒﺎرت‬BY region ostan month;‫ﮔﺎم‬ ‫در‬SORT‫ﻣﺸـﺎﻫﺪه‬ ‫ﺗﺎ‬ ‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺳﺒﺐ‬‫اﻓﺰاﯾﺸـﯽ‬ ‫ﺗﺮﺗﯿـﺐ‬ ‫ﺑـﻪ‬ ‫ﻫـﺎ‬
‫ﺣﺴ‬ ‫ﺑﺮ‬‫ﻣﻘﺪارﻫﺎی‬ ‫ﺐ‬month‫در‬‫ﮔﺮوه‬ ‫داﺧﻞ‬‫ﻫﺎ‬‫ﺷـﺪه‬ ‫اﯾﺠـﺎد‬ ‫ی‬‫ﯾﮑﺴـﺎن‬ ‫ﻣﻘـﺪارﻫﺎی‬ ‫ﺑـﺎ‬region‫و‬ostan‫در‬ ‫و‬ ‫ﻣﺮﺗـﺐ‬
‫آ‬‫ﻣﺸﺎﻫﺪه‬ ‫ﺧﺮ‬‫در‬ ‫ﻫﺎ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﻣﻘﺪارﻫﺎی‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬region‫ﺷﻮﻧﺪ‬ ‫ﻣﺮﺗﺐ‬ ‫اﻓﺰاﯾﺸﯽ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬.
‫ﺷﯿﻮه‬‫ی‬PRINT‫ﻣﺸﺎﻫﺪه‬ ‫از‬ ‫ﻓﻬﺮﺳﺘﯽ‬ ‫اول‬‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ﻣﻘـﺪار‬ ‫ﺑـﺎ‬ ‫ﮐـﻪ‬ ‫ﻫﺎ‬month،ostan‫و‬ ،region‫ﻣﺮﺗـ‬‫ﺷـﺪه‬ ‫ﺐ‬،‫اﻧـﺪ‬
‫ﻣﯽ‬ ‫ﭼﺎپ‬‫ﮐﻨﺪ‬.
‫ﮔﺎم‬ ‫در‬PRINT‫ﻋﺒﺎرت‬ ‫دوم‬BY region ostan ;‫ﻣﯽ‬ ‫ﺳﺒﺐ‬‫ﮔﺮوه‬ ‫از‬ ‫ﻓﻬﺮﺳﺘﯽ‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬‫ﻣﻘـﺪارﻫﺎی‬ ‫ﺑـﺎ‬ ‫ﮐـﻪ‬ ‫ﻫـﺎﯾﯽ‬
‫ﻣﺘﻐﯿﺮ‬ostan‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪارﻫﺎی‬ ‫داﺧﻞ‬region‫ﻣﯽ‬ ‫ﺗﻌﯿﯿﻦ‬‫ﻣﯽ‬ ‫ﭼﺎپ‬ ،‫ﺷﻮﻧﺪ‬‫ﺷـﻮد‬.‫ﺷـﮑﻞ‬۱-۱۰‫ﺧﺮوﺟـﯽ‬‫را‬ ‫ﮔـﺎم‬ ‫اﯾـﻦ‬
‫ﻣﯽ‬ ‫ﻧﺸﺎن‬‫دﻫﺪ‬.
Sales Reported by Ostan and Region
----------------------------------- Sale Region=CENTRAL Ostan=ES -----------------------
Sale Overhead Sale Ostan Overhead
Region Expenses Month Personnel Revenue Expenses
CENTRAL $10,000.00 JAN09 8 $10.00 $10,000.00
CENTRAL $11,000.00 FEB09 8 $9.00 $11,000.00
CENTRAL $12,000.00 MAR09 8 $10.00 $12,000.00
----------------------------------- Sale Region=CENTRAL Ostan=MA -----------------------
Sale Overhead Sale Ostan Overhead
Region Expenses Month Personnel Revenue Expenses
۵۱
CENTRAL $6,100.00 JAN09 8 $4.00 $6,100.00
CENTRAL $6,050.00 FEB09 8 $4.00 $6,050.00
----------------------------------- Sale Region=CENTRAL Ostan=QU -----------------------
Sale Overhead Sale Ostan Overhead
Region Expenses Month Personnel Revenue Expenses
CENTRAL $2,100.00 JAN09 8 $13.00 $2,100.00
CENTRAL $2,200.00 FEB09 8 $14.00 $2,200.00
------- ---------- ------------ ----------
region $64.00 $49,450.00
---------------------------------- Sale Region=NORTHERN Ostan=AGH ----------------------
Sale Overhead Sale Ostan Overhead
Region Expenses Month Personnel Revenue Expenses
NORTHERN $1,700.00 MAR98 3 $1,200.00 $1,700.00
---------------------------------- Sale Region=NORTHERN Ostan=ASH ----------------------
Sale Overhead Sale Ostan Overhead
Region Expenses Month Personnel Revenue Expenses
NORTHERN $4,000.00 FEB98 4 $2,000.00 $4,000.00
---------------------------------- Sale Region=NORTHERN Ostan=GIL ----------------------
Sale Overhead Sale Ostan Overhead
Region Expenses Month Personnel Revenue Expenses
NORTHERN $7,000.00 MAR98 5 $5,000.00 $7,000.00
Sales Reported by Ostan and Region
---------------------------------- Sale Region=NORTHERN Ostan=MAZ ----------------------
Sale Overhead Sale Ostan Overhead
Region Expenses Month Personnel Revenue Expenses
NORTHERN $6,000.00 FEB98 7 $4,000.00 $6,000.00
-------- ---------- ------------ ----------
region $12,200.00 $18,700.00
---------------------------------- Sale Region=SOUTHERN Ostan=KER ----------------------
Sale Overhead Sale Ostan Overhead
Region Expenses Month Personnel Revenue Expenses
SOUTHERN $2,000.00 JAN98 5 $8,000.00 $2,000.00
SOUTHERN $2,000.00 FEB98 7 $6,000.00 $2,000.00
۵۲
---------------------------------- Sale Region=SOUTHERN Ostan=YAZ ----------------------
Sale Overhead Sale Ostan Overhead
Region Expenses Month Personnel Revenue Expenses
SOUTHERN $8,000.00 JAN98 10 $10,000.00 $8,000.00
SOUTHERN $8,500.00 FEB98 10 $11,000.00 $8,500.00
SOUTHERN $9,500.00 MAR98 9 $13,000.00 $9,500.00
-------- ---------- ------------ ----------
region $48,000.00 $30,000.00
============ ==========
$60,264.00 $98,150.00
‫ﺷﮑﻞ‬۱-۱۰‫ﺧﺮوﺟﯽ‬‫ﮔﺎم‬PRINT‫ﻣﺜﺎل‬ ‫دوم‬۱-۱۹
‫در‬‫ﺷﯿﻮه‬‫ی‬PRINT‫ﻋﺒﺎرت‬ ‫دوم‬‫ﻫـﺎی‬SUM revenue expenses;‫و‬SUM region;‫ﻧﺤـﻮه‬‫و‬ ‫ﻣﺤﺎﺳـﺒﻪ‬ ‫ی‬
‫ﻋـﺪدی‬ ‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ﺑـﺮای‬ ‫را‬ ‫ﮐـﻞ‬ ‫ﻣﻘﺪار‬ ‫ﭼﺎپ‬revenue ‫و‬ expenses ‫در‬‫ﻣ‬‫ﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ﻣـﯽ‬ ‫ﻣﺸـﺨﺺ‬ ‫را‬‫ﮐﻨـﺪ‬.
‫ﺧﺮوﺟﯽ‬‫اﯾﻦ‬‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫ﮔﺎم‬‫ﮔﺮوﻫ‬ ‫ﻫﺮ‬ ‫ﺑﺮای‬ ‫ﮐﻪ‬ ‫دﻫﺪ‬‫ﻣﺸـﺎﺑﻪ‬ ‫ﻣﻘـﺪارﻫﺎی‬ ‫ﺗﻮﺳـﻂ‬ ‫ﮐﻪ‬ ‫ﯽ‬‫ﻣﺘﻐﯿـﺮ‬region‫ﻣـﯽ‬ ‫ﺗﻌﺮﯾـﻒ‬،‫ﺷـﻮد‬
‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﻣﻘﺪارﻫﺎی‬ ‫ﺑﺮای‬ ‫ﺟﻤﻊ‬revenue ‫و‬ expenses ‫ﭼﺎپ‬ ‫و‬ ‫ﻣﺤﺎﺳﺒﻪ‬‫اﺳﺖ‬ ‫ﺷﺪه‬.
‫ﺑﺮﭼﺴﺐ‬‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺮای‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬region‫و‬sper‫ﻋﺒـﺎرت‬ ‫در‬LABEL‫ﮔـ‬ ‫در‬‫ﺎم‬DATA‫ﺷـﺪه‬ ‫ﺗﻌﺮﯾـﻒ‬‫در‬ ‫اﻧـﺪ‬‫ﺧﺮوﺟـﯽ‬
‫اوﻟﯿﻦ‬PROC  PRINT‫ﻧﺸﺪه‬ ‫ﻇﺎﻫﺮ‬‫اﻧﺪ‬.‫اﻣﺮ‬ ‫اﯾﻦ‬‫در‬ ‫ﻣﺘﻐﯿﺮی‬ ‫وﯾﮋﮔﯽ‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫دﻟﯿﻞ‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺑﺮﺧـﯽ‬ ‫در‬
‫ﮔﺎم‬‫ﻫﺎی‬PROC‫ﻧﻤﯽ‬ ‫ﮔﺮﻓﺘﻪ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬‫ﮐﺎر‬ ‫ﺗﻮﺳﻂ‬ ‫اﯾﻨﮑﻪ‬ ‫ﻣﮕﺮ‬ ‫ﺷﻮﻧﺪ‬‫ﮔﺰﯾﻨﻪ‬ ‫ﺑﺎ‬ ‫و‬ ‫ﺑﺮ‬‫ﺷـﻮﻧﺪ‬ ‫درﺧﻮاﺳـﺖ‬ ‫ای‬.‫ﮔﺰﯾﻨـﻪ‬‫ی‬LABEL‫در‬
PROC PRINT‫از‬ ‫دوم‬SAS‫ﻣ‬‫ﯽ‬‫ﺑﺮﭼﺴﺐ‬ ‫ﮐﻪ‬ ‫ﺧﻮاﻫﺪ‬‫ﺗﻌﺮﯾﻒ‬ ‫ﻫﺎی‬‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺮای‬ ‫ﺷﺪه‬region‫و‬sper‫ﮐﻨﺪ‬ ‫ﭼﺎپ‬ ‫را‬.
‫ـﺎم‬‫ـ‬‫ﮔ‬ ‫در‬PRINT‫ـﺎرت‬‫ـ‬‫ﻋﺒ‬ ‫دوم‬FORMAT expenses dollar10.2;‫ـﯽ‬‫ـ‬‫ﻣ‬ ‫ـﺒﺐ‬‫ـ‬‫ﺳ‬‫ـﺮ‬‫ـ‬‫ﻣﺘﻐﯿ‬ ‫ـﺪار‬‫ـ‬‫ﻣﻘ‬ ‫ـﻪ‬‫ـ‬‫ﮐ‬ ‫ـﻮد‬‫ـ‬‫ﺷ‬
expenses‫ﻓ‬ ‫ﺑﺎ‬‫ﻮ‬‫رﻣﺖ‬dollar10.2‫در‬‫ﺧﺮوﺟﯽ‬‫ﭼﺎپ‬‫ﺷﻮد‬.‫ﻧﻤـﺎد‬ ‫ﺷﺪن‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﻣﻮﺟﺐ‬ ‫ﻓﻮرﻣﺖ‬ ‫اﯾﻦ‬$‫ﻣﻘـﺪار‬ ‫از‬ ‫ﻗﺒـﻞ‬
‫ﺷﺪن‬ ‫ﺟﺪا‬ ‫و‬ ‫ﻣﺘﻐﯿﺮ‬‫رﻗﻢ‬ ‫ﺳﻪ‬ ‫ﻫﺮ‬‫ﺳﻤﺖ‬ ‫از‬‫راﺳﺖ‬‫ﻣﯽ‬ ‫واوک‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬‫ﺷﻮد‬.
‫ﻋﺒﺎرت‬LABEL‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﻪ‬ ‫ﮔﺎم‬ ‫اﯾﻦ‬ ‫در‬ostan،month،revenue،‫و‬expenses‫ﺑﺮﭼﺴﺐ‬‫ﻣﺸﺨﺺ‬ ‫ﻫﺎی‬‫ﺷﺪه‬‫را‬
‫آن‬‫ﭼﻨﺎن‬‫در‬ ‫ﮐﻪ‬‫ﺧﺮوﺟﯽ‬۱-۱۰‫ﻣﯽ‬ ‫ﻣﻨﺘﺴﺐ‬ ،‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫داده‬ ‫ﻧﺸﺎن‬‫ﮐﻨﺪ‬.
‫ﻋﺒﺎرت‬ID region ostan;‫ﺳﺘﻮن‬ ‫ﺷﺪن‬ ‫ﭼﺎپ‬ ‫از‬obs‫ﻣ‬ ‫ﭼﺎپ‬ ‫ﺧﻮدﮐﺎر‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﮐﻪ‬‫ﯽ‬‫ﮐـﺮده‬ ‫ﺟﻠﻮﮔﯿﺮی‬ ‫ﺷﻮد‬
‫ﻣﻘﺪار‬ ‫و‬‫ﻣﺘﻐﯿﺮ‬‫ﻫﺎی‬region‫و‬ ،ostan‫ﻣﺸﺨﺺ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫را‬‫ﻣﺸﺎﻫﺪه‬ ‫ﺳﺎز‬‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫ﺑﺮد‬.
۵۳
۱-۸-۳‫ﻓﻮرﻣﺖ‬ ‫اﯾﺠﺎد‬‫ﺷﯿﻮه‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﺟﺪﯾﺪ‬ ‫ﻫﺎی‬‫ی‬FORMAT 
‫ﻓﻮرﻣﺖ‬ ‫اﯾﺠﺎد‬ ‫ﺑﺮای‬‫ﻣﯽ‬ ‫ﺧـﻮد‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻫﺎی‬‫ﺷـﯿﻮه‬ ‫از‬ ‫ﺗﻮاﻧﯿـﺪ‬‫ی‬FORMAT‫ﮐﻨﯿـﺪ‬ ‫اﺳـﺘﻔﺎده‬.‫ﺷـﯿﻮه‬ ‫اﯾـﻦ‬ ‫ﻋﻤـﻮﻣﯽ‬ ‫ﺷـﮑﻞ‬
‫ﺑﻪ‬‫ﺻﻮرت‬‫اﺳﺖ‬ ‫زﯾﺮ‬:
PROC FORMAT;
VALUE name range-1 = 'formatted-text-1'
range-2 = 'formatted-text-2'
.
.
.
range-n = 'formatted-text-2';
RUN;
‫داده‬ ‫ﺑﺮای‬ ‫ﻓﻮرﻣﺖ‬ ‫اﮔﺮ‬‫ﻧﻮﯾ‬ ‫ﻫﺎی‬‫ﺴﻪ‬‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬ ‫ای‬‫ﺑﺎ‬ ‫آن‬ ‫ﻧﺎم‬ ‫ﺑﺎﯾﺪ‬ ‫رود‬$‫ﺷﻮد‬ ‫آﻏﺎز‬.‫ﻫﺮ‬range‫ﻣـﻮرد‬ ‫ﻣﺘﻐﯿـﺮ‬ ‫از‬ ‫ﻣﻘـﺎدﯾﺮی‬
‫ﻣﯽ‬ ‫ﻣﻨﺘﺴﺐ‬ ‫آن‬ ‫ﺑﻪ‬ ‫ﮔﯿﻮﻣﻪ‬ ‫داﺧﻞ‬ ‫ﻣﺘﻦ‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫ﻧﻈﺮ‬‫ﺷﻮد‬.‫ﻧﻤﻮﻧﻪ‬‫از‬ ‫ﻫﺎﯾﯽ‬range‫ﻣﯽ‬ ‫زﯾﺮ‬ ‫در‬ ‫را‬ ‫ﻣﻌﺘﺒﺮ‬ ‫ﻫﺎی‬‫ﺑﯿﻨﯿﺪ‬:
'A' = 'Asia'
1, 3, 5, 7, 9 = 'Odd'
500000 - HIGH = 'Not Affordable'
13 -< 20 = 'Teenager'
0 <- HIGH = 'Positive Non Zero'
OTHER = 'Bad Data'
‫ﻣﺜﺎل‬:‫ﻓﻮرﻣﺖ‬ ‫زﯾﺮ‬ ‫دﺳﺘﻮرات‬‫آن‬ ‫و‬ ‫ﺳﺎﺧﺘﻪ‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺮای‬ ‫ﻫﺎﯾﯽ‬‫ﻣﯽ‬ ‫ﻗﺮار‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬ ‫را‬ ‫ﻫﺎ‬‫دﻫﺪ‬:
DATA cars;
INPUT Age Sex Income Color $;
CARDS;
19 1 14000 Y
45 1 65000 G
72 2 35000 B
31 1 44000 Y
58 2 83000 W
RUN;
PROC FORMAT;
VALUE gender 1 = 'Male'
2 = 'Female';
VALUE agegroup 13 -< 20 = 'Teen'
20 -< 65 = 'Adult'
65 - HIGH = 'Senior';
VALUE $col 'W' = 'Moon White'
'B' = 'Sky Blue'
۵۴
'Y' = 'Sunburst Yellow'
'G' = 'Rain Cloud Gray';
RUN;
PROC PRINT DATA = cars;
FORMAT Sex gender. Age agegroup. Color $col. Income DOLLAR8.;
RUN;
Obs Age Sex Income Color
1 Teen Male $14,000 Sunburst Yellow
2 Adult Male $65,000 Rain Cloud Gray
3 Senior Female $35,000 Sky Blue
4 Adult Male $44,000 Sunburst Yellow
5 Adult Female $83,000 Moon White
۱-۹‫ﻋﺒﺎرت‬‫ﻣﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺟﺎی‬ ‫ﻫﺮ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫آﯾﻨﺪ‬
‫ﻋﺒﺎرت‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫ی‬SAS‫ﻣﯽ‬‫ﮔﺎم‬ ‫در‬ ‫ﺑﺎﯾﺪ‬ ‫ﯾﺎ‬ ‫آﯾﻨﺪ‬DATA‫ﮔﺎم‬ ‫در‬ ‫ﯾﺎ‬ ‫و‬PROC‫ﺑﮕﯿﺮﻧﺪ‬ ‫ﻗﺮار‬.‫ﻋﺒﺎرت‬ ‫از‬ ‫ﺑﺮﺧﯽ‬‫ﻫﺎ‬
‫ﮔﺎم‬ ‫در‬ ‫ﺗﻨﻬﺎ‬DATA‫ﮔﺎم‬ ‫در‬ ‫ﺗﻨﻬﺎ‬ ‫ﺑﺮﺧﯽ‬ ‫و‬ ‫ﻣﻌﺘﺒﺮﻧﺪ‬PROC.
‫ﻋﺒﺎرت‬ ‫اﮔﺮ‬‫ﮔﺎم‬ ‫اﯾﻦ‬ ‫درﺧﺎرج‬ ‫ﻫﺎ‬‫ﺑ‬ ،‫ﺑﮕﯿﺮﻧﺪ‬ ‫ﻗﺮار‬ ‫ﻫﺎ‬‫ﻋﺒﺎرت‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫ﻣﺜﺎل‬ ‫ﺮای‬RUN;‫ﻧﻤﯽ‬ ‫اﺟﺮا‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ،‫ﺷﻮﻧﺪ‬ ‫ﻧﻮﺷﺘﻪ‬‫ﺷﻮد‬
‫و‬SAS‫ﭘﻨﺠﺮه‬ ‫در‬‫ی‬Log‫ﻣﯽ‬ ‫ﻣﺘﻮﻗـﻒ‬ ‫را‬ ‫ﭘـﺮدازش‬ ‫و‬ ‫ﮐـﺮده‬ ‫اﻋﻼم‬ ‫ﺧﻄﺎ‬ ‫ﻋﺒﺎرت‬ ‫اﯾﻦ‬ ‫در‬‫ﮐﻨـﺪ‬.‫در‬SAS‫ﻋﺒﺎرت‬ ‫ﺑﺮﺧـﯽ‬‫ﻫـﺎ‬
‫ﻫﺴﺘﻨﺪ‬ ‫ﺳﺮاﺳﺮی‬.‫ﻋﺒﺎرت‬ ‫اﯾﻦ‬‫ﻣﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫از‬ ‫ﻗﺴﻤﺖ‬ ‫ﻫﺮ‬ ‫در‬ ‫ﻫﺎ‬‫ﮔﯿﺮﻧﺪ‬ ‫ﻗﺮار‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬ ‫ﺗﻮاﻧﻨﺪ‬.‫ﻣﻬﻢ‬‫ﻋﺒﺎرت‬ ‫اﯾﻦ‬ ‫ﺗﺮﯾﻦ‬‫ﻫﺎ‬
‫ﻋﺒﺎرت‬‫از‬ ‫اﻧﺪ‬:TITLE،FOOTNOTE،OPTIPONS‫و‬ ،GOPTIONS.
۱-۹-۱‫ﻋﺒﺎرت‬TITLE
‫ﻋﺒﺎرت‬TITLE‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺑﻪ‬‫ﻣﯽ‬ ‫را‬ ‫اﻣﮑﺎن‬ ‫اﯾﻦ‬ ‫ﻧﻮﯾﺲ‬‫ﺑﻪ‬ ‫ﮐﻪ‬ ‫دﻫﺪ‬‫ﻋﻨﻮان‬ ‫ﯾﺎ‬ ‫و‬ ‫ﻋﻨﻮان‬ ‫ﺗﻮاﻧﺪ‬‫در‬ ‫را‬ ‫ﺧﻮد‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻫﺎی‬‫ﺧﺮوﺟﯽ‬
‫ﮐﻨﺪ‬ ‫ﺗﻌﯿﯿﻦ‬ ‫ﺑﺮﻧﺎﻣﻪ‬.‫ﺑﺮﻧﺎﻣﻪ‬‫ﻣﯽ‬ ‫ﻧﻮﯾﺲ‬‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ ‫ﺗﻮاﻧﺪ‬TITLEn ' '‫ﮐﻪ‬n‫از‬ ‫ﻋﺪد‬ ‫ﯾﮏ‬۱‫ﺗﺎ‬۱۰‫ﺣﺪاﮐﺜﺮ‬ ‫اﺳﺖ‬۱۰‫ﻋﻨـﻮان‬
‫ﺑ‬‫ﺮای‬‫ﺧﺮوﺟﯽ‬‫ﺑﻨﻮﯾﺴﺪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬.‫در‬ ‫ﻋﻨﻮان‬ ‫ﻣﺤﺘﻮای‬'  '‫ﻣﯽ‬ ‫ﻗﺮار‬‫ﮔﯿﺮد‬.‫اﮔﺮ‬n‫ﻋﺒﺎرت‬ ‫از‬TITLEn،‫ﺷﻮد‬ ‫ﺣﺬف‬SAS‫آن‬‫را‬
۱‫ﻣﯽ‬ ‫ﻓﺮض‬‫ﮐﻨﺪ‬.‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﮔﺮ‬‫ﻋﺒﺎرت‬ ‫از‬ ‫ﻧﻮﯾﺲ‬ TITLE‫ﺑﺮای‬ ‫را‬ ‫ﻋﻨﻮاﻧﯽ‬ ‫و‬ ‫ﮐﺮده‬ ‫اﺳﺘﻔﺎده‬‫ﺧﺮوﺟﯽ‬‫ﺑﻪ‬‫ﻋﻨـﻮان‬ ‫اﯾـﻦ‬ ،‫ﻧﻮﯾﺴﺪ‬
‫ﺻﻔﺤﻪ‬ ‫ﺗﻤﺎم‬ ‫در‬‫ﻫﺎی‬‫ﺧﺮوﺟﯽ‬‫آو‬‫ﻣﯽ‬ ‫رده‬‫ﺷـﻮد‬.‫ﺻـﻮرﺗﯽ‬ ‫در‬‫دﯾﮕـﺮی‬ ‫ﻋﻨـﻮان‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫از‬ ‫ﻗﺴـﻤﺘﯽ‬ ‫در‬ ‫ﺑﺎﺷـﺪ‬ ‫ﻣﺎﯾـﻞ‬ ‫ﮐـﺎرﺑﺮ‬ ‫ﮐﻪ‬
۵۵
‫ﻋﺒﺎرت‬ ‫از‬ ‫ﺑﺎﯾﺪ‬ ‫ﺷﻮد‬ ‫ﻧﻮﺷﺘﻪ‬TITLEn‫ﮐﻨـﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺟﺪﯾﺪی‬.‫ﺧﻮاﻫـﺪ‬ ‫ﺑـﻪ‬ ‫ﮐـﺎرﺑﺮ‬ ‫ﮐـﻪ‬ ‫ﺻـﻮرﺗﯽ‬ ‫در‬‫از‬ ‫ﻗﺴـﻤﺘﯽ‬ ‫در‬‫ﺧﺮوﺟـﯽ‬
‫ﻣﯽ‬ ‫ﺷﻮد‬ ‫ﺣﺬف‬ ‫ﻋﻨﻮان‬ ‫ﺑﺮﻧﺎﻣﻪ‬‫ﻋﺒﺎرت‬ ‫از‬ ‫ﺗﻮاﻧﺪ‬TITLEn ' ' ;‫ﮐﻨﺪ‬ ‫اﺳﺘﻔﺎده‬.
۱-۹-۲‫ﻋﺒﺎرت‬FOOTNOTE
‫اﯾﻦ‬‫ﮐﺎرﺑﺮ‬ ‫ﺑﻪ‬ ‫را‬ ‫ﭘﺎﻧﻮﯾﺴﯽ‬ ‫اﻣﮑﺎن‬ ‫ﻋﺒﺎرت‬SAS‫ﻣﯽ‬‫دﻫـﺪ‬.‫ﻋﺒـﺎرت‬ ‫اﯾـﻦ‬ ‫ﮐﻠـﯽ‬ ‫ﺷـﮑﻞ‬FOOTNOTEn ' ';‫اﺳـﺖ‬.‫اﯾـﻦ‬ ‫در‬
‫ﻋﺒﺎرت‬n‫ﭘﺎﻧﻮﯾﺲ‬ ‫ﺗﻌﺪاد‬‫ﻣﯽ‬ ‫و‬ ‫اﺳﺖ‬ ‫ﻫﺎ‬‫ﻣﻘﺪار‬ ‫ﺗﻮاﻧﺪ‬۱‫ﺗﺎ‬۱۰‫ﺑﮕﯿﺮد‬.‫در‬ ‫ﭘﺎﻧﻮﯾﺲ‬ ‫ﻣﺤﺘﻮای‬'  ' ‫ﻣﯽ‬ ‫ﻧﻮﺷﺘﻪ‬‫ﺷﻮد‬.
۱-۹-۳‫ﻋﺒﺎرت‬OPTIONS
‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬SAS‫ﺗﻨﻈﯿﻢ‬‫ﻣﺤ‬ ‫وارد‬ ‫ﮐﺎرﺑﺮ‬ ‫وﻗﺘﯽ‬ ‫ﮐﻪ‬ ‫دارد‬ ‫ﻫﺎﯾﯽ‬‫ﯿﻂ‬SAS‫ﻣﯽ‬‫ﺷﻮد‬‫آن‬‫ﻣﯽ‬ ‫ﻓﻌﺎل‬ ‫ﻫﺎ‬‫ﺷـﻮﻧﺪ‬.‫ﻣﺤـﯿﻂ‬ ‫ﻣﺜـﺎل‬ ‫ﺑـﺮای‬
SAS‫در‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺗﻨﻈﯿﻢ‬ ‫ﮔﻮﻧﻪ‬ ‫اﯾﻦ‬‫ﺧﺮوﺟﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺗﺎرﯾﺦ‬ ‫ﻫﺎ‬‫ا‬‫ﺻـﻔﺤﻪ‬ ‫ﻫﺮ‬ ‫در‬ ،‫ﺻﻔﺤﻪ‬ ‫ﻣﺴﻠﺴﻞ‬ ‫ﺷﻤﺎره‬ ،‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺟﺮای‬
۶۰‫ﺳﻄﺮ‬ ‫ﻫﺮ‬ ‫در‬ ‫و‬ ‫ﺳﻄﺮ‬۸۰‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫ﻗﺮار‬ ‫ﺳﺘﻮن‬.‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﮔﺮ‬‫ﺻﻔﺤﻪ‬ ‫ﮐﻨﺪ‬ ‫اﺟﺮا‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﭼﻨﺪ‬ ‫ﻧﻮﯾﺲ‬‫ﻫﺎی‬‫ﺧﺮوﺟـﯽ‬‫ﺑـﻪ‬
‫ﭘﯿﺎﭘﯽ‬ ‫ﺻﻮرت‬‫ﻣﯽ‬ ‫داده‬ ‫ﺷﻤﺎره‬‫ﺷﻮد‬.‫ﺷـﻤﺎره‬ ،‫ﺑﺮﻧﺎﻣـﻪ‬ ‫اﺟـﺮای‬ ‫ﻫـﺮ‬ ‫در‬ ‫دﯾﮕـﺮ‬ ‫ﻋﺒـﺎرت‬ ‫ﺑﻪ‬‫ﺻـﻔﺤﻪ‬ ‫ی‬‫ﺧﺮوﺟـﯽ‬‫از‬۱‫ﺷـﺮوع‬
‫ﻧﻤﯽ‬‫ﺷﻮد‬.‫ﻋﺒﺎرت‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﮐﺎرﺑﺮ‬OPTIONS‫ﻣﯽ‬‫ﺗﻨﻈﯿﻢ‬ ‫اﯾـﻦ‬ ‫ﻣﻮﻗـﺖ‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ ‫ﺗﻮاﻧﺪ‬‫دﻫـﺪ‬ ‫ﺗﻐﯿﯿـﺮ‬ ‫را‬ ‫ﻫـﺎ‬.‫ﻣـﻮﻗﺘﯽ‬
‫ﺗﻨﻈﯿﻢ‬ ‫ﺑﻮدن‬‫ﻣﺤـﯿﻂ‬ ‫از‬ ‫ﮐـﺎرﺑﺮ‬ ‫وﻗﺘـﯽ‬ ‫ﮐـﻪ‬ ‫اﺳﺖ‬ ‫ﻣﻌﻨﺎ‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬SAS‫ﻣﯽ‬ ‫ﺧـﺎرج‬‫ﺗﻨﻈـﯿﻢ‬ ،‫ﺷـﻮد‬‫ﺑـﺎز‬ ‫اوﻟﯿـﻪ‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ ‫ﻫـﺎ‬
‫ﻣﯽ‬‫ﮔﺮدﻧﺪ‬.‫ﻋﺒﺎرت‬ ‫ﮐﻠﯽ‬ ‫ﺷﮑﻞ‬OPTIONS‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬.
OPTIONS ‫ﮔﺰﯾﻨﻪ‬‫ﻫﺎ‬ ;
‫ﮔﺰﯾﻨﻪ‬ ،‫ﺑﺎﻻ‬ ‫ﻋﺒﺎرت‬ ‫در‬‫ﻣﺤﯿﻂ‬ ‫ﻫﺎ‬SAS‫ﻣﯽ‬ ‫ﺗﻨﻈﯿﻢ‬ ‫را‬‫ﮐﻨﻨﺪ‬.
‫ﻣﺜﺎل‬۱-۲۰
OPTIONS NODATE PAGENO=1 PS=65 LS=85;
‫ﺑﺎﻻ‬ ‫ﻋﺒﺎرت‬ ‫در‬‫ﮔﺰﯾﻨﻪ‬‫ی‬NODATE‫ﺑﻪ‬SAS‫ﻣﯽ‬‫اﺟـﺮای‬ ‫ﺗـﺎرﯾﺦ‬ ‫ﻧﯿﺴـﺖ‬ ‫ﻻزم‬ ‫ﮐـﻪ‬ ‫ﮔﻮﯾﺪ‬‫در‬ ‫ﺑﺮﻧﺎﻣـﻪ‬‫ﺧﺮوﺟـﯽ‬‫ﺷـﻮد‬ ‫ﭼـﺎپ‬.
‫ﮔﺰﯾﻨﻪ‬‫ی‬PAGENO=1‫از‬SAS‫ﻣﯽ‬‫ﮐﻪ‬ ‫ﺧﻮاﻫﺪ‬‫ﺧﺮوﺟﯽ‬‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻫـﺮ‬‫ﻣﯽ‬ ‫اﺟـﺮا‬ ‫ﮐـﻪ‬ ‫ای‬‫ﺷـﻤﺎره‬ ‫از‬ ،‫ﺷـﻮد‬‫ی‬۱‫ﺷـﻮد‬ ‫ﺷـﺮوع‬.
‫ﮔﺰﯾﻨﻪ‬‫ﻫﺎی‬PS=65‫و‬LS=85‫ﮐﻮﺗﻪ‬ ‫ﮐﻪ‬‫ﻧﻮﺷﺘﻪ‬‫ی‬PAGE SIZE=‫و‬LINE SIZE=‫از‬ ‫ﺗﺮﺗﯿﺐ‬ ‫ﺑﻪ‬ ‫ﻫﺴﺘﻨﺪ‬SAS‫ﻣﯽ‬‫ﮐـﻪ‬ ‫ﺧﻮاﻫﻨﺪ‬
‫ﺻﻔﺤﻪ‬ ‫ﻫﺮ‬‫ی‬‫ﺧﺮوﺟﯽ‬۶۵‫ﺳﻄﺮ‬ ‫ﻫﺮ‬ ‫و‬ ‫ﺳﻄﺮ‬‫ﺧﺮوﺟﯽ‬‫ﺷﺎﻣﻞ‬۸۵‫ﺑﺎﺷﺪ‬ ‫ﺳﺘﻮن‬.
۱-۹-۴‫ﻋﺒﺎرت‬GOPTIONS
۵۶
‫ﻫﻨﮕﺎﻣﯽ‬‫داده‬ ‫ﺗﺤﻠﯿﻞ‬ ‫ﻣﻨﻈﻮر‬ ‫ﺑﻪ‬ ‫ﮐﺎرﺑﺮ‬ ‫ﮐﻪ‬‫ﻣﯽ‬ ‫ﺗﻘﺎﺿﺎ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬ ‫را‬ ‫ﻧﻤﻮدارﻫﺎﯾﯽ‬ ،‫ﻫﺎ‬‫ﻣﯽ‬ ،‫ﮐﻨﺪ‬‫ﻋﺒـﺎرت‬ ‫اﯾـﻦ‬ ‫ﺑـﺎ‬ ‫ﺗﻮاﻧـﺪ‬‫ﭘﻨﺠـﺮه‬
‫ﻧﻤﻮداری‬SAS‫ﮐﻨﺪ‬ ‫ﺗﻨﻈﯿﻢ‬ ‫را‬.‫داد‬ ‫اﮐﺘﺸـﺎﻓﯽ‬ ‫ﺗﺤﻠﯿﻞ‬ ‫ﮐﻪ‬ ‫دوم‬ ‫ﻓﺼﻞ‬ ‫در‬ ‫ﻋﺒﺎرت‬ ‫اﯾﻦ‬‫ﻣﯽ‬ ‫ﺗﺸـﺮﯾﺢ‬ ‫ﻫـﺎ‬‫ﺧﻮاﻫـﺪ‬ ‫ﻣﻌﺮﻓـﯽ‬ ‫ﺷـﻮد‬
‫ﺷﺪ‬.
۱-۱۰‫ﻣﺪﯾﺮ‬‫ﯾﺖ‬‫ﺧﺮوﺟﯽ‬‫ﻫﺎ‬‫ی‬SAS
‫ﺧﺮوﺟﯽ‬‫ﻫﺎ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ی‬‫ﻫﺎی‬SAS‫ﻣﯽ‬ ‫را‬‫ﺗﻮان‬‫ﺣﻤﻞ‬ ‫ﻧﻈﺎم‬ ‫ﺑﺎ‬ ‫را‬‫ﺧﺮوﺟـﯽ‬(
۳
ODS)‫ﮐـﺮد‬ ‫ﮐﻨﺘـﺮل‬.‫ﻧﻈـ‬‫ﺎم‬‫ﺣﻤـﻞ‬‫ﺧﺮوﺟﯽ‬‫ﻫـﺎ‬‫ی‬
SAS‫ﻣﯽ‬ ‫ﮐﺎرﺑﺮ‬ ‫ﺑﻪ‬ ‫را‬ ‫اﻣﮑﺎن‬ ‫اﯾﻦ‬‫ﺗﺎ‬ ‫دﻫﺪ‬‫ﺧﺮوﺟﯽ‬‫ﻫﺎ‬‫ی‬SAS‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫ﮐﻨـﺪ‬ ‫ذﺧﯿـﺮه‬.‫اﯾـﻦ‬
‫ﻣﯽ‬ ‫اﺟﺎزه‬ ‫ﮐﺎرﺑﺮ‬ ‫ﺑﻪ‬ ‫ﻧﻈﺎم‬‫ﻧﺘﯿﺠﻪ‬ ‫ﺗﺎ‬ ‫دﻫﺪ‬‫ﭘﺮدازش‬ ‫ﻫﺎی‬‫داده‬‫ﺑﺎ‬ ‫ﻫﺎ‬‫ﮔﺎم‬PROC‫ﺣﺎﺻﻞ‬ ‫ﯾﺎ‬‫از‬‫ﮔﺎم‬DATA‫زﯾـﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬
‫ﮐﻨﺪ‬ ‫درﺧﻮاﺳﺖ‬.
۱-LISTING:‫ﺧﺮوﺟﯽ‬‫ﻣﻌﻤﻮﻟ‬ ‫ﻣﺘﻨﯽ‬‫ﯽ‬‫ﺑﺎ‬‫ﻗﻠﻢ‬monospace.
۲-٤
RTF:‫ﺧﺮوﺟﯽ‬‫ﻣﯽ‬ ‫را‬‫ﭘﺮدازش‬ ‫ﺑﺎ‬ ‫ﺗﻮان‬‫ﮔﺮ‬Word‫ﺧﻮاﻧﺪ‬. 
۳-PRINTER:‫ﭼﺎﭘﮕﺮی‬ ‫ﻓﺎﯾﻞ‬. 
۴-٥
HTML:‫ﺻﻔﺤﻪ‬ ‫و‬ ‫ﻣﺤﺘﻮا‬‫ﻫﺎی‬‫ﺧﺮوﺟﯽ‬‫در‬‫ون‬‫ﻣﯽ‬ ‫ﻗﺮار‬ ‫ﺟﺪول‬ ‫و‬ ‫ﻗﺎﻟﺐ‬‫ﮔﯿﺮد‬. 
۵-٦
PDF:‫ﺧﺮ‬‫وﺟﯽ‬‫ﻓﻮرﻣﺖ‬ ‫ﺑﻪ‬pdf‫ﻣﯽ‬ ‫ﺗﺒﺪﯾﻞ‬‫ﺷﻮد‬. 
۶-OUTPUT:‫ﺧﺮوﺟﯽ‬‫داده‬ ‫ﻓﺎﯾﻞ‬ ‫ﯾﮏ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ای‬‫اراﺋﻪ‬‫ﻣﯽ‬‫ﺷﻮد‬. 
۱-۱۰-۱LISTING
‫ﭘﯿﺶ‬‫ﻓﺮض‬SAS‫ﻣﻘﺼﺪ‬ ‫ﺑﻮدن‬ ‫ﺑﺎز‬LISTING‫اﺳﺖ‬ ‫ﻣﻘﺼﺪﻫﺎ‬ ‫ﺳﺎﯾﺮ‬ ‫ﺑﻮدن‬ ‫ﺑﺴﺘﻪ‬ ‫و‬.‫ﻧﺘﯿﺠـﻪ‬ ،‫ﺣﺎﻟـﺖ‬ ‫اﯾﻦ‬ ‫در‬‫ﭘـﺮدازش‬ ‫ﻫـﺎی‬
‫داده‬‫ﻣﯽ‬ ‫ﻋﺮﺿﻪ‬ ‫ﻣﻌﻤﻮﻟﯽ‬ ‫ﻣﺘﻨﯽ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫ﺷﻮﻧﺪ‬.‫ﻋﺒ‬ ‫اﺟﺮای‬ ‫ﺑﺎ‬ ‫ﻣﻘﺼﺪ‬ ‫اﯾﻦ‬‫ﻣﯽ‬ ‫ﺑﺴﺘﻪ‬ ‫زﯾﺮ‬ ‫ﺎرت‬‫ﺷﻮد‬.
ODS LISTING CLOSE;
‫ﻣﻘ‬ ‫اﯾـﻦ‬‫ﻋﺒـﺎرت‬ ‫اﺟـﺮای‬ ‫ﺑـﺎ‬ ‫ﺼـﺪ‬ODS LISTING;‫ﻣـﯽ‬ ‫ﺑـﺎز‬ ‫دوﺑـﺎره‬‫ﺷـﻮد‬.،‫وﯾﻨـﺪوز‬ ‫ﻣﺤـﯿﻂ‬ ‫در‬‫ﻣﻘﺼـﺪ‬ ‫ﻣﺤﺘـﻮای‬
LISTING‫ﻣﯽ‬ ‫را‬‫ﮔﺰﯾﻨﻪ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﺗﻮان‬‫ﻫﺎی‬ile"F"‫و‬"ve As …aS"‫ﮐﺮد‬ ‫ذﺧﯿﺮه‬.
                                                            
3
Output Delivery System
4
Rich Text Format 
5
Hyper Text Markup Language 
6
Portable Document Format 
۵۷
۱-۱۰-۲RTF
‫ذﺧﯿﺮه‬ ‫ﻓﺎﯾﻞ‬‫ﺑﺨﺶ‬ ‫زﯾﺮ‬ ‫در‬ ‫ﺷﺪه‬۱-۱۳-۱‫ﻣﯽ‬ ‫را‬‫ﺑ‬ ‫ﺗﻮان‬‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺎ‬"ypetSave as "‫ﺻـﻮرت‬ ‫ﺑـﻪ‬RTF‫ﮐـﺮد‬ ‫ذﺧﯿـﺮه‬.
‫ﻓ‬ ‫اﯾﻦ‬‫ﻮ‬‫ﻣﯽ‬ ‫را‬ ‫رﻣﺖ‬‫ﭘﺮدازش‬ ‫در‬ ‫ﺗﻮان‬‫ﮔﺮ‬Word‫ﮐـﺮد‬ ‫وﯾـﺮاﯾﺶ‬.‫ﻓﺎﯾـﻞ‬RTF‫ﻧﺘﯿﺠـﻪ‬ ‫ﻧﮕﻬﺪاﺷـﺘﻦ‬ ‫ﺑـﺮای‬ ‫را‬،‫ﭘـﺮدازش‬ ‫ﻫـﺎی‬
‫ﻣﯽ‬‫ﻋﺒﺎرت‬ ‫اﺟﺮای‬ ‫ﺑﺎ‬ ‫ﺗﻮان‬
ODS RTF FILE= ' ‫ﻓﺎﯾﻞ‬ ‫.ﻧﺎم‬rtf';
‫ﻋﺒﺎرت‬ ‫اﺟﺮای‬ ‫ﺑﺎ‬ ‫و‬ ‫ﮐﺮد‬ ‫ﻓﻌﺎل‬ODS RTF CLOSE;‫آن‬‫ﺑﺴﺖ‬ ‫را‬.
۱-۱۰-۳PRINTER
‫ﻋﺒﺎرت‬ ‫اﺟﺮای‬;.٧
ps'‫ﻓﺎﯾـﻞ‬ ‫ﻧـﺎم‬'ODS PRINTER FILE= ‫ﻧﮕﻬﺪاﺷـﺘﻦ‬ ‫ﺑـﺮای‬ ‫ﭼـﺎﭘﮕﺮی‬ ‫ﻓﺎﯾـﻞ‬ ‫اﯾﺠـﺎد‬ ‫ﺳـﺒﺐ‬
‫ﻧﺘﯿﺠﻪ‬‫ﻣﯽ‬ ‫ﭘﺮدازش‬ ‫ﻫﺎی‬‫ﺷﻮد‬.‫ﮔﺰﯾﻨﻪ‬‫ی‬ps‫ﻧﺘﯿﺠﻪ‬ ‫ارﺳﺎل‬ ‫ﻣﻮﺟﺐ‬‫ﺑﺎ‬ ‫ﭘﺮدازش‬ ‫ی‬‫ﻓﻮرﻣﺖ‬‫ﭘ‬‫ﺴـ‬‫ﺖ‬‫ﺑـ‬ ‫اﺳـﮑﺮﯾﭙﺖ‬‫ﻪ‬‫ﻓﺎﯾـﻞ‬.ps'
‫ﻓﺎﯾﻞ‬ ‫ﻧﺎم‬'‫ﻣﯽ‬‫ﺷﻮد‬.‫ﻋﺒﺎرت‬ ‫اﺟﺮای‬ODS PRINTER CLOSE;‫ﻣﯽ‬ ‫را‬ ‫ﻣﻘﺼﺪ‬ ‫اﯾﻦ‬‫ﺑﻨﺪد‬.
۱-۱۰-۴HTML
‫ﻋﺒـﺎرت‬ ‫اﺟـﺮای‬ODS HTML BODY='bodyfile.htm'‫اﺟـﺮای‬ ‫و‬ ‫ﺑـﺎز‬ ‫را‬ ‫ﻣﻘﺼـﺪ‬ ‫اﯾـﻦ‬ODS HTML
CLOSE;‫را‬ ‫آن‬‫ﻣﯽ‬ ‫ﻣﺴﺪود‬‫ﮐﻨﺪ‬.‫ﻣﻘ‬ ‫اﯾﻦ‬ ‫ﺑﻮدن‬ ‫ﺑﺎز‬ ‫ﺻﻮرت‬ ‫در‬‫ﻧﺘﯿﺠﻪ‬ ،‫ﺼﺪ‬‫ﭘﺮدازش‬ ‫ﻫﺎی‬‫ﻫﺎ‬‫ﻓﺎﯾﻞ‬ ‫در‬.htm'‫ﻓﺎﯾﻞ‬ ‫ﻧﺎم‬'
‫ﻣﯽ‬ ‫ذﺧﯿﺮه‬‫ﺷﻮﻧﺪ‬.
۱-۱۰-۵PDF
‫ﻣﯽ‬ ‫ﮐﻪ‬ ‫دﯾﮕﺮی‬ ‫ﻓﺎﯾﻞ‬ ‫ﻧﻮع‬‫ﻧﺘﯿﺠﻪ‬ ‫ﺗﻮان‬‫ﭘﺮ‬ ‫ﻫﺎی‬‫دازش‬‫ﻫﺎی‬SAS‫ﻓﺎﯾﻞ‬ ،‫ﻧﮕﻬﺪاﺷﺖ‬ ‫آن‬ ‫در‬ ‫را‬PDF‫اﺳﺖ‬.‫ﻋﺒـﺎرت‬ ‫اﺟـﺮای‬
.pdf';‫ﻓﺎﯾﻞ‬ ‫ﻧﺎم‬'ODS PDF FILE= ‫را‬ ‫آن‬‫ﻧﺘﯿﺠﻪ‬ ‫ﺗﻤﺎم‬ ‫و‬ ‫ﮐﺮده‬ ‫ﺑﺎز‬‫ﻫﺎ‬‫ﭘﺮدازش‬ ‫ی‬‫ﻫﺎ‬‫ﮐﻪ‬ ‫وﻗﺘﯽ‬ ‫ﺗﺎ‬‫ﻣﺴﯿﺮ‬ ‫اﯾﻦ‬‫ﺑﺎ‬
‫ﻋﺒﺎرت‬ODS PDF CLOSE;‫ﻣﯽ‬ ‫ﻧﮕﻬﺪاﺷﺘﻪ‬ ‫آن‬ ‫در‬ ‫اﺳﺖ‬ ‫ﻧﺸﺪه‬ ‫ﺑﺴﺘﻪ‬‫ﺷﻮد‬.
۱-۱۰-۶OUTPUT
‫ﻋﺒ‬ ‫در‬ ‫ﮔﺰﯾﻨﻪ‬ ‫اﯾﻦ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬‫ﺎرت‬ODS‫ﻣﯽ‬‫ﻧﺎم‬ ‫ﺗﻮان‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫ﺷـﺪه‬ ‫اﯾﺠـﺎد‬ ‫ﮐـﻪ‬ ‫ی‬‫داد‬ ‫ﺗﻐﯿﯿـﺮ‬ ‫را‬ ‫اﻧـﺪ‬.
‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﮐﺎر‬ ‫اﯾﻦ‬ ‫ﺑﺮای‬ ‫دﺳﺘﻮری‬ ‫ﺷﮑﻞ‬:
ODS OUTPUT ‫ﻓﻌﻠﯽ‬ ‫ﻧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬=‫ﺟﺪﯾﺪ‬ ‫ﻧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬ ;
                                                            
7
Post‐Script 
۵۸
‫ﻋﻤ‬ ،‫ﺷﻮد‬ ‫اﺟﺮا‬ ‫ﻋﺒﺎرت‬ ‫اﯾﻦ‬ ‫ﮐﻪ‬ ‫زﻣﺎﻧﯽ‬‫ﻣﯽ‬ ‫ﮐﺎﻣﻞ‬ ‫ﻞ‬‫ﻧﯿﺎز‬ ‫و‬ ‫ﺷﻮد‬‫ﺑﺴﺘﻦ‬ ‫ﺑﺮای‬ ‫ﻋﺒﺎرﺗﯽ‬ ‫ﺑﻪ‬‫ﻣﺴ‬‫ﯿﺮ‬‫ﻧﺪارد‬ ‫وﺟﻮد‬.
۱-۱۱‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺗﺒﺪﯾﻞ‬‫ی‬‫داده‬‫داده‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫ﻫﺎی‬SAS
‫داده‬ ‫ﺗﺤﻠﯿﻞ‬ ‫ﺑﺮای‬‫ﺷﯿﻮه‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬‫ﻫﺎ‬‫ی‬SAS‫داده‬ ‫ﺑﺎﯾﺪ‬ ‫اﺑﺘﺪا‬ ،‫ﻫﺎ‬‫در‬‫ﻫﺮ‬‫ﻗﺎﻟﺒﯽ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬ ‫ﻫﺴﺘﻨﺪ‬ ‫ﮐﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎی‬SAS‫ﺗﺒـﺪﯾﻞ‬
‫ﺷﻮﻧﺪ‬.،‫ﻋﻼوه‬ ‫ﺑﻪ‬‫ﻻزم‬ ‫ﮔﺎﻫﯽ‬‫اﺳـﺖ‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﮐـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎی‬SAS‫ﺑـﻪ‬‫ﻗـﺎﻟﺒﯽ‬‫ﺗﺒـﺪﯾﻞ‬‫ﺳـﺎﯾﺮ‬ ‫ﮐـﻪ‬ ‫ﺷـﻮد‬‫ﻧﺮم‬‫ﻣﺜـﻞ‬ ‫اﻓﺰارﻫـﺎ‬
EXCEL،ACCESS،SPSS‫و‬ ،STATA‫ﺑﺘﻮاﻧﻨﺪ‬‫را‬ ‫آن‬‫ﭘ‬‫ﮐﻨﻨﺪ‬ ‫ﺮدازش‬.‫ﺷﯿﻮه‬‫ﻫﺎی‬IMPORT‫و‬EXPORT‫ﺗﺮﺗ‬ ‫ﺑﻪ‬‫ﯿ‬‫ﺑﺮای‬ ‫ﺐ‬
‫داده‬ ‫ﺗﺒﺪﯾﻞ‬‫ﻫﺎ‬‫ی‬‫ﺳﺎﯾﺮ‬ ‫ﺑﺎ‬‫ﻗﺎﻟﺐ‬‫ﻫﺎ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫و‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫ﺳﺎﯾﺮ‬ ‫ﺑﻪ‬‫ﻗﺎﻟﺐ‬‫ﻫـﺎ‬‫ﺑـﻪ‬
‫ﮐﺎر‬‫ﻣﯽ‬‫روﻧﺪ‬.
۱-۱۱-۱‫ﺷﯿﻮه‬‫ی‬IMPORT
‫ﺷ‬ ‫اﯾﻦ‬‫ﻣﯽ‬ ‫ﯿﻮه‬‫ﻓﺎﯾﻞ‬ ‫ﺗﻮاﻧﺪ‬‫داده‬ ‫ﻫﺎی‬‫ﺳﺎﺧ‬ ‫ﺑﺎ‬ ‫را‬ ‫ای‬‫ﺘ‬‫ﺑ‬ ‫وﯾﮋه‬ ‫ﺎرﻫﺎی‬‫ﺨﻮاﻧﺪ‬.‫ﻓﺎﯾﻞ‬ ‫اﯾﻦ‬‫ﻣﯽ‬ ‫ﻫﺎ‬‫در‬ ‫ﮐـﻪ‬ ‫ﺑﺎﺷـﻨﺪ‬ ‫ﻣﺘﻨـﯽ‬ ‫ﻓﺎﯾﻞ‬ ‫ﺗﻮاﻧﻨﺪ‬
‫ﺟﺪاﮔﺮی‬ ‫ﺑﺎ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻣﻘﺪار‬ ‫آن‬)‫واوک‬ ‫ﻣﺜﻞ‬(‫ﺑﺎﺷﻨﺪ‬ ‫ﺷﺪه‬ ‫ﺟﺪا‬ ‫ﻫﻢ‬ ‫از‬‫داده‬ ‫ﻓﺎﯾـﻞ‬ ‫ﯾـﺎ‬‫ﻧﺮم‬ ‫ﺑـﺎ‬ ‫ﮐـﻪ‬ ‫ﺑﺎﺷـﻨﺪ‬ ‫ای‬‫دﯾﮕـﺮی‬ ‫اﻓـﺰار‬
‫ﻣﺜﻞ‬EXCEL‫ﺑﺎﺷﻨﺪ‬ ‫ﺷﺪه‬ ‫ﺗﻮﻟﯿﺪ‬.‫ﻣﻘـ‬ ‫ﮐﻪ‬ ‫ﻣﺘﻨﯽ‬ ‫ﻓﺎﯾﻞ‬ ‫از‬ ‫ﻣﺜﺎﻟﯽ‬‫ﺟـﺪاﮔﺮ‬ ‫ﺑـﺎ‬ ‫ﻣﺘﻐﯿﺮﻫـﺎ‬ ‫ﺪار‬‫ﺷـﺪه‬ ‫ﺟـﺪا‬ ‫ﯾﮑـﺪﯾﮕﺮ‬ ‫از‬ ‫واوک‬،‫اﻧﺪ‬
‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﻫﺎی‬.‫اﺳﺖ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻧﺎم‬ ‫ﺷﺎﻣﻞ‬ ‫اول‬ ‫ﺳﻄﺮ‬.
‫ﻣﺜﺎل‬۱-۲۱‫ﻣﺠﻤﻮﻋﻪ‬ ‫از‬ ‫ﻣﺜﺎﻟﯽ‬‫داده‬ ‫ی‬‫ﺑﺎ‬ ‫ﻫﺎ‬‫ﻗﺎﻟﺐ‬‫ﻣﯽ‬ ‫دﯾﺪه‬ ‫زﯾﺮ‬ ‫در‬ ‫واوک‬ ‫ﺟﺪاﮔﺮ‬‫ﺷﻮد‬.
id,age,gender,height,weight
01,21,F,175,63
02,20,F,170,55
03,22,M,172,62
04,24,F,180,70
05,27,M,177,71
06,19,M,167,66
07,23,F,160,53
08,18,M,181,77
09,25,F,175,70
10,20,M,171,69
‫داده‬ ‫اﯾﻦ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺮای‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫ﺷﯿﻮه‬ ‫از‬‫ی‬IMPORT‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬ ‫زﯾﺮ‬‫ﺷﻮد‬.
PROC IMPORT DATAFILE='‫ﺷﻮد‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺎﯾﺪ‬ ‫ﮐﻪ‬ ‫ﻓﺎﯾﻠﯽ‬ ‫آدرس‬'
OUT= ‫داده‬ ‫ﻧﺎم‬‫ﺗﺒﺪﯾﻞ‬ ‫ﻫﺎی‬‫ﺷﺪه‬ DBMS= ‫ﻗﺎﻟﺐ‬‫ﺷﻮد‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺎﯾﺪ‬ ‫ﮐﻪ‬ ‫ﻓﺎﯾﻠﯽ‬ REPLACE;
" ‫ﮔﺰﯾﻨﻪ‬‫ﺑﺮای‬ ‫ﻣﻨﺎﺳﺐ‬ ‫ی‬‫ﻗﺎﻟﺐ‬‫ﺷﻮد‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺎﯾﺪ‬ ‫ﮐﻪ‬ ‫ﻓﺎﯾﻠﯽ‬ "
GETNAMES=YES;
۵۹
RUN;
‫ﻋﺒﺎرت‬ ‫در‬‫ﺑﺎﻻ‬ ‫ﻫﺎی‬
‫ﻗﺎﻟــﺐ‬‫در‬ ‫ﺷــﻮد‬ ‫ﺗﺒــﺪﯾﻞ‬ ‫ﺑﺎﯾــﺪ‬ ‫ﮐــﻪ‬ ‫ﻓــﺎﯾﻠﯽ‬DBMS‫ﻣﯽ‬ ،‫ﺗﻮاﻧــﺪ‬  DLM)‫ﺟــﺪاﮔﺮ‬(،EXCEL)XLS(،ACCESS
)‫ﻓﺎﯾﻞ‬‫ﻫﺎی‬MS ACCESS(،DTA)‫ﻓﺎﯾﻞ‬‫ﻫﺎی‬STATA(،SAV)‫ﻓﺎﯾﻞ‬‫ﻫﺎی‬SPSS(‫ﯾﺎ‬‫ﻗﺎﻟﺒﯽ‬‫ﺑﺎﺷﺪ‬ ‫دﯾﮕﺮ‬. 
‫ﮔﺰﯾﻨﻪ‬‫ی‬REPLACE‫از‬SAS‫ﻣﯽ‬‫داده‬ ‫ﻓﺎﯾﻞ‬ ‫اﮔﺮ‬ ‫ﺧﻮاﻫﺪ‬‫در‬ ‫ﮐﻪ‬ ‫ﻧﺎﻣﯽ‬ ‫ﺑﺎ‬ ‫ای‬OUT=‫وﺟـﻮد‬ ‫اﺳـﺖ‬ ‫ﺷـﺪه‬ ‫ﻣﺸﺨﺺ‬
‫ﻣﯽ‬ ‫اﯾﺠﺎد‬ ‫ﮐﻪ‬ ‫ﻓﺎﯾﻠﯽ‬ ‫ﺑﺎ‬ ،‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬‫ﺷﻮد‬ ‫ﺟﺎﯾﮕﺰﯾﻦ‬ ‫ﺷﻮد‬. 
‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻧﺎم‬‫داده‬ ‫ی‬‫ﺗﺒﺪﯾﻞ‬ ‫ﻫﺎی‬‫در‬ ‫ﺷﺪه‬OUT=‫ﻧﺎﻣﯽ‬ ،‫اﺳﺖ‬ ‫ﺑﺨﺸﯽ‬ ‫دو‬.‫و‬ ‫ﮐﺘﺎﺑﺨﺎﻧـﻪ‬ ‫ﻧـﺎم‬ ‫ﺷـﺎﻣﻞ‬ ‫اول‬ ‫ﺑﺨـﺶ‬
‫ﻣﺠﻤﻮﻋ‬ ‫ﻧﺎم‬ ‫ﺷﺎﻣﻞ‬ ‫دوم‬ ‫ﺑﺨﺶ‬‫ﻪ‬‫داده‬ ‫ی‬‫اﺳﺖ‬ ‫ﻫﺎ‬.‫ﻣﺠﻤﻮﻋـﻪ‬ ،‫ﺷـﻮد‬ ‫ﺣﺬف‬ ‫اول‬ ‫ﺑﺨﺶ‬ ‫ﻧﺎم‬ ‫اﮔﺮ‬‫داده‬ ‫ی‬‫ﻫـﺎی‬SAS
‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬ ‫در‬‫ی‬WORK‫ﻣﯽ‬ ‫اﯾﺠﺎد‬‫ﺷﻮد‬. 
»‫ﺑﺮای‬ ‫ﻣﻨﺎﺳﺐ‬ ‫ﻋﺒﺎرت‬‫ﻗﺎﻟﺐ‬‫ﺷـﻮد‬ ‫ﺗﺒـﺪﯾﻞ‬ ‫ﺑﺎﯾـﺪ‬ ‫ﮐﻪ‬ ‫ﻓﺎﯾﻠﯽ‬«‫ﻣﯽ‬‫ﺗﻮاﻧـﺪ‬DELIMITER‫اﮔـﺮ‬ ‫ﺑﺎﺷـﺪ‬‫ﻗﺎﻟـﺐ‬‫ﻓﺎﯾـﻞ‬
‫ﺟﺪاﮔﺮﺑﺎﺷﺪ‬،‫ﯾﺎ‬; ‫ﻧﺎم‬SHEET= ‫اﮔﺮ‬ ‫ﺑﺎﺷﺪ‬‫ﻗﺎﻟﺐ‬‫ﻓﺎﯾﻞ‬EXCEL ‫ﺑﺎﺷﺪ‬. 
‫ﻋﺒﺎرت‬GETNAMES=YES;‫از‬SAS‫ﻣﯽ‬‫ﮐﻨـﺪ‬ ‫درﯾﺎﻓـﺖ‬ ‫اول‬ ‫ﺳـﻄﺮ‬ ‫از‬ ‫را‬ ‫ﻣﺘﻐﯿﺮﻫـﺎ‬ ‫ﻧـﺎم‬ ‫ﮐﻪ‬ ‫ﺧﻮاﻫﺪ‬.‫اﯾـﻦ‬ ‫اﮔـﺮ‬
،‫ﺷﻮد‬ ‫ﺣﺬف‬ ‫ﻋﺒﺎرت‬SAS‫ﻧﺎم‬ ‫ﺗﺮﺗﯿﺐ‬ ‫ﺑﻪ‬‫ﻫﺎی‬var1،var2‫و‬ ،...‫ﻣﯽ‬ ‫ﻣﻨﺘﺴﺐ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﺑﻪ‬ ‫را‬‫ﮐﻨﺪ‬. 
‫ﻣﺜﺎل‬۱-۲۲‫ﺑﺮﻧﺎﻣﻪ‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫زﯾـﺮ‬ ‫ی‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬‫ﻓﻮرﻣـ‬ ‫ﺑـﺎ‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﺑـﻪ‬ ‫ﺗﺒـﺪﯾﻞ‬ ‫را‬ ‫واوک‬ ‫ﺟـﺪاﮔﺮ‬ ‫ﺖ‬‫داده‬ ‫ی‬‫ﻫـﺎی‬SAS
‫ﻣﯽ‬‫ﮐﻨﺪ‬. 
PROC IMPORT DATAFILE='C:mydatafitness.dat'
OUT=mydat.fitness DBMS=DLM REPLACE;
DELIMITER=',';
GETNAMES=YES;
RUN;
‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﯾﻦ‬ ‫اﺟﺮای‬،‫ﻣﺠﻤﻮﻋﻪ‬‫ی‬‫داده‬‫ﻫﺎی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬fitness‫ﮐﺘﺎ‬ ‫در‬ ‫را‬‫ﺑﺨﺎﻧﻪ‬‫ی‬mydat‫ﻣﯽ‬ ‫ذﺧﯿﺮه‬‫ﮐﻨﺪ‬.
‫ﻣﺜﺎل‬۱-۲۳‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﮐﻨﯿﺪ‬ ‫ﻓﺮض‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫ﻣﺜﺎل‬۱-۲۲‫در‬‫ﻗﺎﻟﺐ‬EXCEL2003‫ﺑﺎﺷـﺪ‬ ‫ﺷـﺪه‬ ‫ذﺧﯿﺮه‬.‫ﺑﺮﻧﺎﻣـﻪ‬‫زﯾـﺮ‬ ‫ی‬
‫ﻓﺎﯾﻞ‬ ‫اﯾﻦ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬ ،‫ﺧﻮاﻧﺪه‬ ‫را‬‫داده‬ ‫ی‬‫ﻫـﺎی‬SAS‫ﮐﺘﺎﺑﺨﺎﻧـﻪ‬ ‫در‬ ‫و‬ ‫ﮐـﺮده‬ ‫ﺗﺒـﺪﯾﻞ‬‫ی‬mydat‫ذﺧﯿـﺮه‬ ‫داﺋﻤـﯽ‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬
‫ﻣﯽ‬‫ﮐﻨﺪ‬.
PROC IMPORT DATAFILE='C:mydatafitness.xls'
OUT=mydat.fitness DBMS=EXCEL REPLACE;
۶۰
GETNAMES=YES;
RUN;
‫ﻣﺜﺎل‬۱-۲۴‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﮐﻨﯿﺪ‬ ‫ﻓﺮض‬‫داده‬ ‫ی‬‫ﻣﺜﺎل‬ ‫ﻫﺎی‬۱-۲۲‫ﻗﺎﻟﺐ‬ ‫در‬MS ACCESS‫ﺑﺎﺷـﺪ‬ ‫ﺷﺪه‬ ‫ذﺧﯿﺮه‬.‫ﺑﺮﻧﺎﻣـﻪ‬‫زﯾـﺮ‬ ‫ی‬
‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻓﺎﯾﻞ‬ ‫اﯾﻦ‬‫داده‬ ‫ی‬‫ی‬SAS‫ﻣﯽ‬ ‫ﺗﺒﺪﯾﻞ‬‫ﮐﻨﺪ‬.
PROC IMPORT OUT=mydat.fitness
DBMS=ACCESS REPLACE
DATATABLE="Table1";
DATABASE="C:mydatafitness.mdb";
RUN;
۱-۱۱-۲‫ﺷﯿﻮه‬‫ی‬EXPORT
‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺗﺒﺪﯾﻞ‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫داده‬ ‫ﻓﺎﯾﻞ‬ ‫ﺑﻪ‬‫ﻧﺮم‬ ‫ﺳﺎﯾﺮ‬ ‫ﺗﻮﺳﻂ‬ ‫ﺧﻮاﻧﺪن‬ ‫ﻗﺎﺑﻞ‬ ‫ﮐﻪ‬ ‫ای‬‫ﻣﺜﻞ‬ ‫اﻓﺰارﻫﺎ‬EXCEL‫ﺗﻮﺳﻂ‬ ،‫ﺑﺎﺷﺪ‬
‫ﺷﯿﻮه‬‫ی‬EXPORT‫ﻣﯽ‬ ‫اﻧﺠﺎم‬‫ﺷﻮد‬.‫ﻧﺤﻮه‬‫اﺳﺘﻔﺎد‬ ‫ی‬‫از‬ ‫ه‬PROC EXPORT‫ﻣﺸـﺎﺑﻪ‬‫از‬ ‫اﺳـﺘﻔﺎده‬PROC IMPORT‫اﺳـﺖ‬.
‫ﻧﺤﻮه‬ ‫زﯾﺮ‬ ‫ﻣﺜﺎل‬‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﺷﯿﻮه‬ ‫اﯾﻦ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ی‬‫دﻫﺪ‬.
‫ﻣﺜﺎل‬۱-۲۵‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﮐﻨﯿﺪ‬ ‫ﻓﺮض‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫داﺋﻤ‬‫ﻧﺎم‬ ‫ﺑﻪ‬ ‫ﯽ‬fitness‫دارد‬ ‫وﺟﻮد‬.‫ﺑﺮﻧﺎﻣـﻪ‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫اﯾـﻦ‬ ‫زﯾـﺮ‬ ‫ی‬‫ی‬
‫داده‬‫داده‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻫﺎ‬‫ﻫﺎﯾﯽ‬‫در‬‫ﻗﺎﻟﺐ‬EXCEL 2003‫ﮐﺮد‬ ‫ﺗﺒﺪﯾﻞ‬‫آدرس‬ ‫در‬ ‫و‬ ‫ه‬C:mydata‫ﻣﯽ‬ ‫ذﺧﯿﺮه‬‫ﮐﻨﺪ‬.
PROC EXPORT DATA=fitness DBMS=EXCEL2003
OUTFILE='C:mydatafitness.xls'
REPLACE;
RUN;
۱-۱۱-۳‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺗﺒﺪﯾﻞ‬‫داده‬ ‫ی‬‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬‫ﻣﻨﻮﻫﺎ‬
‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺗﺒﺪﯾﻞ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫در‬‫ﻗﺎﻟﺐ‬‫ﻫﺎی‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬ ‫ﺧﺎص‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫ﻣﯽ‬ ،‫ﺑﺮﻋﮑﺲ‬ ‫و‬‫ﻧـﻮار‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑـﺎ‬ ‫ﺗﻮاﻧـﺪ‬
‫ﻣﻨﻮ‬‫ﺷـﻮد‬ ‫اﻧﺠـﺎم‬.‫ﺑـﺮای‬IMPORT‫ﯾـﺎ‬EXPORT‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﮐـﺮدن‬‫داده‬ ‫ی‬،‫ﻫـﺎ‬‫روی‬File‫در‬‫ﻣﻨـﻮ‬ ‫ﻧـﻮار‬‫و‬ ‫ﮐـﺮده‬ ‫ﮐﻠﯿـﮏ‬
‫ﮔﺰﯾﻨﻪ‬‫ﻫﺎی‬Import Data‫ﯾﺎ‬Export Data‫ﮔﺰﯾﻨـﻪ‬ ،‫ﮐﺮده‬ ‫اﻧﺘﺨﺎب‬ ‫را‬‫ﺟﻌﺒـﻪ‬ ‫در‬ ‫ﻣﻨﺎﺳـﺐ‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫ﺑـﺎز‬ ‫ﮐـﻪ‬ ‫ﻫﺎﯾﯽ‬‫را‬ ‫ﺷـﻮد‬
‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺗﺎ‬ ‫ﮐﻨﯿﺪ‬ ‫دﻧﺒﺎل‬‫داده‬ ‫ی‬‫دﻟﺨﻮا‬ ‫ﻫﺎی‬‫ﺷـﻮد‬ ‫اﯾﺠﺎد‬ ‫ه‬.‫ﮔﺰﯾﻨـﻪ‬ ‫و‬ ‫ﻧﻈـﺮ‬ ‫ﻣـﻮرد‬ ‫ﻗﺎﻟـﺐ‬ ‫اﻧﺘﺨـﺎب‬ ‫از‬ ‫ﭘـﺲ‬‫در‬ ‫ﻣﻨﺎﺳـﺐ‬ ‫ﻫﺎی‬
‫ﭘﻨﺠﺮه‬ ‫آﺧﺮﯾﻦ‬‫ﻣﯽ‬ ‫ﺑـﺎز‬ ‫ﮐـﻪ‬ ‫ای‬‫ﻣﯽ‬ ‫ﺷـﻮد‬‫ﺑﺮﻧﺎﻣـﻪ‬ ‫دﺳـﺘﻮرات‬ ‫ﺑـﺮای‬ ‫ﻧـﺎﻣﯽ‬ ‫ﺗﻮاﻧﯿـﺪ‬‫ای‬SAS‫اﻧﺠﺎم‬ ‫ﻋﻤﻠﯿـﺎت‬ ‫ﺑـﺎ‬ ‫ﻣﺘﻨـﺎﻇﺮ‬‫ﺷـﺪه‬
‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬ ‫را‬ ‫دﺳﺘﻮرات‬ ‫اﯾﻦ‬ ‫و‬ ‫ﮐﺮده‬ ‫اﻧﺘﺨﺎب‬‫دﻫﯿﺪ‬ ‫ﻗﺮار‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬ ‫ﺧﻮد‬ ‫ﻫﺎی‬.
۱-۱۲‫ﻣﺤﺎوره‬ ‫ﻣﺎﺗﺮﯾﺴﯽ‬ ‫زﺑﺎن‬‫ا‬‫ی‬SAS
۶۱
‫ﻫﻤﺎن‬‫ﺑﺨـﺶ‬ ‫در‬ ‫ﮐـﻪ‬ ‫ﻃﻮر‬‫ﻧـﺮم‬ ،‫ﺷـﺪ‬ ‫ﮔﻔﺘـﻪ‬ ‫ﻗﺒـﻞ‬ ‫ﻫـﺎی‬‫اﻓـﺰار‬SAS‫ﺷـﯿﻮه‬ ‫دارای‬‫ﺑـﺎ‬ ‫ﮐـﺎر‬ ‫اﻣﮑـﺎن‬ ‫ﮐـﻪ‬ ‫اﺳـﺖ‬ ‫ﻣﺘﻌـﺪدی‬ ‫ﻫـﺎی‬
‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺗﺤﻠﯿﻞ‬ ‫و‬‫ﻣﯽ‬ ‫ﻓﺮاﻫﻢ‬ ‫را‬ ‫آﻣﺎری‬ ‫ﻣﺨﺘﻠﻒ‬ ‫ﻫﺎی‬‫ﮐﻨﻨﺪ‬.‫ﯾﮑ‬‫ﺷﯿﻮ‬ ‫از‬ ‫ﯽ‬‫ه‬‫ﻧـﺮم‬ ‫در‬ ‫ﻣﻔﯿـﺪ‬ ‫ﺑﺴﯿﺎر‬ ‫ﻫﺎی‬‫اﻓـﺰار‬SAS،
‫ﺷﯿﻮه‬‫ی‬IML
۸
‫اﺳﺖ‬.‫ﺷﯿﻮه‬ ‫اﯾﻦ‬ ‫در‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫در‬‫و‬ ‫ﺷـﺪه‬ ‫ﻣﻌﺮﻓـﯽ‬ ‫اﺳـﮑﺎﻟﺮ‬ ‫ﯾـﺎ‬ ‫ﺑـﺮدار‬ ،‫ﻣـﺎﺗﺮﯾﺲ‬ ‫ﻗﺎﻟـﺐ‬
‫ﻣﯽ‬ ‫را‬ ‫ﻣﺨﺘﻠﻔﯽ‬ ‫ﻣﺎﺗﺮﯾﺴﯽ‬ ‫ﻋﻤﻠﯿﺎت‬‫آن‬ ‫روی‬ ‫ﺑﺮ‬ ‫ﺗﻮان‬‫ﻫﺎ‬‫داد‬ ‫اﻧﺠﺎم‬.
‫ﺷﯿﻮه‬‫ی‬IML‫ﺑ‬‫ﻋﺒﺎرت‬ ‫ﺎ‬PROC  IML;‫ﺑﺎ‬ ‫و‬ ‫آﻏﺎز‬QUIT;‫ﻣ‬ ‫ﺧﺎﺗﻤﻪ‬‫ﯽ‬‫ﯾ‬‫ﺎﺑﺪ‬.،‫ﻋﺒﺎرت‬ ‫دو‬ ‫اﯾﻦ‬ ‫ﻣﺎﺑﯿﻦ‬‫ﻋﺒﺎرت‬‫ﻫﺎی‬‫ﺑﺮﻧﺎﻣﻪ‬‫ای‬
‫ﻣﯽ‬ ‫ﻗﺮار‬‫ﮔﯿﺮ‬‫ﻧ‬‫ﺑﺎ‬ ‫آن‬ ‫ﺧﻂ‬ ‫ﻫﺮ‬ ‫ﮐﻪ‬ ‫ﺪ‬;‫ﻣﯽ‬ ‫ﭘﺎﯾﺎن‬‫ﯾﺎﺑﺪ‬.‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫ای‬‫ﺗﻮان‬‫ﻣـﺎﺗﺮ‬‫ﯾ‬‫ﺲ‬‫ﺗﻌﺮ‬ ‫را‬ ‫ﻫـﺎ‬‫ﯾـ‬‫ﻒ‬‫و‬‫ﯾـ‬‫ﺎ‬‫ﯾـ‬‫ﮏ‬
‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﻓﺮاﺧﻮاﻧ‬ ‫را‬‫ﯽ‬‫ﺗﺒﺪﯾﻞ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺑﻪ‬ ‫و‬‫ﮐﺮد‬.‫ﻫﻤﭽﻨ‬‫ﯿ‬‫ﻦ‬‫ﻣﯽ‬‫ﺗﻮان‬‫از‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫و‬ ‫ﻫﺎ‬‫ﺗﺎﺑﻊ‬‫ﻫﺎی‬SAS‫ﺑـﺮا‬‫ی‬‫ﮐـ‬‫ﺎر‬
‫ﻣﺎﺗﺮ‬ ‫ﺑﺎ‬‫ﯾ‬‫ﺲ‬‫داده‬‫ﻫﺎ‬‫اﺳﺘﻔﺎده‬‫ﮐﺮد‬.
۱-۱۲-۱‫ﺗﻌﺮ‬‫ﯾ‬‫ﻒ‬‫ﯾ‬‫ﮏ‬‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﺲ‬‫اﺳﮑﺎﻟﺮ‬ ‫ﯾﺎ‬ ‫ﺑﺮدار‬ ،
‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﺲ‬‫ﮔﻮﻧﻪ‬ ،‫ﻫﺎ‬‫ا‬‫ی‬‫ﻧﻤﺎ‬ ‫از‬‫ﯾ‬‫ﺶ‬‫داده‬‫ﻫﺴﺘﻨﺪ‬ ‫ﻫﺎ‬‫ﮐ‬‫دارا‬ ‫ﻪ‬‫ی‬‫ﻣ‬ ‫ﺳﺘﻮن‬ ‫و‬ ‫ﺳﻄﺮ‬‫ﯽ‬‫ﺑﺎﺷﻨﺪ‬‫ﮐـﻪ‬‫ﺳـﻄﺮ‬ ‫ﺗﻌـﺪاد‬‫ﻫﺎ‬‫ﺳـﺘﻮن‬ ‫و‬‫ﻫﺎ‬‫ﺑﻌـﺪ‬ ،
‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﻣ‬ ‫را‬ ‫ﺲ‬‫ﯽ‬‫ﺳﺎز‬‫د‬.‫ﻫﺮ‬‫ﯾ‬‫ﮏ‬‫ﻣﻮﻟﻔﻪ‬ ‫از‬‫ﻫﺎ‬‫ی‬‫ﯾ‬‫ﮏ‬‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﻣ‬ ‫ﺲ‬‫ﯽ‬‫ﻋﺪد‬ ‫ﺗﻮاﻧﺪ‬‫ی‬‫و‬‫ﯾ‬‫ﺎ‬‫ﻧﻮﯾﺴﻪ‬‫ای‬‫ﺑﺎﺷﺪ‬.‫ﻗﺎﻋﺪه‬‫ﻫﺎی‬‫ﺗﻌ‬‫ﯿﯿ‬‫ﻧـﺎم‬ ‫ﻦ‬
‫ﯾ‬‫ﮏ‬‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﺲ‬‫ﮐ‬‫ﻣﺸﺎﺑﻪ‬ ‫ﺎﻣﻼ‬‫ﺑﺎ‬‫ﺗﻌ‬‫ﯿﯿ‬‫ﻧﺎم‬ ‫ﻦ‬‫ﯾ‬‫ﮏ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫در‬SAS‫ﻣ‬‫ﯽ‬‫ﺑﺎﺷﺪ‬‫ﮐ‬‫ﺑﺨﺶ‬ ‫در‬ ‫ﻪ‬۱-۳‫ﺷﺮح‬‫داد‬‫ه‬‫ﺷﺪ‬.
‫ﺑﺮا‬‫ی‬‫ﺗﻌﺮ‬‫ﯾ‬‫ﻒ‬‫ﯾ‬‫ﮏ‬‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﺲ‬‫ﺷﯿﻮه‬ ‫در‬‫ی‬IML‫ﻣﻮﻟﻔﻪ‬‫ﻫﺎ‬‫ی‬‫ﻣﺎﺗﺮ‬‫ﯾ‬‫داﺧﻞ‬ ‫ﺲ‬{ }،‫ﻧﻮﺷﺘﻪ‬‫ﻣﻮﻟﻔﻪ‬‫ﻫﺎ‬‫ی‬‫ﻫﻢ‬ ‫از‬ ‫ﻓﺎﺻﻠﻪ‬ ‫ﺑﺎ‬ ‫ﺳﻄﺮ‬ ‫ﻫﺮ‬
‫ﺟﺪا‬‫ﺷﺪه‬‫ﺑ‬ ‫و‬‫ﯿ‬‫ﺳﻄﺮﻫﺎ‬ ‫ﻦ‬‫ﻧﯿﺰ‬‫از‬‫واوک‬‫اﺳﺘﻔﺎده‬‫ﻣﯽ‬‫ﺷﻮد‬.‫ﻣﺎﺗﺮ‬ ‫ﻣﺜﺎل‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬‫ﯾ‬‫ﺲ‬X،
X
 
 
 
 
 
 
 
0
0
=
1 3
4 1 3
3 1 3×3
‫ﯾ‬‫ﮏ‬‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﺲ‬3 × 3‫اﺳﺖ‬‫ﮐ‬‫ﺑﻪ‬ ‫ﻪ‬‫ز‬ ‫ﺻﻮرت‬‫ﯾ‬‫ﺮ‬‫ﺷﯿﻮه‬ ‫در‬‫ی‬IML‫ﺗﻌﺮ‬‫ﯾ‬‫ﻣ‬ ‫ﻒ‬‫ﯽ‬‫ﺷﻮد‬:
PROC IML;
RESET PRINT;
X = {1 0 3,
4 1 3,
0 3 1};
QUIT;
                                                            
8
Interactive Matrix Language 
۶۲
‫دﺳﺘﻮر‬RESET  PRINT;‫ﺷﯿﻮه‬ ‫اﺑﺘﺪای‬ ‫در‬ ‫ﮐﻪ‬‫ی‬IML‫ﻣﯽ‬‫ﻣﯽ‬ ‫ﺑﺎﻋﺚ‬ ،‫آﯾﺪ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺗﻤﺎم‬ ‫ﺷﻮد‬‫ﺷـﯿﻮه‬ ‫در‬ ‫ﺷـﺪه‬ ‫ﺗﻌﺮﯾـﻒ‬ ‫ﻫﺎی‬
‫ﺷﻮ‬ ‫ﭼﺎپ‬‫ﻧ‬‫ﺪ‬.‫ﺻﻮرﺗﯽ‬ ‫در‬‫آن‬ ‫ﻫﻤﻪ‬ ‫ﭼﺎپ‬ ‫ﺑﻪ‬ ‫ﻣﺎﯾﻞ‬ ‫ﮐﻪ‬‫ﻧﺒﺎﺷﯿ‬ ‫ﻫﺎ‬‫ﻣـﯽ‬ ،‫ﻢ‬‫ﺗـﻮان‬‫دﺳـﺘﻮر‬ ‫از‬PRINT ‫ﺷـﯿﻮه‬ ‫داﺧـﻞ‬ ‫در‬‫ی‬IML‫ﺑـﻪ‬
‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻧﺎم‬ ‫و‬ ‫اﺳﺘﻔﺎده‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬‫ﻣ‬ ‫ﻫﺎی‬‫ﮐﺮد‬ ‫ذﮐﺮ‬ ‫آن‬ ‫ﻣﻘﺎﺑﻞ‬ ‫در‬ ‫را‬ ‫ﻧﻈﺮ‬ ‫ﻮرد‬.
PROC IML;
X = {1 0 3,
4 1 3,
0 3 1};
PRINT X;
QUIT;
‫ﻧﮑﺘﻪ‬‫ی‬۱-۶‫ﻋﺒﺎرت‬QUIT;‫ﻣﯽ‬ ‫ﺳﺒﺐ‬‫ﮐﻪ‬ ‫ﺷﻮد‬SAS‫ﻣﺤـﯿﻂ‬ ‫از‬IML‫ﺧـﺎر‬‫ﺷـﻮد‬ ‫ج‬.‫ﺻـﻮرﺗﯽ‬ ‫در‬‫ﯾـﺎ‬ ‫و‬ ‫ﻋﺒـﺎرت‬ ‫اﯾـﻦ‬ ‫ﮐﻪ‬
‫ﺷﯿﻮه‬‫ﻫﻢ‬ ‫ﮐﺎرﺑﺮ‬ ،‫ﻧﺸﻮد‬ ‫اﺟﺮا‬ ‫دﯾﮕﺮی‬ ‫ی‬‫ﻣﺤﯿﻂ‬ ‫در‬ ‫ﭼﻨﺎن‬IML‫ﻣﯽ‬ ‫ﺑﺎﻗﯽ‬‫ﻣﺎﻧﺪ‬.
‫ﺑﺮا‬‫ی‬‫ﻣﻌﺮﻓ‬‫ﯽ‬‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﺲ‬‫ﻣﻮﻟﻔﻪ‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬‫ﻫﺎ‬‫ی‬‫ﻧﻮﯾﺴﻪ‬‫ای‬‫ﻋﻤﻞ‬ ،‫ﺷﺪ‬ ‫ﮔﻔﺘﻪ‬ ‫آﻧﭽﻪ‬ ‫ﻣﺸﺎﺑﻪ‬‫ﻣﯽ‬‫ﺷﻮد‬‫ا‬ ‫ﺑﺎ‬‫ﯾ‬‫ﺗﻔﺎوت‬ ‫ﻦ‬‫ﮐ‬‫ﻣﻮﻟﻔـﻪ‬ ‫ﻫـﺮ‬ ‫اﮔﺮ‬ ‫ﻪ‬
‫ﺑ‬ ‫را‬‫ﯿ‬‫ﻋﻼﻣﺖ‬ ‫ﻦ‬''‫ﻗﺮار‬‫ﻧﺸﻮد‬ ‫داده‬‫ﻣ‬ ‫ﭼﺎپ‬ ‫ﺑﺰرگ‬ ‫ﺣﺮوف‬ ‫ﺑﺎ‬ ،‫ﯽ‬‫ﺷﻮ‬‫د‬.‫ﺑﺮا‬‫ی‬‫ﻣﻮﻟﻔﻪ‬‫ﻫﺎ‬‫ی‬‫ﺧﺎﻟ‬‫ﯽ‬‫و‬ ‫و‬‫ﯾ‬‫ﮋه‬‫ﻧﯿﺰ‬‫ﺑﺎ‬‫ﯾ‬‫ﻋﻼﻣـﺖ‬ ‫از‬ ‫ﺪ‬
''‫اﺳﺘﻔﺎده‬‫ﮐﺮد‬.‫ﻣﺜﺎل‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬
PROC IML;
X = {'a' 'b' 'c',
1 0 3,
'' 1 3,
0 3 1};
PRINT X;
QUIT;
‫ﺧﺮوﺟﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﺑﺎﻻ‬ ‫ی‬‫اﺳﺖ‬:
X
a b c
1 0 3
1 3
0 3 1
۶۳
‫اﺳﺖ‬ ‫واﺿﺢ‬‫ﮐ‬‫ﻣﺎﺗﺮ‬ ‫ﺑﺮدار‬ ‫ﻪ‬‫ﯾ‬‫ﺴ‬‫ﯽ‬‫ﺳﻄﺮ‬ ‫ﺑﺎ‬‫ﯾ‬‫ﺳﺘﻮن‬ ‫ﺎ‬۱‫اﺳﺖ‬.‫ا‬ ‫ﺑﺮ‬ ‫ﺑﻨﺎ‬‫ﯾ‬‫ﺗﻌﺮ‬ ‫ﻦ‬‫ﯾ‬‫ﻧ‬ ‫ﺑﺮدار‬ ‫ﻒ‬‫ﯿ‬‫ﺰ‬‫ﮐ‬ً‫ﻼ‬‫ﺎﻣ‬‫ﺗﻌﺮ‬ ‫ﻣﺸﺎﺑﻪ‬‫ﯾ‬‫ﻣﺎﺗﺮ‬ ‫ﻒ‬‫ﯾ‬‫ﺲ‬
‫اﺳﺖ‬.‫زﯾﺮ‬ ‫ﻣﺜﺎل‬ ‫در‬X‫و‬ ‫ﺳﻄﺮی‬ ‫ﺑﺮدار‬ ‫ﯾﮏ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬Y‫ﺳﺘﻮﻧﯽ‬ ‫ﺑﺮدار‬ ‫ﯾﮏ‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺗﻌﺮﯾﻒ‬.
PROC IML;
X = {1 2 3 4 5 6};
Y = {1,
2,
3,
4,
5};
PRINT X, Y;
QUIT;
‫ﺧﺮوﺟﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬‫اﺳﺖ‬ ‫آﻣﺪه‬ ‫زﯾﺮ‬ ‫ﺷﮑﻞ‬ ‫در‬ ‫ﻓﻮق‬.
X
1 2 3 4 5 6
Y
1
2
3
4
5
‫ﺑﺮا‬‫ی‬‫ﺗﻌﺮ‬‫ﯾ‬‫ﻒ‬‫ﯾ‬‫ﮏ‬‫اﺳ‬ ‫ﻣﻘﺪار‬‫ﮑ‬‫ﻧ‬ ‫ﺎﻟﺮ‬‫ﯿ‬‫ﺎز‬‫ی‬‫ﻧﻤﺎد‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬{  }‫ﻧ‬‫ﯿ‬‫ﺴﺖ‬.‫ﺗﻨﻬﺎ‬‫ﮐ‬‫ﺎﻓ‬‫ﯽ‬‫ز‬ ‫ﻣﺜﺎل‬ ‫ﻣﺎﻧﻨﺪ‬ ‫اﺳﺖ‬‫ﯾـ‬‫ﻧـﺎﻣ‬ ‫آن‬ ‫ﺑـﻪ‬ ‫ﺮ‬‫ﯽ‬
‫د‬ ‫اﺧﺘﺼﺎص‬‫ﻫ‬‫ﯿ‬‫ﺪ‬:
PROC IML;
K = 3;
PRINT K;
QUIT;
‫ﺑﺮا‬‫ی‬‫ا‬‫ﯾ‬‫ﻨ‬‫ﮑ‬‫ﻫﺮ‬ ‫ﻪ‬‫ﯾ‬‫ﮏ‬‫ﺳﻄﺮﻫﺎ‬ ‫از‬‫ﯾ‬‫ﺳﺘﻮن‬ ‫ﺎ‬‫ﻫﺎ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ی‬‫ﻧﺎﻣ‬‫ﯽ‬‫ﺑﺮا‬ ‫اﺑﺘﺪا‬ ،‫ﺑﺎﺷﻨﺪ‬ ‫داﺷﺘﻪ‬‫ی‬‫ﺳﻄﺮﻫﺎ‬‫ﯾ‬‫ﺳﺘﻮن‬ ‫ﺎ‬‫ﻫﺎ‬‫ی‬،‫ﻣﺎﺗﺮﯾﺲ‬
‫ﻣﯽ‬‫ﺗﻮان‬‫ﻧﺎم‬‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻫﺎ‬‫ﺑﺮدار‬ ‫ﯾﮏ‬‫ﻣﺸﺨﺺ‬‫در‬ ‫آن‬ ‫از‬ ‫و‬‫دﺳـﺘﻮر‬ ‫در‬ ‫ﻧﻈـﺮ‬ ‫ﻣـﻮرد‬ ‫ﻣـﺎﺗﺮﯾﺲ‬ ‫ﭼـﺎپ‬ ‫زﻣﺎن‬PRINT‫ﺑـﻪ‬
‫اﺳﺘﻔﺎده‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬‫ﮐﺮ‬‫د‬.
۶۴
PROC IML;
X = {1 0 3,
4 1 3,
0 3 1};
Names = {A1,
A2,
A3};
PRINT X [ROWNAME = names];
QUIT;
‫ﺧﺮوﺟﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ی‬‫ﺑﺎﻻ‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬:
X
A1 1 0 3
A2 4 1 3
A3 0 3 1
‫ﺷﮑﻞ‬۱-۱۱‫ﻧﺎم‬ ‫ﺳﻄﺮ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫از‬ ‫ﻧﻤﺎﯾﺸﯽ‬‫ﺷﺪه‬ ‫داده‬
‫ـﻮاﻫ‬‫ـ‬‫ﺑﺨ‬ ‫ـﺮ‬‫ـ‬‫اﮔ‬‫ﯿ‬‫ـﺘﻮن‬‫ـ‬‫ﺳ‬ ‫ـﻪ‬‫ـ‬‫ﺑ‬ ،‫ﻢ‬‫ـﺎﻣ‬‫ـ‬‫ﻧ‬ ‫ـﺎ‬‫ـ‬‫ﻫ‬‫ﯽ‬‫ـﺎص‬‫ـ‬‫اﺧﺘﺼ‬‫ـﯿﻢ‬‫ـ‬‫دﻫ‬،‫ـﻪ‬‫ـ‬‫ﺑﺮﻧﺎﻣ‬ ‫در‬‫ـﺎﻻ‬‫ـ‬‫ﺑ‬ ‫ی‬‫ـﺎ‬‫ـ‬‫ﺟ‬ ‫ـﻪ‬‫ـ‬‫ﺑ‬‫ی‬ROWNAME‫ـﻪ‬‫ـ‬‫ﮔﺰﯾﻨ‬ ‫از‬ ‫ـﺪ‬‫ـ‬‫ﺑﺎﯾ‬‫ی‬
COLNAME‫اﺳﺘﻔﺎده‬‫ﮐﻨﯿﺪ‬.
‫ﻣﺜﺎل‬،‫ﺑﺎﻻ‬ ‫ﻫﺎی‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻣﻌﺮﻓﯽ‬ ‫روش‬‫داده‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬ ‫را‬ ‫ﻫﺎ‬‫ﻧ‬‫ﻣﯽ‬ ‫ﺸﺎن‬‫دﻫﺪ‬.‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﺎ‬ ‫ﮔﺎﻫﯽ‬‫داده‬ ‫ی‬‫ﺑـﺰرگ‬ ‫ﻫﺎی‬‫و‬ ‫ﺳـﺮ‬
‫دارﯾ‬ ‫ﮐﺎر‬‫ﻢ‬‫روش‬ ‫ار‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﮐﻪ‬‫ﻣﻌﺮﻓﯽ‬ ‫ﻫﺎی‬‫ﺑﺨﺶ‬ ‫در‬ ‫ﺷﺪه‬‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬ ‫از‬ ‫ﯾﮑﯽ‬ ‫در‬ ‫ﻗﺒﻞ‬ ‫ﻫﺎی‬‫ﻫـﺎی‬SAS‫ﺷـﺪه‬ ‫ذﺧﯿـﺮه‬‫اﻧـﺪ‬.
‫ﺷﻤﺎ‬‫ﭘﺮدازش‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫اﯾﻦ‬‫داده‬ ‫ی‬‫آن‬ ‫ﺑﺎﯾﺪ‬ ‫ﻫﺎ‬‫ﺷﯿﻮه‬ ‫در‬ ‫را‬ ‫ﻫﺎ‬‫ی‬IML‫ﻓﺮاﺧﻮاﻧﯽ‬‫ﮐـﺮد‬.‫اﯾـﻦ‬ ‫ﺑـﺮای‬‫ﮐـﺎر‬‫ﻣﯽ‬‫ﺗـﻮان‬‫دﺳـﺘﻮر‬ ‫از‬
USE‫اﺳﺘﻔﺎده‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﮐﺮد‬.
USE < ‫ﻧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬ > <VAR ‫ﻣﺘﻐ‬ ‫ﻧﺎم‬‫ﯿ‬‫ﺮﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫ﻣ‬ ‫ﻪ‬‫ﯽ‬‫ﺧﻮاﻫ‬‫ﯿ‬‫ﻓﺮاﺧﻮاﻧ‬ ‫ﺪ‬‫ﯽ‬‫ﮐ‬‫ﻨ‬‫ﯿ‬‫ﺪ‬ > <WHERE ( ‫ﺷﺮﻃ‬ ‫ﻋﺒﺎرت‬‫ﯽ‬ )>;
‫ﺑﺨﺸﯽ‬ ‫دو‬ ‫ﻧﺎم‬ ‫درج‬ ‫از‬ ‫ﭘﺲ‬ ‫دﺳﺘﻮر‬ ‫اﯾﻦ‬ ‫در‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬)‫ﻧـﺎم‬ ‫و‬ ‫ﮐﺘﺎﺑﺨﺎﻧـﻪ‬ ‫ﻧـﺎم‬ ‫ﺷـﺎﻣﻞ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬(‫ﻧـﺎم‬ ،
‫ـﺖ‬‫ـ‬‫اﺳ‬ ‫ـﺮ‬‫ـ‬‫ﻧﻈ‬ ‫ـﻮرد‬‫ـ‬‫ﻣ‬ ‫ـﻪ‬‫ـ‬‫ﮐ‬ ‫ـﺎﯾﯽ‬‫ـ‬‫ﻣﺘﻐﯿﺮﻫ‬‫ﻣ‬ ‫وارد‬‫ﯽ‬‫ـﻮﻧﺪ‬‫ـ‬‫ﺷ‬.‫ـﺨﺺ‬‫ـ‬‫ﻣﺸ‬ ‫ـﺮی‬‫ـ‬‫ﻣﺘﻐﯿ‬ ‫ـﻪ‬‫ـ‬‫ﮐ‬ ‫ـﻮرﺗﯽ‬‫ـ‬‫ﺻ‬ ‫در‬‫ـﻮد‬‫ـ‬‫ﻧﺸ‬،SAS‫را‬ ‫ـﺎ‬‫ـ‬‫ﻣﺘﻐﯿﺮﻫ‬ ‫ـﺎم‬‫ـ‬‫ﺗﻤ‬
‫ﻣﯽ‬ ‫ﻓﺮاﺧﻮاﻧﯽ‬‫ﮐﻨﺪ‬.‫ﻋﺒﺎرت‬ ‫از‬WHERE‫ﮐـﺮدن‬ ‫ﻣﺤـﺪود‬ ‫ﺑﺮای‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫اﺳـﺘﻔﺎده‬ ‫ﺷـﺮط‬ ‫ﯾـﮏ‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑـﺎ‬
‫ﻣﯽ‬‫ﺷﻮد‬.
‫ﻣﺜﺎل‬۱-۲۶‫اﮔﺮ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬class‫ﮐـﻪ‬‫در‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧـﻪ‬Sashelp‫دارد‬ ‫وﺟـﻮد‬‫دﯾـﺪ‬ ‫ﺧﻮاﻫﯿـﺪ‬ ،‫ﮐﻨﯿـﺪ‬ ‫ﺑـﺎز‬ ‫را‬‫اﯾـﻦ‬
‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬،‫داﻧﺶ‬ ‫اﻃﻼﻋﺎت‬‫ﺷﺎﻣﻞ‬ ‫ﮐﻼس‬ ‫ﯾﮏ‬ ‫آﻣﻮزان‬‫ﭘﻨﺞ‬‫ﻣﺘﻐ‬‫ﯿـ‬‫ﺮ‬name،sex،age،height‫و‬weight‫را‬
‫دارد‬ ‫ﺧﻮد‬ ‫در‬.‫ز‬ ‫دﺳﺘﻮر‬‫ﯾ‬‫ﺮ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎی‬class‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫را‬‫ﮐ‬‫ﻣ‬ ‫ﺎﻣﻞ‬‫ﯽ‬‫ﺧﻮاﻧﺪ‬:
۶۵
PROC IML;
USE sashelp.class;
SHOW CONTENTS;
QUIT;
‫ﻋﺒﺎرت‬show  contents;‫اﻃﻼﻋ‬‫ﻣﺘﻐ‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﺎت‬‫ﯿ‬‫ﻣﺘﻐ‬ ‫ﻧﺎم‬ ‫ﺟﻤﻠﻪ‬ ‫از‬ ‫ﺮﻫﺎ‬‫ﯿ‬‫اﻧﺪازه‬ ‫و‬ ‫ﻧﻮع‬ ،‫ﺮﻫﺎ‬‫ی‬‫ﻫـﺮ‬‫ﮐـ‬‫را‬ ‫ﺪام‬‫ﻧﻤـﺎﯾﺶ‬
‫ﻣ‬‫ﯽ‬‫دﻫﺪ‬.‫ﻓﻘﻂ‬ ‫اﮔﺮ‬‫اﻃﻼﻋﺎت‬‫ﺟﻨﺴﯿﺖ‬ ‫و‬ ‫ﻧﺎم‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬‫داﻧﺶ‬‫آﻣﻮزان‬‫ﻣﻮﻧﺚ‬‫ﺑﺎﺷـﺪ‬ ‫ﻣـﻮردﻧﻈﺮ‬،‫ﻣﯽ‬‫ﺗـﻮان‬‫ز‬ ‫دﺳـﺘﻮر‬ ‫از‬‫ﯾـ‬‫ﺮ‬
‫اﺳﺘﻔﺎده‬‫ﮐﺮد‬.
PROC IML;
USE sashelp.class VAR{Name, Sex} WHERE(Sex = 'F');
SHOW CONTENTS;
QUIT;
‫دﺳﺘﻮر‬READ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺑﻪ‬ ‫ﺷﺪه‬ ‫ﻓﺮاﺧﻮاﻧﯽ‬ ‫ی‬IML‫را‬‫ﻣﻌﺮﻓﯽ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﻣﯽ‬‫ﮐﻨﺪ‬.‫ﺑ‬‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺎ‬
‫ﻣﯽ‬ ‫دﺳﺘﻮر‬ ‫اﯾﻦ‬‫ﺗﻮان‬‫ﻣـﺎﺗﺮﯾﺲ‬ ‫ﺑﻪ‬ ‫را‬ ‫ﺷﺪه‬ ‫ﻓﺮاﺧﻮاﻧﯽ‬ ‫اﻃﻼﻋﺎت‬ ‫از‬ ‫ﺑﺨﺸﯽ‬ ‫ﯾﺎ‬ ‫ﺗﻤﺎم‬‫ﻣـﺎﺗﺮﯾﺲ‬ ‫ﯾـﺎ‬‫ﻣﺨﺘﻠـﻒ‬ ‫ﻫـﺎی‬‫ﯾـﺎ‬ ‫ﻋـﺪدی‬
‫ﻧﻮﯾﺴﻪ‬‫ای‬‫ﺗﺨﺼﯿﺺ‬‫داد‬.‫ﺻ‬ ‫ﺑﻪ‬ ‫دﺳﺘﻮر‬ ‫اﯾﻦ‬ ‫ﮐﻠﯽ‬ ‫ﺷﮑﻞ‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﻮرت‬:
Read ALL var{ ‫ﻣﺘﻐ‬ ‫ﻧﺎم‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬‫ﻣﻮردﻧﻈﺮ‬ } _ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻧﻮع‬‫ﻫﺎ‬ _ INTO < ‫ﻧﺎم‬‫ﻣﺎﺗﺮﯾﺲ‬‫ﺟﺪﯾﺪ‬ >
<WHERE( ‫ﻋﺒﺎرت‬‫ﺷﺮﻃﯽ‬ )>;
‫ﻧﻮع‬‫ﻣﺘﻐﯿﺮ‬‫ﻣﯽ‬‫ﺗﻮاﻧﺪ‬‫ﮔﺰﯾﻨﻪ‬‫ﻫﺎی‬_NUM_‫ﯾﺎ‬_CHAR_‫را‬‫ﮐﻨﺪ‬ ‫اﺧﺘﯿﺎر‬.‫ﻧ‬ ‫ﻣﻌﺮﻓﯽ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻧﺎم‬ ‫اﮔﺮ‬‫ﺸـﻮﻧﺪ‬‫ﻧـﻮع‬ ‫ﻓﻘـﻂ‬ ‫و‬
‫ﻋﺒﺎرت‬،‫ﺷﻮد‬ ‫وارد‬IML‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﺗﻤﺎم‬‫ر‬ ‫ﻧﻮع‬ ‫آن‬ ‫از‬‫ﻣﯽ‬ ‫ﻧﮕﻪ‬ ‫ا‬‫دارد‬.
‫ا‬ ‫ﺑﺎ‬ ‫ﻣﺜﺎل‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫از‬ ‫ﺳﺘﻔﺎده‬‫ﻣﯽ‬ ‫زﯾﺮ‬ ‫ی‬‫ﺗﻮان‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬class‫دو‬ ‫ﺑـﻪ‬ ‫را‬‫ﺟﺪﯾـﺪ‬ ‫ﻣـﺎﺗﺮﯾﺲ‬‫ﻧـﺎم‬ ‫ﺑـﻪ‬‫ﻫـﺎ‬‫ی‬
men‫و‬women‫ﺗﺒﺪ‬‫ﯾ‬‫ﻞ‬‫ﮐ‬‫ﺮد‬‫ﮐ‬‫ﻪ‬‫ﯾ‬‫ﮑ‬‫ﯽ‬‫ﺷﺎﻣﻞ‬‫د‬ ‫و‬ ‫ﻣﺮدان‬ ‫اﻃﻼﻋﺎت‬‫ﯾ‬‫ﮕﺮ‬‫ی‬‫ﺷﺎﻣﻞ‬‫زﻧﺎن‬ ‫اﻃﻼﻋﺎت‬‫اﺳﺖ‬.
Read ALL VAR{height, weight} INTO women WHERE(sex='F');
Read ALL VAR{height, weight} INTO men WHERE(sex='M');
۱-۱۲-۲‫ﻋﻤﻞ‬‫ﮔﺮ‬‫و‬ ‫ﻫﺎ‬‫ﺗﺎﺑﻊ‬‫ﻫﺎی‬‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﺴ‬‫ﯽ‬
‫ﻧﺤﻮه‬ ‫ﻗﺒﻞ‬ ‫ﺑﺨﺶ‬ ‫در‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻣﻌﺮﻓﯽ‬ ‫ی‬‫ﻫﺎ‬‫ﺑﻪ‬‫دو‬‫روش‬‫ﺷﺪ‬ ‫داده‬ ‫ﺷﺮح‬.‫ﻣﺎﺗﺮﯾﺲ‬‫ﻣﺤـﯿﻂ‬ ‫ﺑـﻪ‬ ‫اﯾـﻦ‬ ‫ﺑﺮای‬ ‫ﻫﺎ‬IML‫ﻣﻌﺮﻓـﯽ‬
‫ﻣﯽ‬‫آن‬ ‫روی‬ ‫ﺑﺮ‬ ‫ﻋﻤﻠﯿﺎﺗﯽ‬ ‫ﮐﻪ‬ ‫ﺷﻮﻧﺪ‬‫ﺷـﻮد‬ ‫اﻧﺠـﺎم‬ ‫ﻫﺎ‬.‫ﻋﻤﻠﯿـﺎت‬‫ﻣ‬ ‫ﻣﺎﺗﺮﯾﺴـﯽ‬‫ﻓﺮاﺧـﻮر‬ ‫ﺑـﻪ‬ ‫ﮐـﺪام‬ ‫ﻫـﺮ‬ ‫ﮐـﻪ‬ ‫دارد‬ ‫وﺟـﻮد‬ ‫ﺘﻨـﻮﻋﯽ‬
۶۶
‫ﻣﺴﺌﻠﻪ‬‫ﮐﺮده‬ ‫ﭘﯿﺪا‬ ‫اﻫﻤﯿﺖ‬ ‫ﺑﺮرﺳﯽ‬ ‫ﻣﻮرد‬ ‫ی‬‫و‬‫ﻣـﯽ‬ ‫ﻗـﺮار‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬‫ﮔﯿﺮﻧـﺪ‬.‫ﺑـﺮای‬‫ا‬‫ﻋﻤﻠﯿـﺎت‬ ‫اﯾـﻦ‬ ‫ﻧﺠـﺎم‬‫ﻣـﯽ‬‫ﺑـﻪ‬ ‫ﺗﻮاﻧﯿـﺪ‬
‫ﺳﺎدﮔﯽ‬‫از‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫و‬ ‫ﻫﺎ‬‫ﺗﺎﺑﻊ‬‫ﻫﺎی‬‫از‬‫ﭘ‬‫در‬ ‫ﺷﺪه‬ ‫ﺗﻌﺮﯾﻒ‬ ‫ﯿﺶ‬IML‫اﺳـﺘﻔﺎده‬‫ﮐـﺮد‬.‫اﻣـﺎ‬‫ﺧـﻮاﻫﯿ‬ ‫ﻧﺎﭼـﺎر‬ ‫ﻫـﻢ‬ ‫ﮔـﺎﻫﯽ‬‫ﻢ‬‫ﺑـﺎ‬ ‫ﺑـﻮد‬
‫ﭼﻨﺪ‬ ‫ﺗﺮﮐﯿﺐ‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﺗﺎ‬ ‫و‬‫ﺑﻊ‬،‫دﻫﯿ‬ ‫اﻧﺠﺎم‬ ‫را‬ ‫ﺧﻮد‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻣﺎﺗﺮﯾﺴﯽ‬ ‫ﻋﻤﻠﯿﺎت‬‫ﻢ‬.‫ﻣﺜﺎل‬ ‫ﺑﺮای‬‫ﯾﺎﻓﺘﻦ‬‫وارون‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬
‫ﻣﯽ‬ ‫را‬‫دﺳﺘﻮر‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﺗﻮان‬INV‫ﮐﺮد‬ ‫ﻣﺤﺎﺳﺒﻪ‬.‫اﻣﺎ‬‫ﻣﺤﺎﺳﺒﻪ‬ ‫ﺑﺮای‬‫آﻣـﺎره‬ ‫ی‬‫ﻣﺎﻧﻨـﺪ‬ ‫ای‬T2
‫ﺗﺮﮐﯿـﺐ‬ ‫از‬ ‫ﺑﺎﯾـﺪ‬ ‫ﻫﺘﻠﯿﻨـﮓ‬
‫ﭼﻨﺪ‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫اﺳـﺘﻔﺎده‬ ‫ﺗﺎﺑﻊ‬ ‫و‬‫ﮐـﺮد‬.‫اﺑﺘـﺪا‬ ‫ﺑﺨـﺶ‬ ‫اﯾـﻦ‬ ‫در‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫از‬ ‫ﭘـﺲ‬ ‫و‬ ‫ﻣﺎﺗﺮﯾﺴـﯽ‬ ‫ﻫـﺎی‬‫ﺗﻮاﺑـﻊ‬ ‫آن‬IML‫را‬‫ﻣ‬‫ﻌﺮﻓـﯽ‬
‫ﻣﯽ‬‫ﮐﻨﯿﻢ‬.‫ﺑﮕﯿﺮﯾﺪ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫زﯾﺮ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺳﻪ‬ ‫اﺑﺘﺪا‬ ‫ﻣﻨﻈﻮر‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬.
A B C
   
   
   
     
0
002×2 2×2 2×3
1 12 2 4 5
= , = , =
1 13 4 1
‫ز‬ ‫ﺟﺪول‬‫ﯾ‬‫ﻣﻬﻢ‬ ،‫ﺮ‬‫ﺗﺮ‬‫ﯾ‬‫ﻦ‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﻫﺎ‬‫ی‬‫ﻣﻘﺪﻣﺎﺗ‬‫ﯽ‬‫ﺑ‬‫ﯿ‬‫ﻣﺎﺗﺮ‬ ‫ﻦ‬‫ﯾ‬‫ﺲ‬‫ﻫﺎی‬‫ﺑﺎﻻ‬‫ﻫﻤﺮاه‬ ‫ﺑﻪ‬ ‫را‬‫ﺧﺮوﺟﯽ‬‫ﻣﺮﺑﻮط‬‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬‫دﻫﺪ‬.
‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﮐﺎرﺑﺮد‬‫ﻣﺜﺎل‬‫ﺧﺮوﺟﯽ‬
+‫ﮐﺮدن‬ ‫ﺟﻤﻊ‬‫ﻣﻮﻟﻔﻪ‬‫ﻣﺘﻨﺎﻇ‬ ‫ﻫﺎی‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫دو‬ ‫ﺮ‬M1=A+B;M
 
 
 
 

1
6 7
3 5
-‫ﺗﻔﺮﯾﻖ‬‫ﮐﺮدن‬‫ﻣﻮﻟﻔﻪ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫دو‬ ‫ﻣﺘﻨﺎﻇﺮ‬ ‫ﻫﺎی‬M2=A-B;M
 
 
 
 

2
-2 -3
3 3
*‫ﺿﺮب‬‫ﻣﺎﺗﺮﯾﺴﯽ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫دو‬M3=A*C;M
 
 
 
 

3
4 9 5
0 1 1
#
‫ﻣﻮﻟﻔﻪ‬ ‫ﺿﺮب‬‫ﻣﻮﻟﻔﻪ‬ ‫در‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫ﻫﺎی‬‫ﻫﺎی‬
‫دﯾﮕﺮ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫ﻣﺘﻨﺎﻇﺮ‬
M4=A#B;M
 
 
 
 

4
8 10
0 4
##‫ﻣﻮﻟﻔﻪ‬ ‫رﺳﺎﻧﺪن‬ ‫ﺗﻮان‬ ‫ﺑﻪ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫ﻫﺎی‬M5=B##2;M
 
 
 
 

5
16 25
0 1
/
‫ﻣﻮﻟﻔﻪ‬ ‫ﺗﻘﺴﯿﻢ‬‫ﻣﻮﻟﻔﻪ‬ ‫ﺑﺮ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫ﻫﺎی‬‫ﻫﺎی‬
‫دﯾﮕﺮ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫ﻣﺘﻨﺎﻇﺮ‬
M6=A/B;M
 
 
 
 

6
0/5 0/4
0 4
||‫دادن‬ ‫ﻗﺮار‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫دو‬‫ﻫﻢ‬ ‫ﮐﻨﺎر‬ ‫در‬M7=A||B;M
 
 
 
 
7
2 2 4 5
=
3 4 0 1
۶۷
//‫ﻗﺮار‬‫دادن‬‫ﻋﻤﻮدی‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫دو‬M8=A//B;M
 
 
 
 
 
 
 
 
8
2 2
3 4=
4 5
0 1
‫ﺟﺪول‬۱-۱
‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﻫﺎ‬‫ی‬‫ﻋﻤﻠ‬ ،‫ﻓﻮق‬‫ﯽ‬‫ﺑ‬‫ﯿ‬‫ﻣﺎﺗﺮ‬ ‫دو‬ ‫ﻦ‬‫ﯾ‬‫ﺲ‬‫را‬‫ﻣ‬ ‫اﻧﺠﺎم‬‫ﯽ‬‫دﻫﻨﺪ‬.‫ز‬ ‫ﺟﺪول‬ ‫در‬‫ﯾ‬‫ﻧﺤﻮه‬ ‫ﺮ‬‫ی‬‫ﮐـ‬‫ﭼﻨـﺪ‬ ‫ﺎر‬‫ﻋﻤـﻞ‬‫ﮔﺮ‬‫د‬‫ﯾ‬‫ﮕـﺮ‬‫روی‬ ‫ﺑـﺮ‬
‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫داده‬ ‫ﻧﺸﺎن‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬.
‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﮐﺎرﺑﺮد‬‫ﻣﺜﺎل‬‫ﺧﺮوﺟﯽ‬
+‫ﻣﺠﻤﻮع‬‫ﻣﻘﺪارﻫﺎی‬‫ﻣ‬‫ﺆ‬‫ﻟﻔﻪ‬‫ﻫﺎی‬‫ﻣﺎﺗﺮﯾﺲ‬M1=A[+];۱۱
<>‫ﻣﺎﮐﺴﯿﻤﻢ‬‫ﻣ‬ ‫ﻣﻘﺪار‬‫ﺆ‬‫ﻟﻔﻪ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻫﺎی‬M2=A[<>];۴
><‫ﻣﯿﻨﯿﻤﻢ‬‫ﻣ‬ ‫ﻣﻘﺪار‬‫ﺆ‬‫ﻟﻔﻪ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻫﺎی‬M3=A[><];۲
:‫ﻣ‬ ‫ﻣﯿﺎﻧﮕﯿﻦ‬‫ﺆ‬‫ﻟﻔﻪ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻫﺎی‬M4=A[:];۷۵/۲
#‫ﺣﺎﺻﻞ‬‫ﻣ‬ ‫ﺿﺮب‬‫ﺆ‬‫ﻟﻔﻪ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻫﺎی‬M5=A[#];۴۸
##
‫ﻣﺠﻤﻮع‬‫ﺗﻮان‬‫ﻣ‬ ‫دوم‬ ‫ﻫﺎی‬‫ﺆ‬‫ﻟﻔﻪ‬‫ﻫﺎی‬
‫ﻣﺎﺗﺮﯾﺲ‬
M6=A[##];۳۳
[n1:nk,m1:mk]
‫ﺳﻄﺮ‬n1‫ﺗﺎ‬nk‫ﺳﺘﻮن‬ ‫و‬‫ﻫﺎی‬m1‫ﺗﺎ‬
mk‫ﻣﯽ‬ ‫ﺟﺪا‬ ‫را‬ ‫ﻣﺎﺗﺮﯾﺲ‬‫ﮐﻨﺪ‬.
M7=C[1:2,2:3];M
 
 
 
 0
1 1
=7 1
‫ﺟﺪول‬۱-۲
‫آﺧﺮﯾﻦ‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﺟﺪول‬‫ﺑﺎﻻ‬‫ﻣﯽ‬ ‫ﺟﺪا‬ ‫را‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫از‬ ‫ﺑﺨﺸﯽ‬ ،‫ﻣـﯽ‬ ‫در‬ ‫ﺟﺪﯾـﺪ‬ ‫ﻣـﺎﺗﺮﯾﺲ‬ ‫ﯾـﮏ‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ ‫و‬ ‫ﮐﻨـﺪ‬‫آورد‬.
‫ﻣﯽ‬‫اﯾﻦ‬ ‫ﺗﻮان‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﺑﺎ‬ ‫را‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﮐﺮد‬ ‫ﺗﺮﮐﯿﺐ‬ ‫دﯾﮕﺮ‬ ‫ﻫﺎی‬.‫ﻗ‬‫ﺎﻋﺪه‬‫اﻧﺠـﺎم‬ ‫ﺑـﺮای‬ ‫ﮐـﻪ‬ ‫اﺳـﺖ‬ ‫ﺻﻮرت‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬ ‫ﺗﺮﮐﯿﺐ‬ ‫اﯾﻦ‬ ‫ی‬
‫رو‬ ‫ﺑﺮ‬ ‫ﻋﻤﻠﯿﺎت‬ ‫ﯾﮏ‬‫ی‬‫اﺑﺘﺪا‬ ،‫ﺧﺎﺻﯽ‬ ‫ﺳﻄﺮ‬‫را‬ ‫آن‬‫ﻋ‬ ‫ﺑﻌﺪ‬ ‫ﻗﺴﻤﺖ‬ ‫در‬ ‫و‬ ‫ﮐﺮده‬ ‫ﺟﺪا‬‫ﻤﻞ‬‫ﮔﺮ‬‫ﻣﻌﺮﻓﯽ‬‫ﻣﯽ‬‫ﺷﻮد‬.‫اﯾـﻦ‬ ‫ﮐﻠـﯽ‬ ‫ﺷﮑﻞ‬
‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﺗﺮﮐﯿﺒﯽ‬ ‫ﻫﺎی‬‫ﺳﻄﺮی‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬.
A[n1: nk, ‫ﻋﻤﻞ‬‫ﮔﺮ‬ ];
‫ﺑﻪ‬‫ﻣﺸﺎﺑﻪ‬ ‫ﻃﻮر‬،‫ﺳﺘﻮﻧﯽ‬ ‫ﻋﻤﻠﯿﺎت‬ ‫اﻧﺠﺎم‬ ‫ﺑﺮای‬‫ﻋﻤﻞ‬‫ﺳﺘ‬ ‫ﺗﺮﮐﯿﺒﯽ‬ ‫ﮔﺮ‬‫ﺑﻪ‬ ‫ﻮﻧﯽ‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬.
A[ ‫ﻋﻤﻞ‬‫ﮔﺮ‬ , m1: mk];
۶۸
‫ﻣﻮﻟﻔﻪ‬ ‫ﻣﯿﺎﻧﮕﯿﻦ‬ ،‫ﻣﺜﺎل‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫دوم‬ ‫ﺳﺘﻮن‬ ‫ﻫﺎی‬A‫ﻋﺒﺎرت‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬A[2,:]‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬‫ﺣﺎﺻﻞ‬ ‫ﮐﻪ‬ ‫آﯾﺪ‬
‫ﺑﺎ‬ ‫ﺑﺮاﺑﺮ‬ ‫آن‬۵/۳‫اﺳﺖ‬.،‫ﻣﺸـﺎﺑﻪ‬ ‫ﻃـﻮر‬ ‫ﺑـﻪ‬‫ﻋﺒـﺎرت‬A[+,2]‫ﻣﺠﻤـﻮع‬ ،‫ﻣﻘـﺪارﻫﺎی‬‫ﻣـﺎﺗﺮﯾﺲ‬ ‫دوم‬ ‫ﺳـﺘﻮن‬A‫ﻣﺤﺎﺳـﺒﻪ‬ ‫را‬
‫ﻣﯽ‬‫ﮐ‬‫ﻨﺪ‬‫ﮐ‬‫ﻪ‬۶‫ﻣﯽ‬‫ﺷﻮد‬.
‫ﻧﮑﺘﻪ‬‫ی‬۱-۷‫ﺳﻄﺮ‬ ‫اﮔﺮ‬‫ﻣﺸـﺨﺺ‬ ‫ﺳﺘﻮﻧﯽ‬ ‫ﯾﺎ‬‫ﻧﺸـﻮد‬‫ﺟـﺎی‬ ‫و‬‫را‬ ‫آن‬‫ﺧـﺎﻟﯽ‬‫ﺑﺎﺷـﺪ‬،SAS‫ﺑﻪ‬‫ﺻـﻮرت‬‫ﭘـﯿﺶ‬‫ﺗﻤـﺎﻣﯽ‬ ‫ﻓـﺮض‬
‫ﺳﻄﺮ‬‫ﻫﺎ‬‫ﺳﺘﻮن‬ ‫ﯾﺎ‬‫ﻣﯽ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻫﺎی‬‫ﮐﻨﺪ‬.
‫و‬ ‫ﻣﺜﺎل‬ ‫ﻫﻤﺮاه‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻣﺎﺗﺮﯾﺴﯽ‬ ‫ﻣﻬﻢ‬ ‫ﺗﺎﺑﻊ‬ ‫ﭼﻨﺪ‬ ‫ﻧﯿﺰ‬ ‫زﯾﺮ‬ ‫ﺟﺪول‬‫ﺧﺮوﺟﯽ‬‫آن‬‫ﺷﯿﻮه‬ ‫در‬ ‫ﻫﺎ‬‫ی‬IML‫ﻣﯽ‬ ‫ﻣﻌﺮﻓﯽ‬ ‫را‬‫ﮐﻨﺪ‬.
‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﮐﺎرﺑﺮد‬‫ﻣﺜﺎل‬‫ﺧﺮوﺟﯽ‬
T( )‫ﻣﺤﺎﺳﺒﻪ‬‫ﺗﺮاﻧﻬﺎده‬ ‫ی‬‫ی‬‫ﻣﺎﺗﺮﯾﺲ‬M1 = T(A);
M
 
 
 
 
1
2 3
=
2 4
DET( )‫ﻣﺤﺎﺳﺒﻪ‬‫دﺗﺮﻣﯿﻨﺎ‬ ‫ی‬‫ن‬‫ﻣﺎﺗﺮﯾﺲ‬M٢ = DET(A);
۲
INV( )‫وارون‬‫ﻣﺎﺗﺮﯾﺲ‬M3 = INV(A);
M
 
 
 
 
3
2 -1
=
-1/5 1
DIAG( )
‫ﻣﺤﺎﺳـﺒﻪ‬‫ی‬‫روی‬ ‫از‬ ‫ـﺮی‬‫ـ‬‫ﻗﻄ‬ ‫ـﺎﺗﺮﯾﺲ‬‫ـ‬‫ﻣ‬
‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬
M4 =DIAG(A);
M
 
 
 
 
4
2 0
=
0 4
J(n,m,k)
‫ﻣــــﺎﺗﺮﯾﺲ‬ ‫ﺳــــﺎﺧﺘﻦ‬n m‫ﺑــــﺎ‬
‫ﻣﻮﻟﻔﻪ‬‫ﻫﺎی‬k 
M5 =J(3,2,5);
M
 
 
 
 
 
  
 
5
5 5
5 5=
5 5
I(n)‫ﻫﻤﺎﻧﯽ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺳﺎﺧﺘﻦ‬n nM6 =I(2);M
 
 
 
 
6
1 0
=
0 1
EIGVAL( )‫ﻣﺤﺎﺳﺒﻪ‬‫ی‬‫وﯾ‬‫ﮋ‬‫ه‬‫ﻣﻘﺪارﻫﺎی‬‫ﻣﺎﺗﺮﯾﺲ‬M7=EIGVAL(A)
5.6457513 0
0.3542487 0
EIGVEC( )‫ﻣﺤﺎﺳﺒﻪ‬‫ی‬‫وﯾ‬‫ﮋ‬‫ه‬‫ﺑﺮدارﻫﺎی‬‫ﻣﺎﺗﺮﯾﺲ‬M8=EIGVEC(A)
0.4809652 -0.772178
0.8767397 0.6354064
‫ﺟﺪول‬۱-۳‫ﻣﺎﺗﺮﯾﺴﯽ‬ ‫ﺗﺎﺑﻊ‬ ‫ﭼﻨﺪ‬ ‫ﮐﺎرﺑﺮد‬ ‫از‬ ‫ﻧﻤﺎﯾﺸﯽ‬
۱-۱۲-۳‫آﻣﺎره‬‫در‬ ‫ﺧﻼﺻﻪ‬ ‫ﻫﺎی‬IML
۶۹
‫آﻣﺎره‬ ‫ﺑﺨﻮاﻫﯿﺪ‬ ‫اﮔﺮ‬‫ﺧﻼﺻﻪ‬ ‫ﻫﺎی‬‫را‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫ﺳﺘﻮن‬ ‫ﭼﻨﺪ‬ ‫ﯾﺎ‬ ‫ﯾﮏ‬ ‫ی‬‫ﻣﯽ‬ ‫ﮐﻨﯿﺪ‬ ‫ﻣﺸﺎﻫﺪه‬‫دﺳﺘﻮر‬ ‫از‬ ‫ﺗﻮاﻧﯿﺪ‬SUMMARY
‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ،‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫آن‬ ‫ﮐﻠﯽ‬ ‫ﺷﮑﻞ‬ ‫ﮐﻪ‬.
SUMMARY <VAR { ‫ﺳﺘﻮن‬‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻫﺎی‬ }> <CLASS{ }‫ﺳﺘﻮن‬‫ﻫﺎی‬‫ﮔﺮوه‬‫ﺷﺪه‬ ‫ﺑﻨﺪی‬ > <STAT{ }‫آﻣﺎره‬‫ﻫﺎ‬ >
<WHERE(‫ﺷﺮط‬ ‫ﻋﺒﺎرت‬)>;
‫ﻋﺒﺎرت‬ ‫در‬VAR‫ﺳﺘﻮن‬ ‫ﻧﺎم‬‫را‬ ‫ﻫﺎﯾﯽ‬‫ﻣﯽ‬ ‫ﻧﻮﺷﺘﻪ‬‫ﺷﻮﻧﺪ‬‫ﮐﻪ‬‫آﻣﺎره‬‫ﻫﺎ‬‫ﺧﻼﺻﻪ‬ ‫ی‬‫آن‬ ‫ی‬‫ﻫﺎ‬‫اﺳﺖ‬ ‫ﻣﻮردﻧﻈﺮ‬.‫اﯾـﻦ‬ ‫ﺑﺎﺷﺪ‬ ‫ﻻزم‬ ‫اﮔﺮ‬
‫آﻣﺎره‬‫زﯾﺮﮔﺮوه‬ ‫ﺗﻔﮑﯿﮏ‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫ﺷـﻮ‬ ‫ﻣﺤﺎﺳـﺒﻪ‬ ‫ﺳـﺘﻮن‬ ‫ﭼﻨـﺪ‬ ‫ﯾـﺎ‬ ‫ﯾـﮏ‬ ‫از‬ ‫ﻫﺎﯾﯽ‬‫ﻧ‬‫ﻋﺒـﺎرت‬ ‫در‬ ،‫ﺪ‬CLASS‫ﺳـﺘﻮن‬ ‫ﻧـﺎم‬‫ﮐـﻪ‬ ‫ﻫـﺎﯾﯽ‬
‫ﮔﺮوه‬‫را‬ ‫ﻫﺴﺘﻨﺪ‬ ‫ﺷﺪه‬ ‫ﺑﻨﺪی‬‫ﻣﯽ‬ ‫ﻧﻮﺷﺘﻪ‬ ،‫ﺷﻮﻧﺪ‬.‫آﻣﺎره‬ ‫دﺳﺘﻮر‬ ‫اﯾﻦ‬‫را‬ ‫ﻣﺨﺘﻠﻔﯽ‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫ﻣﺤﺎﺳﺒﻪ‬‫ﻋﻤﺪه‬ ‫ﮐﻪ‬ ‫ﮐﻨﺪ‬‫آن‬ ‫ﺗـﺮﯾﻦ‬‫در‬ ‫ﻫـﺎ‬
‫زﯾﺮ‬ ‫ﺟﺪول‬‫ﺷﺪه‬ ‫ﻣﻌﺮﻓﯽ‬‫اﻧﺪ‬.
‫آﻣﺎره‬ ‫ﺷﺮح‬‫آﻣﺎره‬
‫ﻣﺠﻤﻮع‬‫ﺗﻮان‬‫ﻫﺎی‬‫ﺗﺼﺤﯿﺢ‬‫ﺷﺪه‬ CSS 
‫ﻣﻘﺪار‬‫ﻣﺎﮐﺴﯿﻤﻢ‬ MAX 
‫ﻣﯿﺎﻧﮕﯿﻦ‬ MEAN 
‫ﻣﻘﺪار‬‫ﻣﯿﻨﯿﻤﻢ‬ MIN 
‫ﻣﺸﺎﻫﺪه‬ ‫ﺗﻌﺪاد‬‫ﻫﺎ‬ N 
‫ﻣﺸﺎﻫﺪه‬ ‫ﺗﻌﺪاد‬‫ﮔﻢ‬ ‫ﻫﺎی‬‫ﺷﺪه‬ NMISS
‫اﺳﺘﺎﻧﺪارد‬ ‫اﻧﺤﺮاف‬ STD 
‫ﻣﺠﻤﻮع‬SUM 
‫ﻣﺠﻤﻮع‬‫ﺗﻮان‬‫دوم‬ ‫ﻫﺎی‬‫ﺗﺼﺤﯿﺢ‬‫ﻧﺸﺪه‬USS 
‫وارﯾﺎﻧﺲ‬ VAR 
‫ﺟﺪول‬۱-۴
‫ﻋﺒﺎرت‬ ‫اﮔﺮ‬STAT‫آﻣﺎره‬ ‫و‬‫ﻣﺸﺨﺺ‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻫﺎی‬‫ﻧﺸﻮﻧﺪ‬،SAS‫ﺑﻪ‬‫ﭘـﯿﺶ‬ ‫ﺻﻮرت‬‫آﻣـﺎره‬ ‫ﻓـﺮض‬‫ﻫـﺎی‬MAX،MEAN،
MIN‫و‬ ،STD‫را‬‫و‬ ‫ﻣﺤﺎﺳﺒﻪ‬‫ﻣﯽ‬ ‫ﭼﺎپ‬‫ﮐﻨﺪ‬.
‫از‬‫ﮔﺰﯾﻨﻪ‬‫ی‬WHERE‫اﺳﺘﻔﺎده‬ ‫وﻗﺘﯽ‬‫ﻣﯽ‬‫ﺷﻮد‬‫ﮐﻪ‬‫ﺑﺨﻮاﻫﺪ‬ ‫ﮐﺎرﺑﺮ‬‫اﻧﺠـﺎم‬ ‫ﺟﺎﻣﻌـﻪ‬ ‫از‬ ‫ﺑﺨﺸـﯽ‬ ‫ﺑـﺮای‬ ‫ﺗﻨﻬـﺎ‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫دﺳﺘﻮر‬
‫ﺷﻮد‬.‫در‬ ‫ﺷﺮﻃﯽ‬ ‫ﻋﺒﺎرت‬ ‫ﻧﻮﺷﺘﻦ‬ ‫ﺑﺎ‬ ،‫ﻟﺬا‬‫ﻣﻘﺎﺑﻞ‬WHERE‫ﻣﺤﺎﺳﺒﻪ‬‫آﻣﺎره‬ ‫ی‬‫ﺧﻼﺻـﻪ‬ ‫ﻫﺎی‬‫ﺑﺨـﺶ‬ ‫زﯾـﺮ‬ ‫ﻫﻤـﺎن‬ ‫ﺑـﻪ‬ ‫ﻣﺤـﺪود‬
‫ﻣﯽ‬‫ﺷﻮد‬.
۷۰
‫ﻣﺜﺎل‬۱-۲۷‫ﺑﺮﻧﺎﻣﻪ‬‫آﻣﺎره‬ ،‫زﯾﺮ‬ ‫ی‬‫اﺳﺘﺎﻧﺪارد‬ ‫اﻧﺤﺮاف‬ ‫و‬ ‫ﻣﯿﺎﻧﮕﯿﻦ‬ ‫ﻫﺎی‬‫را‬‫ﺑﺮای‬‫ﻣﺘﻐﯿﺮﻫﺎی‬‫و‬ ‫ﻗﺪ‬‫وز‬‫داﻧﺶ‬ ‫ن‬‫ﺑـﻪ‬ ‫آﻣـﻮزان‬
‫ﺑﺮﻣﯽ‬ ‫را‬ ‫ﺟﻨﺲ‬ ‫ﺗﻔﮑﯿﮏ‬‫ﮔﺮداﻧﺪ‬:
PROC IML;
USE sashelp.class;
SUMMARY VAR{height weight} CLASS{sex} STAT{MEAN STD};
QUIT;
‫ﺧﺮوﺟﯽ‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﯾﻦ‬.
SEX Nobs Variable MEAN STD
-------------------------------------------
F
F 9 HEIGHT 60.58889 5.01833
WEIGHT 90.11111 19.38391
M
M 10 HEIGHT 63.91000 4.93794
WEIGHT 108.95000 22.72719
All
All 19 HEIGHT 62.33684 5.12708
WEIGHT 100.02632 22.77393
-------------------------------------------
‫ﺷﮑﻞ‬۱-۱۲‫ﺧﺮوﺟﯽ‬‫ﻣﺜﺎل‬۱-۲۷
‫دوم‬ ‫ﺳﺘﻮن‬ ‫در‬‫ﺧﺮوﺟﯽ‬،Nobs‫ﮔﺮوه‬ ‫زﯾﺮ‬ ‫ﻫﺮ‬ ‫ﺗﻔﮑﯿﮏ‬ ‫ﺑﻪ‬ ‫ﻣﺸﺎﻫﺪات‬ ،‫ﻣـﯽ‬ ‫را‬‫دﻫـﺪ‬‫در‬ ‫ﻫﻤـﻮاره‬ ‫ﮐـﻪ‬‫ﺧﺮوﺟـﯽ‬‫دﺳـﺘﻮر‬ ‫اﯾـﻦ‬
‫ﻣﯽ‬ ‫ﭼﺎپ‬‫ﺷﻮد‬.
۱-۱۲-۴‫ﺳﺎﺧﺘﻦ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫در‬IML
‫ﻣﺎﺗﺮﯾﺲ‬ ‫دارﯾﻢ‬ ‫ﻧﯿﺎز‬ ‫ﮔﺎﻫﯽ‬‫ﺷﯿﻮه‬ ‫در‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫ی‬IML‫ﺳﺎﺧﺘﻪ‬‫ﻣﯽ‬‫ﺷﻮ‬‫ﻧ‬‫ﯾـﮏ‬ ‫ﺻـﻮرت‬ ‫ﺑﻪ‬ ‫را‬ ‫ﺪ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫در‬
‫ﺑﺎﺷﯿﻢ‬ ‫داﺷﺘﻪ‬ ‫اﺧﺘﯿﺎر‬.‫ﻣﺜﺎل‬ ‫ﺑﺮای‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫اﯾﺠﺎد‬‫ﺷﺪه‬‫در‬IML‫ﺷﯿﻮه‬ ‫ﺳﺎﯾﺮ‬ ‫در‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺮای‬‫ﻫﺎ‬‫ی‬SAS‫ﻣﻮرد‬
‫ﻫﺴﺘﻨﺪ‬ ‫ﻧﯿﺎز‬.‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺑﺮای‬ ‫ﺑﺎﯾﺪ‬ ،‫اﯾﻦ‬ ‫ﺑﺮ‬ ‫ﺑﻨﺎ‬‫ﻫﺎی‬‫اﯾﺠﺎد‬‫ﺑﺎ‬ ‫ﻣﻄﺎﺑﻖ‬ ‫ﻧﺎم‬ ‫ﯾﮏ‬ ،‫ﺷﺪه‬‫ﻗﺎﻋﺪه‬‫ی‬‫ﻧﺎم‬‫و‬ ‫ﮐـﺮده‬ ‫اﻧﺘﺨـﺎب‬ ‫ﮔـﺬاری‬
‫ﺳﺘﻮن‬ ‫ﺑﺮای‬‫در‬ ‫ﮐﻪ‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻫﺎی‬‫ﻣﺠﻤﻮﻋﻪ‬‫ی‬‫داده‬‫ﻫﺎ‬‫ﻣﺘﻐﯿﺮ‬ ‫ﺟﺪﯾﺪ‬ ‫ی‬‫ﻫﺴـﺘﻨﺪ‬ ‫ﻫـﺎ‬‫ﻧـﺎم‬ ‫ﻧﯿـﺰ‬‫اﻧﺘ‬ ‫ﻫـﺎﯾﯽ‬‫ﺨـ‬‫ﺎب‬‫ﮐـﺮد‬.
‫زﯾﺮ‬ ‫دﺳﺘﻮر‬‫ﻣﺎﺗﺮ‬ ‫ﯾﮏ‬‫ﯾ‬‫ﺲ‬‫ﺷﯿﻮه‬ ‫در‬‫ی‬IML‫را‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬ ‫ﺑﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﻣﯽ‬ ‫ﺗﺒﺪﯾﻞ‬‫ﮐﻨﺪ‬:
CREATE ‫ﻧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺟﺪﯾﺪ‬ ‫ی‬ FROM ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻧﺎم‬
<[COLNAME= ‫ﺳ‬ ‫ﻧﺎم‬ ‫ﺑﺮدار‬‫ﺘﻮن‬‫ﻫﺎ‬ ROWNAME=‫ﺳﻄﺮﻫﺎ‬ ‫ﻧﺎم‬ ‫ﺑﺮدار‬]>;
APPEND FROM ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻧﺎم‬ ;
۷۱
‫ﻣﺜﺎل‬۱-۲۸‫ﻣﯽ‬ ‫ﮐﻨﯿﺪ‬ ‫ﻓﺮض‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺧﻮاﻫﯿﻢ‬women‫را‬‫ﺑﺨﺶ‬ ‫در‬ ‫ﮐﻪ‬۱-۱۱-۱‫ﺷـﺪ‬ ‫ﺳﺎﺧﺘﻪ‬،‫ﯾـﮏ‬ ‫ﺑـﻪ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫ی‬
‫داده‬‫ﻫﺎ‬‫ی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬stuwomen‫ﺳﺘﻮن‬ ‫و‬ ‫ﮐﻨﯿﻢ‬ ‫ﺗﺒﺪﯾﻞ‬‫آن‬ ‫ﻫﺎی‬‫را‬‫ﺗﺮﺗﯿﺐ‬ ‫ﺑﻪ‬we‫و‬he‫ﻧﺎم‬‫ﮐﻨﯿﻢ‬ ‫ﮔﺬاری‬.
PROC IML;
USE sashelp.class;
Read ALL VAR{height, weight} INTO women WHERE(sex = 'F');
name = {we, he};
CREATE stuwomen FROM women [COLNAME = name];
APPEND FROM women;
QUIT;
‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﺟﺮای‬ ‫ﺑﺎ‬‫ی‬‫ﺑﺎﻻ‬‫ﻣﺠﻤﻮﻋﻪ‬ ،‫ی‬‫داده‬‫ﻫﺎﯾﯽ‬‫ﻧﺎم‬ ‫ﺑﻪ‬stuwomen‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬ ‫در‬‫ی‬Work‫ا‬‫ﺷﺪ‬ ‫ﺧﻮاﻫﺪ‬ ‫ﯾﺠﺎد‬.
‫اﯾﻦ‬ ‫در‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺑﺎ‬ ‫ﮐﺎر‬ ‫ﻣﻘﺪﻣﺎت‬ ،‫ﺑﺨﺶ‬‫ﻫﺎ‬‫اراﺋﻪ‬‫ﺷﺪ‬‫ﺗﺤﻠﯿﻞ‬ ‫از‬ ‫ﺑﺴﯿﺎری‬ ‫اﻧﺠﺎم‬ ‫ﭼﻨﺪ‬ ‫ﻫﺮ‬ ،‫ﺑﯽ‬ ‫آﻣﺎری‬ ‫ﻫﺎی‬‫ﺷـﯿﻮه‬ ‫از‬ ‫ﻧﯿﺎز‬‫ی‬
IML‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺑﺎ‬ ‫ﮐﺮدن‬ ‫ﮐﺎر‬ ‫اﻫﻤﯿﺖ‬ ‫اﻣﺎ‬ ‫اﺳﺖ‬‫آﻣـﺎری‬ ‫ﭘﯿﺸـﺮﻓﺘﻪ‬ ‫ﻣﺴـﺎﺋﻞ‬ ‫در‬ ‫ﻏﺎﻟﺒـﺎ‬ ‫ﻫـﺎ‬‫زﯾـﺮ‬ ‫ﻣﺜـﺎل‬ ‫ﻣﺎﻧﻨـﺪ‬‫ﻧﺸـﺎن‬ ‫را‬ ‫ﺧـﻮد‬
‫ﻣﯽ‬‫دﻫﺪ‬.
‫ﻣﺜﺎل‬۱-۲۹‫ﺗﺎﺑﻊ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬‫ﻫﺎی‬‫ﺗﻌﺮﯾﻒ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺑﺮای‬ ‫را‬ ‫ﮐﺎﭘﺎ‬ ‫ﺿﺮﯾﺐ‬ ‫ﺷﺪه‬X‫ﺑﻪ‬‫ﻣﯽ‬ ‫دﺳﺖ‬‫آورﯾﻢ‬.
PROC IML;
/* Enter table of counts */
x = {17 4 8,
5 12 0,
10 3 13};
/* compute number of rows and columns for x */
nr = NROW(x);
nc = NCOL(x);
/* compute row and column totals */
xr = x(|, +|);
xc = x(|+, |);
/* compute table of expected counts for independent
randomgrement */
e = xr * xc;
/* compute overall total count */
t = SUM(x);
/* compute kappa */
۷۲
k1 = SUM(DIAG(x)) / t;
k2 = SUM(DIAG(e)) / (t ** 2);
K3 = SUM(DIAG(x) * DIAG(xr + t(xc))) / (t ** 2);
j1 = J(1, nr);
j2 = J(nc, 1);
tt1 = ((t(xc) * j1 + j2 * t(xr)) ## 2) # X;
k4 = SUM(tt1) / (t ** 3);
kappa = (k1 - k2) / (1 - K2);
/* print results */
PRINT , , kappa;
QUIT;
‫ﺧﺮوﺟﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﺿﺮﯾﺐ‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫ﻋﺪد‬ ‫ﯾﮏ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﺑﺎﻻ‬ ‫ی‬‫دﻫﺪ‬.‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺑﺮای‬X‫ﺑـﺎ‬ ‫ﺑﺮاﺑـﺮ‬ ‫ﮐﺎﭘﺎ‬ ‫ﺿﺮﯾﺐ‬
۳۶۲۳/۰‫اﺳﺖ‬.
۷۳
‫ﺗﻤﺮﯾﻦ‬‫ﻫﺎ‬
۱-‫داده‬ ‫ﺑﺮدار‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎی‬‫ای‬‫ﯾ‬‫ﮏ‬‫ﮔﺎم‬DATA‫ی‬SAS‫ﻣﺘﻐ‬ ‫دارای‬‫ﯿ‬‫ﺮﻫﺎ‬‫ﯾ‬‫ز‬ ‫ﻣﻘﺪارﻫﺎی‬ ‫ﺑﺎ‬ ‫ﯽ‬‫ﯾ‬‫اﺳﺖ‬ ‫ﺮ‬:
Code='VLC' 
Size='M' 
V1=2 
V2=3 
V3=7 
V4= . 
‫ﻧﺘ‬‫ﯿ‬‫ﺠﻪ‬‫ی‬‫ﻋﺒﺎرت‬‫ز‬ ‫ﻫﺎی‬‫ﯾ‬‫ﺗﻌ‬ ‫را‬ ‫ﺮ‬‫ﯿﯿ‬‫ﮐﻨ‬ ‫ﻦ‬‫ﯿ‬‫ﺪ‬:
a. (V1 + V2 – V3)/3 
b. V3 – V2 / V1 
c. V1V2 – V3 
d. V2 V3/V1 
e. V1 2 + V2 2 
f. code = ‘VLc’   
g. code = ‘VLc’ & Size = ‘M’  
h. code = ‘VLc’ | Size = ‘M’ 
i. code = ‘cLV’ & V4 = . 
j. ( V3 = . ) + ( V2 = 3)  
k. ( V1 + V2 + V3 )^ = 12 
l. code = ‘ VLc’ | (size = ‘M’ & V1=3) 
m. 3 < V2 < 5 
‫راﻫﻨﻤﺎ‬‫ﯾ‬‫ﯽ‬:‫ﺑ‬ ‫ﺧﺎﻃﺮ‬ ‫ﺑﻪ‬‫ﯿ‬‫ﺎور‬‫ﯾ‬‫ﻋﺒﺎ‬ ‫ﮐﻪ‬ ‫ﺪ‬‫رت‬‫ﺣﺎﻟﺖ‬ ‫ﺑﺮای‬ ‫ﻣﻨﻄﻘﯽ‬ ‫ﻫﺎی‬'True'‫ﻣﻘﺪار‬‫ﯾـ‬‫ﺣﺎﻟـﺖ‬ ‫ﺑـﺮای‬ ‫و‬ ‫ﮏ‬'False'‫ﻣﻘـﺪار‬
‫ﻣﯽ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫ﺻﻔﺮ‬‫ﮔ‬‫ﯿ‬‫ﺮﻧﺪ‬.
۲-‫ﯾ‬‫ﮏ‬‫ﮔﺎم‬DATA‫داده‬ ‫ﺧﻄﻮط‬ ،‫ز‬ ‫ﻫﺎی‬‫ﯾ‬‫ﻣﯽ‬ ‫را‬ ‫ﺮ‬‫ﺧﻮاﻧﺪ‬.
1b b 1.1b 2b 2.1b 3b 3.1 
4.b 4.1 
5. 
۷۴
5.1 
 
‫ﺷﮑﻞ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﺻﻮرﺗﯽ‬ ‫در‬‫ﻋﺒﺎرت‬ ‫ﮐﻪ‬INPUT‫ﮔﺎم‬DATA‫ﯾ‬‫ﺣﺎﻟﺖ‬ ‫از‬ ‫ﮑﯽ‬‫ز‬ ‫ﻫﺎی‬‫ﯾ‬‫ﭼ‬ ،‫ﺑﺎﺷﺪ‬ ‫ﺮ‬‫ﯿ‬‫ﺴﺖ؟‬
a.  input x y; 
b.  input x y @@; 
c.  input x;
d. input x y z;
‫ﺗﺬﮐﺮ‬:‫ﻧﻤﺎد‬b‫ﻧﻤﺎ‬‫ﯾ‬‫ﻨﺪه‬‫اﺳﺖ‬ ‫ﺧﺎﻟﯽ‬ ‫ﺳﺘﻮن‬ ‫ی‬.
۳-‫ﻫﺮ‬ ‫در‬‫ﯾ‬‫ﺣﺎﻟﺖ‬ ‫از‬ ‫ﮏ‬‫ز‬ ‫ﻫﺎی‬‫ﯾ‬‫ﻣﺸﺎﻫﺪه‬ ‫ﺮ‬‫ﻫـﺎ‬‫ﯾ‬‫در‬ ‫ﮐـﻪ‬ ‫را‬ ‫ﯽ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫داده‬ ‫ﺧﻄـﻮط‬ ‫وﻗﺘـﯽ‬ ،‫ﺗﻮﺳـﻂ‬ ‫ﻫـﺎ‬
‫ﻋﺒﺎرت‬INPUT‫ﻣﯽ‬ ‫ﺧﻮاﻧﺪه‬‫ﺷﻮد‬‫ﺳﭙﺲ‬ ‫و‬‫ﻣﯽ‬ ‫ﻧﻮﺷﺘﻪ‬‫ﺷﻮ‬‫ﻧ‬‫دﻫ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﺪ‬‫ﯿ‬‫ﺪ‬)‫ﻣﺘﻐ‬ ‫ﻧـﺎم‬‫ﯿ‬‫داده‬ ‫ﻣﻘـﺪار‬ ‫و‬ ‫ﺮﻫـﺎ‬‫ﺑـﺎ‬ ‫ﻣﺘﻨـﺎﻇﺮ‬ ‫ای‬
‫آن‬‫ﻫﺎ‬.(
A. INPUT id gender $ age height weight;
101 b M b 23 b 68 b 155
102 b F b . b 61 b b 102
103 b b M b b 55 b b b 70 b b b 202
 
B. INPUT id dob : mmddyy8. dx;
1 b 10/21/86 b 256.20
2 b 9/15/84 b 232.4
 
C. INPUT id $ 1-4 @8 pulse 3. +2 weight 4.1 pushups;
L4WP236 b 85 b 92517 b 28
M5XQ b 47 b b b b b 1423 b 32
  b b b b 158 b 79 b 81145 b 19 
 
D. INPUT name : $12. Age 2. Income 6.2;
Ahmadi b 26 b 53740
Hoseinzadehha b 34276520
۴-‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﯾ‬‫ﯽ‬‫ﻋﻨﻮان‬ ‫ﺗﺤﺖ‬PROB_4.DAT‫آدرس‬ ‫در‬“C:TEMPDATA”‫ذﺧ‬‫ﯿ‬‫اﺳـﺖ‬ ‫ﺷﺪه‬ ‫ﺮه‬.‫ﺑﺮﻧﺎﻣـﻪ‬‫ا‬‫ی‬
‫ﺑﺎ‬‫ﮐ‬‫ﺪ‬SAS‫ﺑﻨﻮ‬‫ﯾ‬‫ﺴ‬‫ﯿ‬‫ﺗﺎ‬ ‫ﺪ‬‫ﯾ‬‫ﮏ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫داﺋﻤ‬‫ﯽ‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬PROB_4‫در‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ی‬DATASETS‫ﺑﺴﺎزد‬.‫ﺑـﻪ‬
‫ﻋﻼوه‬‫ﯾ‬‫ﮏ‬‫ﺧﺮوﺟ‬‫ﯽ‬‫ﺑﮕ‬ ‫آن‬ ‫از‬‫ﯿ‬‫ﺮ‬‫ﯾ‬‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫ﺪ‬‫ی‬‫ﮐ‬‫ﻪ‬:
‫اﻟﻒ‬(‫ﺧﺮوﺟ‬‫ﯽ‬‫آدرس‬ ‫در‬“A:OUTPUT”‫ﺻﻮرت‬ ‫ﺑﻪ‬HTML‫ذﺧ‬‫ﯿ‬،‫ﺷﻮد‬ ‫ﺮه‬
۷۵
‫ب‬(‫ﺑ‬‫ﻣﻘﺎد‬ ‫ﻪ‬‫ﯾ‬‫ﻣﺘﻐ‬ ‫ﺮ‬‫ﯿ‬‫ﺮ‬SEX‫ﺑﺮﭼﺴﺐ‬‫ﻫﺎ‬‫ی‬FEMALE→F‫و‬MALE→M،‫ﺷﻮد‬ ‫داده‬ ‫ﻧﺴﺒﺖ‬
‫پ‬(‫ﺗﺎر‬ ‫ﺷﺎﻣﻞ‬‫ﯾ‬،‫ﻧﺒﺎﺷﺪ‬ ‫ﺦ‬
‫ت‬(‫ﺷﻤﺎره‬‫ی‬‫ﺧﺮوﺟ‬ ‫در‬ ‫ﺻﻔﺤﻪ‬‫ﯽ‬‫از‬۱،‫ﺷﻮد‬ ‫ﺷﺮوع‬
‫ح‬(‫ﺗﺮﺗ‬‫ﯿ‬‫ﻣﺘﻐ‬ ‫ﺐ‬‫ﯿ‬‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﺮﻫﺎ‬NAME،SEX،۲X‫و‬۱X‫و‬ ،‫ﺑﺎﺷﺪ‬
‫د‬(‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮ‬id‫ﻣﺘﻐ‬‫ﯿ‬‫ﺷﻨﺎﺳﺎ‬ ‫ﺮ‬‫ﯾ‬‫ﺑﺎﺷﺪ‬ ‫ﯽ‬.
‫داده‬‫ا‬ ‫ﻫﺎی‬‫ﯾ‬‫ﭘﯿﻮﺳﺖ‬ ‫در‬ ‫ﻣﺴﺌﻠﻪ‬ ‫ﻦ‬۱‫ﻧﺎ‬ ‫ﺑﺎ‬‫م‬PROB_4.DAT‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫آورده‬.
۵-‫ﺧﺮوﺟﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﺟﺮای‬ ‫از‬ ‫ﻧﺎﺷﯽ‬‫ی‬SAS‫ز‬‫ﯾ‬‫ﺗﺮﺳ‬ ‫را‬ ‫ﺮ‬‫ﯿ‬‫ﮐﻨ‬ ‫ﻢ‬‫ﯿ‬‫ﺪ‬.‫ﺟﺮ‬‫ﯾ‬‫ﻋﻤﻠ‬ ‫ﺎن‬‫ﯿ‬‫ﮐـﻪ‬ ‫را‬ ‫ﺎﺗﯽ‬‫ﮔـﺎم‬DATA‫ا‬ ‫ﺑـﺮای‬‫ﯾ‬‫ا‬ ‫ﺠـﺎد‬‫ﯾـ‬‫ﻦ‬
‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﻣﯽ‬ ‫ﻃﯽ‬‫ﺗﺸﺮ‬ ،‫ﮐﻨﺪ‬‫ﯾ‬‫ﮐﻨ‬ ‫ﺢ‬‫ﯿ‬‫ﺪ‬.
DATA SET1;
INPUT score@@;
IF score>50 THEN DO;
control ='y';
index=score-50;
END;
ELSE IF score<=50 THEN DO;
control='n';
END;
DATALINES;
47 49 50 52 58 .
;
RUN;
۶-‫ﻣﺘﻐ‬ ‫ﻣﻘﺪارﻫﺎی‬‫ﯿ‬‫ﺮ‬kilometers‫در‬ ‫ﮐﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬distance‫ذﺧ‬‫ﯿ‬‫ﻣﯽ‬ ‫ﺮه‬‫دﻫ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﺷﻮد‬‫ﯿ‬‫ﺪ‬.
DATA distance;
INPUT kilometers 5.2;
DATALINES;
1
12
123
1234
12345
1.
1.2
12.
123.4
;
RUN;
۷۶
۷-‫ﯾ‬‫ﮏ‬‫ﮔﺎم‬DATA‫ی‬SAS‫ﺑﻨﻮ‬‫ﯾ‬‫ﺴ‬‫ﯿ‬‫ﮐﻪ‬ ‫ﺪ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬corn‫ﻣﺘﻐ‬ ‫ﺑـﺎ‬‫ﯿ‬‫ﺮﻫـﺎی‬variety‫و‬yield ‫ﺑـﺎ‬
‫داده‬‫ز‬ ‫ورودی‬ ‫ﻫﺎی‬‫ﯾ‬‫ا‬ ‫ﺮ‬‫ﯾ‬‫ﮐﻨﺪ‬ ‫ﺠﺎد‬.
A b 24.2b b Bb 31.5b b B b 32.0b b Cb 43.9 
Cb 45.2b b A b 21.8 
B b 36.1b b Ab 27.2b b C b 34.6 
 
۸-‫ﮔﺎم‬DATA‫ی‬SAS‫ز‬‫ﯾ‬‫ﺑﮕ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫ﺮ‬‫ﯿ‬‫ﺮ‬‫ﯾ‬‫ﺪ‬:
DATA set1;
INPUT type c1 c2;
DATALINES;
4 0 1
6 2 1
. 0 0
;
PROC PRINT;
RUN;
 
‫ﻋﺒﺎرت‬ ‫از‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻫﺮ‬ ‫اﮔﺮ‬‫ز‬ ‫ﻫﺎی‬‫ﯾ‬‫ﺑ‬ ‫ﺮ‬‫ﯿ‬‫ﻋﺒﺎرت‬ ‫ﻦ‬‫ﻫﺎی‬INPUT‫و‬DATALINES‫ﮔ‬ ‫ﻗﺮار‬‫ﯿ‬‫را‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫اﺟﺮای‬ ‫ﺧﺮوﺟﯽ‬ ،‫ﺮﻧﺪ‬
‫ﻧﻤﺎ‬‫ﯾ‬‫دﻫ‬ ‫ﺶ‬‫ﯿ‬‫ﺪ‬.
A. index = (2C1) + C2;
 
B. IF type <= 5 THEN DO;
index = (2C1) + C2;
OUTPUT;
END;
 
C. IF type <= 5 THEN DO;
index = (2C1) + C2;
END;
ELSE DELETE;
 
D. IF type > 5 THEN DELETE; 
 
E. IF type > 5 THEN DELETE;
index = (2C1) + C2;

Sas1

  • 1.
    ‫ﺗﻌﺎﻟ‬ ‫ﺑﺴﻤﻪ‬‫ﯽ‬ ‫روش‬‫ﻫﺎ‬‫ی‬‫آﻣﺎر‬‫ی‬‫ﺗﺤﻠ‬ ‫و‬‫ﯿ‬‫داده‬‫ﻞ‬‫ﺑﺎ‬ ‫ﻫﺎ‬ ‫ﻧﺮم‬‫اﻓﺰار‬SAS ‫ﻧﻮ‬‫ﯾ‬‫ﺴﻨﺪﮔﺎن‬: ‫ﺣﻤ‬‫ﯿ‬‫ﻧﻮاب‬ ‫ﺪرﺿﺎ‬‫ﭘﻮر‬ ‫آﺳ‬‫ﯿ‬‫ﻋﺒﺎﺳ‬ ‫ﻪ‬‫ﯽ‬ ‫رﻧﺠ‬ ‫ﺣﺴﻦ‬‫ﯽ‬ ‫ﻣﻬﺮ‬۱۳۸۹
  • 2.
    ۲ ‫ﻓﺼﻞ‬۱:‫آﺷﻨﺎ‬‫ﯾﯽ‬‫ﻧﺮم‬ ‫ﺑﺎ‬‫اﻓﺰار‬SAS ۱-۱‫آﺷﻨﺎﯾﯽ‬ ۱-۲‫ﺳﺎﻣﺎﻧﻪ‬ ‫ﮐﺮدن‬‫ﻓﻌﺎل‬‫ی‬SAS ۱-۲-۱‫ﭘﻨﺠﺮه‬‫ی‬Editor ۱-۲-۲‫ﭘﻨﺠﺮه‬‫ی‬Log ۱-۲-۳‫ﭘﻨﺠﺮه‬‫ی‬Output ۱-۲-۴‫ﭘﻨﺠﺮه‬‫ﻫﺎی‬Explorer‫و‬Results ۱-۲-۵‫ﭘﻨﺠﺮه‬‫ی‬Graph ۱-۳‫ﻗﺎﻋﺪه‬‫ﭘﺎﯾﻪ‬ ‫دﺳﺘﻮری‬ ‫ﺷﮑﻞ‬ ‫و‬ ‫ﻫﺎ‬‫ای‬SAS ۱-۴‫ﮔﺎم‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎی‬‫ای‬SAS ۱-۴-۱‫ﮔﺎم‬DATA ۱-۴-۲‫ﮔﺎم‬PROC ۱-۵‫ﮔﺎم‬DATA ۱-۵-۱‫ﻋﺒﺎرت‬‫ﮔﺎم‬ ‫ﺑﺎ‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬DATA‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬‫روﻧﺪ‬ ۱-۵-۱-۱‫ﻋﺒﺎرت‬INPUT ۱-۵-۱-۲‫ﻋﺒﺎرت‬‫اﻧﺘﺴﺎب‬ ‫ﻫﺎی‬ ۱-۵-۱-۳‫ﺷﺮﻃﯽ‬ ‫اﺟﺮاﻫﺎی‬ ۱-۵-۱-۴‫ﻣﺤﺎﺳﺒﻪ‬‫ﻣﮑﺮر‬ ‫ﻫﺎی‬ ۱-۵-۲‫ﺗﺎﺑﻊ‬‫ﻫﺎی‬SAS  ۱-۶‫ﻧﻮﯾﺴﻪ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬‫ﻋﺒﺎرت‬ ‫در‬ ‫وﯾﮋه‬ ‫ﻫﺎی‬INPUT ۱-۶-۱‫ﮐﻨﺘﺮﻟﯽ‬ ‫ﻧﺸﺎﻧﮕﺮﻫﺎی‬ ۱-۶-۲‫ﻣﺸﺨﺺ‬‫ﺳﻄﺮﻧﮕﻬﺪار‬ ‫ﮔﺮ‬@ ۱-۶-۳‫ﻣﺸﺨﺺ‬‫ﺧﻂ‬ ‫ﮔﺮ‬‫ﻧﮕﻬﺪار‬@@ ۱-۶-۴‫ﮐﻨﻨﺪه‬ ‫ﮐﻨﺘﺮل‬ ‫ﻧﺸﺎﻧﮕﺮ‬‫ﺳﻄﺮ‬ ‫ی‬ ۱-۷‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫داﺋﻤ‬‫ﯽ‬SAS ۱-۷-۱‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬ ‫ﺳﺎﺧﺘﻦ‬ ۱-۷-۲‫اﯾﺠﺎد‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫داﺋﻤ‬‫ﯽ‬ SAS
  • 3.
    ۳ ۱-۷-۳‫ﻋﺒﺎرت‬INFILE ۱-۸‫ﮔﺎم‬PROC ۱-۸-۱‫ﻣﺸﺨﺺ‬‫ﮔﺰﯾﻨﻪ‬ ‫ﺳﺎزی‬‫ﻋﺒﺎرت‬ ‫در‬‫ﻫﺎ‬PROC ۱-۸-۲‫ﻋﺒﺎرت‬‫ﺷﯿﻮه‬ ‫ﺑﻪ‬ ‫اﻃﻼﻋﺎت‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫ﻣﯽ‬‫دﻫﻨﺪ‬ ۱-۸-۳‫ﻋﺒﺎرت‬‫ﻣﺘﻐﯿﺮ‬ ‫وﯾﮋﮔﯽ‬ ‫ﻫﺎی‬ ۱-۹‫ﻋﺒﺎرت‬‫ﻣﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺟﺎی‬ ‫ﻫﺮ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫آﯾﻨﺪ‬ ۱-۹-۱‫ﻋﺒﺎر‬‫ت‬ TITLE  ۱-۹-۲‫ﻋﺒﺎرت‬ FOOTNOTE  ۱-۹-۳‫ﻋﺒﺎرت‬ OPTIONS ۱-۹-۴‫ﻋﺒﺎرت‬ GOPTIONS ۱-۱۰‫ﻣﺪﯾﺮﯾﺖ‬‫ﺧﺮوﺟﯽ‬‫ﻫﺎ‬‫ی‬SAS ۱-۱۰-۱LISTING ۱-۱۰-۲RTF ۱-۱۰-۳PRINTER ۱-۱۰-۴HTML ۱-۱۰-۵PDF ۱-۱۰-۶OUTPUT ۱-۱۱‫ﺗﺒﺪﯾﻞ‬‫داده‬‫ﻧﺮم‬ ‫ﺳﺎﯾﺮ‬ ‫ﻫﺎی‬‫اﻓﺰارﻫﺎ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬‫ی‬‫داده‬‫ﻫﺎی‬SAS ۱-۱۱-۱‫ﺷﯿﻮه‬‫ی‬IMPORT ۱-۱۱-۲‫ﺷﯿﻮه‬‫ی‬EXPORT ۱-۱۱-۳‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺗﺒﺪﯾﻞ‬‫داده‬ ‫ی‬‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬‫ﻣﻨﻮﻫﺎ‬   ۱-۱۲‫ﻣﺤﺎوره‬ ‫ﻣﺎﺗﺮﯾﺴﯽ‬ ‫زﺑﺎن‬‫ای‬SAS ۱-۱۲-۱‫اﺳﮑﺎﻟﺮ‬ ‫ﯾﺎ‬ ‫ﺑﺮدار‬ ،‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫ﺗﻌﺮﯾﻒ‬ ۱-۱۲-۲‫ﻋﻤﻞ‬‫ﮔﺮ‬‫و‬ ‫ﻫﺎ‬‫ﺗﺎﺑﻊ‬‫ﻫﺎی‬‫ﻣﺎﺗﺮﯾﺴﯽ‬ ۱-۱۲-۳‫آﻣﺎره‬‫در‬ ‫ﺧﻼﺻﻪ‬ ‫ﻫﺎی‬IML ۱-۱۲-۴‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺳﺎﺧﺘﻦ‬‫ﻫﺎی‬‫داده‬‫ا‬‫ی‬‫در‬IML  
  • 4.
    ۴   ۱-۱‫آﺷﻨﺎ‬‫ﯾﯽ‬ ‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬‫ﺗﺤﻠ‬‫ﯿ‬‫آﻣﺎر‬ ‫ﻞ‬‫ی‬)SAS( ۱ ‫ﯾ‬‫ﮏ‬‫ﺑﺴﺘﻪ‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬‫ا‬‫ی‬‫را‬‫ﯾ‬‫ﺎﻧﻪ‬‫ا‬‫ی‬‫ﺑﺮا‬‫ی‬‫ﺗﺤﻠ‬ ‫اﻧﺠﺎم‬‫ﯿ‬‫ﻞ‬‫ﻫـﺎ‬‫ی‬‫آﻣـﺎر‬‫ی‬‫داده‬‫اﺳـﺖ‬‫ﻫـﺎ‬.‫ا‬‫ﯾـ‬‫ﻦ‬ ‫دارا‬ ‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬‫ﻣﺠﻤﻮﻋﻪ‬‫ا‬‫ی‬‫از‬‫ﺷﯿﻮه‬‫ﻫﺎ‬‫ﺑﺮا‬‫ی‬‫ﺗﺤﻠ‬‫ﯿـ‬‫داده‬ ‫ﻞ‬‫ﺗﻮاﻧـﺎ‬ ‫و‬ ‫ﻫـﺎ‬‫ﯾﯽ‬‫ﮐـ‬‫داده‬ ‫ﺑـﺎ‬ ‫ﺎر‬‫ﻫـﺎ‬‫ی‬‫ورود‬‫ی‬/‫ﺧﺮوﺟـ‬‫ﯽ‬‫اﺳـﺖ‬.‫ا‬‫ﯾـ‬‫ﻦ‬ ‫ﺑﻪ‬ ‫ﺳﺎﻣﺎﻧﻪ‬‫ﮐ‬‫ا‬ ‫ﺎرﺑﺮ‬‫ﯾ‬‫اﻣ‬ ‫ﻦ‬‫ﮑ‬‫ﻣ‬ ‫را‬ ‫ﺎن‬‫ﯽ‬‫دﻫﺪ‬‫ﺑﺮا‬ ‫ﺗﺎ‬‫ی‬‫ﺗﺤﻠ‬‫ﯿ‬‫ﻞ‬‫ﻫـﺎ‬‫ی‬‫آﻣـﺎر‬‫ی‬‫داده‬‫ﻋﺒـﺎرت‬ ‫ﻫـﺎ‬‫ﻫـﺎ‬‫ی‬‫ﺑ‬‫ﺮﻧﺎﻣـﻪ‬‫ا‬‫ی‬‫ﺑﻨﻮ‬ ‫را‬ ‫ﺧـﻮد‬‫ﯾ‬‫ﺴـ‬،‫ﺪ‬ ‫ﻫﻤﭽﻨ‬‫ﯿ‬‫ﻦ‬‫روال‬‫ﻫﺎ‬‫ی‬SAS‫را‬‫ﮐ‬‫ﻪ‬‫ﺷ‬‫ﯿ‬‫ﻮه‬‫ﻫﺎ‬‫ﻓﺮاﺧﻮاﻧ‬ ،‫دارﻧﺪ‬ ‫ﻧﺎم‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬‫ا‬‫ی‬‫ﮐـﺎرﺑﺮ‬˚‫ﻧﻮﺷـﺘﻪ‬ً‫ﻻ‬‫ﻣﻌﻤـﻮ‬‫ﺑـﺮا‬‫ی‬ ‫ﺗﻐ‬ ‫اﻧﺠﺎم‬‫ﯿﯿ‬‫داده‬ ‫در‬ ‫ﺮ‬‫ﺗﺒﺪ‬ ‫ﻣﺜﻞ‬ ‫ﻫﺎ‬‫ﯾ‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﻞ‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬‫ا‬ ،‫ﻣﻮﺟـﻮد‬‫ﯾ‬‫ﻣﺘﻐ‬ ‫ﺠـﺎد‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ی‬‫ﺟﺪ‬‫ﯾـ‬‫ﺪ‬‫ﻣﺘﻐ‬ ‫از‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ی‬‫ﻣﻮﺟـﻮد‬‫ﯾـ‬‫ﺎ‬ ‫ز‬ ‫ﺳﺎﺧﺘﻦ‬‫ﯾ‬‫ﺮﻣﺠﻤﻮﻋﻪ‬‫ا‬‫ی‬‫ﻣﺸﺎﻫﺪه‬ ‫از‬‫ﻫﺎ‬‫ﯾـ‬‫ﻣﺘﻐ‬ ‫ﺎ‬‫ﯿ‬‫ﻣـ‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺮﻫـﺎ‬‫ﯽ‬‫ﺷـﻮد‬.‫داده‬‫ﻫـﺎ‬‫ی‬‫آﻣـﺎده‬‫ﺳـﺎز‬‫ی‬‫ﻋﻨـﻮان‬ ‫ﺑـﻪ‬ ‫ﺷـﺪه‬‫ورودی‬ )‫ورود‬‫ی‬(‫ﺑﺮا‬‫ی‬‫ﺗﺤﻠ‬‫ﯿ‬‫ﻞ‬‫ﻫﺎ‬‫ی‬‫آﻣﺎر‬‫ی‬‫ﻣﻮردﻧﻈﺮ‬‫ﮐ‬‫ﺑـﻪ‬ ‫ﺎرﺑﺮ‬‫ﮐـ‬‫ﻣـ‬ ‫ﺎر‬‫ﯽ‬‫رود‬.‫ﺳـﺎﻣﺎﻧﻪ‬‫ی‬SAS‫ﺗﺤﻠ‬ ‫ﻫـﺮ‬‫ﯿـ‬‫آﻣـﺎر‬ ‫ﻞ‬‫ی‬‫ﮐـ‬‫ﻪ‬‫ﮐـ‬‫ﺑـﻪ‬ ‫ﺎرﺑﺮ‬ ‫درﺳﺘ‬‫ﯽ‬‫ﻣﺸﺨﺺ‬‫ﮐ‬‫ﺑﺎﺷﺪ‬ ‫ﺮده‬‫را‬‫ﻣ‬ ‫اﻧﺠﺎم‬‫ﯽ‬‫دﻫﺪ‬. ‫ا‬‫ﮐ‬‫ﺗﺤﻠ‬ ‫ﺜﺮ‬‫ﯿ‬‫ﻞ‬‫ﻫﺎ‬‫ی‬‫آﻣﺎر‬‫ی‬‫در‬SAS‫ﻧ‬‫ﯿ‬‫وﺳ‬ ‫داﻧﺶ‬ ‫داﻧﺴﺘﻦ‬ ‫ﺑﻪ‬ ‫ﺎز‬‫ﯿ‬‫و‬ ‫از‬ ‫ﻊ‬‫ﯾ‬‫ﮋﮔ‬‫ﯽ‬‫ﻫﺎ‬‫ی‬‫ا‬‫ﯾ‬‫ﻧﺪارد‬ ‫ﺳﺎﻣﺎﻧﻪ‬ ‫ﻦ‬.‫ﺣﺘ‬ ،‫اﻣﺎ‬‫ﯽ‬‫ﺗﺤﻠ‬‫ﯿ‬‫ﻞ‬‫ﻫﺎ‬‫ی‬ ‫ﺳﺎده‬‫ی‬‫آﻣﺎر‬‫ی‬‫ﺑﺮﺧ‬ ‫از‬‫ﯽ‬‫ﺗﻮاﻧﺎ‬‫ﯾﯽ‬‫ﻫﺎ‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫زﺑﺎن‬‫ا‬‫ی‬‫ا‬‫ﯾ‬‫ﺳﺎﻣﺎﻧﻪ‬ ‫ﻦ‬‫اﺳـﺘﻔﺎده‬‫ﻣـ‬‫ﯽ‬‫ﮐ‬‫ﻨـﺪ‬.‫ا‬ ‫ﺑـﺮ‬ ‫ﺑﻨـﺎ‬‫ﯾـ‬‫ﺗﻌـﺪاد‬ ‫داﻧﺴـﺘﻦ‬ ،‫ﻦ‬‫ی‬‫از‬ ‫ﺳﺎﺧﺘﺎرﻫﺎ‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬‫ا‬‫ی‬SAS‫ﻧﺤﻮه‬ ‫و‬‫ی‬‫ﮐ‬‫ﺎر‬‫ﮐ‬‫ﺑﺮا‬ ‫آن‬ ‫ﺮد‬‫ی‬‫ﻧﻮ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺷﺘﻦ‬‫ﻫﺎ‬‫ی‬‫ﮐﺎرای‬SAS‫اﺳﺖ‬ ‫ﻻزم‬.                                                              1 Statistical Analysis System 
  • 5.
    ۵ ۱-۲‫ﻓﻌﺎل‬‫ﮐ‬‫ﺳﺎﻣﺎﻧﻪ‬ ‫ﺮدن‬‫ی‬SAS ‫اﮔﺮ‬SAS‫ﻣﺤ‬ ‫در‬‫ﯿ‬‫و‬‫ﻂ‬‫ﯾ‬‫ﻧﺸﺎﻧﻪ‬ ،‫ﺑﺎﺷﺪ‬ ‫ﺷﺪه‬ ‫ﻧﺼﺐ‬ ‫ﻨﺪوز‬‫ا‬‫ی‬‫در‬Desktop‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯾ‬‫ﮏ‬‫ﺑـﺎ‬ ‫ﻣﻨﺸـﻮر‬‫ﮐ‬‫ﻮﺗـﻪ‬‫ﻧﻮﺷـﺘﻪ‬‫ی‬SAS ‫دارد‬ ‫وﺟﻮد‬.‫ﺑﺮا‬‫ی‬‫ﻓﻌﺎل‬‫ﮐ‬‫ﺮدن‬SAS‫ﮐ‬‫ﺎﻓ‬‫ﯽ‬‫اﺳﺖ‬‫ﮐ‬‫رو‬ ‫را‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫ﻪ‬‫ی‬‫ا‬‫ﯾ‬‫دوﺑـﺎر‬ ‫و‬ ‫ﺑـﺮده‬ ‫ﻋﻼﻣـﺖ‬ ‫ﻦ‬‫ﮐ‬‫ﻠ‬‫ﯿـ‬‫ﮏ‬‫ﮐ‬‫ﻨ‬‫ﯿـ‬‫ﺪ‬.‫از‬ ‫ﭘـﺲ‬ ‫ورو‬‫ـﺎﻣﺎﻧﻪ‬‫ـ‬‫ﺳ‬ ‫ﺑـﻪ‬ ‫د‬‫ی‬SAS‫ﺗﺸـﺨ‬ ‫ـﻞ‬‫ـ‬‫ﻗﺎﺑ‬ ‫ـﺮه‬‫ـ‬‫ﭘﻨﺠ‬ ‫ـﻨﺞ‬‫ـ‬‫ﭘ‬ ،‫ﯿ‬‫ـﺖ‬‫ـ‬‫اﺳ‬ ‫ﺺ‬:‫ـﺮه‬‫ـ‬‫ﭘﻨﺠ‬‫ی‬Editor‫ـﺮه‬‫ـ‬‫ﭘﻨﺠ‬ ،‫ی‬Log‫ـﺮه‬‫ـ‬‫ﭘﻨﺠ‬ ،‫ی‬Output، ‫ﭘﻨﺠﺮه‬‫ی‬Explorer‫ﭘﻨﺠﺮه‬ ‫و‬ ،‫ی‬Results.‫ا‬‫ﯾ‬‫ﭘﻨﺠﺮه‬ ‫ﻦ‬‫ﺷ‬ ‫در‬ ‫ﻫﺎ‬‫ﮑ‬‫ﻞ‬۱-۱‫د‬‫ﯾ‬‫ﻣ‬ ‫ﺪه‬‫ﯽ‬‫ﺷﻮﻧﺪ‬. ‫ﺷﮑﻞ‬۱-۱‫ﭘﻨﺠﺮه‬‫ﻫﺎی‬‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬SAS‫ﻓﻌﺎل‬ ‫ﺑﺎر‬ ‫اوﻟﯿﻦ‬ ‫در‬‫ﺳﺎزی‬ ۱-۲-۱‫ﭘﻨﺠﺮه‬‫ی‬Editor ‫ا‬‫ﯾ‬،‫ﭘﻨﺠﺮه‬ ‫ﻦ‬Enhanced Editor‫ﻧ‬‫ﯿ‬‫ﻣ‬ ‫ﺧﻮاﻧﺪه‬ ‫ﺰ‬‫ﯽ‬‫ﺷﻮد‬.‫ﭘﻨﺠﺮه‬Editor‫ﻣ‬ ،‫ﮑ‬‫ﺎﻧ‬‫ﯽ‬‫اﺳﺖ‬‫ﮐ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫آن‬ ‫در‬ ‫ﻪ‬‫ﻫﺎ‬‫ی‬SAS،‫ﻧﻮﺷـﺘﻪ‬ ‫ﻣ‬ ‫اﺟﺮا‬ ‫و‬ ‫اﺻﻼح‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫ا‬ ‫در‬‫ﯾ‬‫ﭘﻨﺠﺮه‬ ‫ﻦ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻫﺎ‬‫ی‬SAS‫ﻣﺘﻨ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ،‫ﯽ‬‫ﻣـ‬ ‫وارد‬‫ﯽ‬‫ﺷـﻮﻧﺪ‬.‫ا‬ ‫ﺑـﺮ‬ ‫ﺑﻨـﺎ‬‫ﯾـ‬‫ﺑﺮﻧﺎﻣـﻪ‬ ،‫ﻦ‬‫ﻫـﺎ‬‫ی‬ SAS‫ﻗﺎﺑﻞ‬‫ﮐ‬‫ﭙ‬‫ﯽ‬‫واژه‬ ‫در‬ ‫ﺷﺪن‬‫ﭘﺮدازﻫﺎ‬‫ﯾﯽ‬‫ﻣﺜﻞ‬Word‫ﺑ‬ ‫و‬‫ﺮﻋ‬‫ﮑ‬‫ﻫﺴﺘﻨﺪ‬ ‫ﺲ‬.‫وﻗﺘ‬‫ﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ا‬‫ی‬‫در‬SAS‫ﻣ‬ ‫اﺟﺮا‬‫ﯽ‬‫ﺷﻮ‬‫اﺑﺘﺪا‬ ،‫د‬ ‫ﺑﺮﻧﺎﻣﻪ‬‫ی‬‫ﻣﺘﻨ‬‫ﯽ‬‫ﮐ‬‫در‬ ‫ﻪ‬‫ﻗﺎﻟﺐ‬ASCII ۲ ‫ﺗﺒﺪ‬ ‫اﺳﺖ‬‫ﯾ‬‫ﺑﻪ‬ ‫ﻞ‬‫ﮐ‬‫ﺪﻫﺎ‬‫ی‬SAS‫ﻓﺮﻣـﺎن‬ ‫ﺑﻌﺪ‬ ‫و‬ ‫ﺷﺪه‬‫ﻣـ‬ ‫اﺟـﺮا‬ ‫ﻫـﺎ‬‫ﯽ‬‫ﺷـﻮﻧﺪ‬.‫ﺑﺮﻧﺎﻣـﻪ‬‫ﻫـﺎ‬‫ی‬ SAS‫ﺑﺎ‬‫ﻗﺎﻟﺐ‬ASCII‫ﻣﺘﻨ‬‫ﯽ‬‫ذﺧ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.                                                              2 American Standard Code for Information Interchange 
  • 6.
    ۶ ۱-۲-۲‫ﭘﻨﺠﺮه‬‫ی‬Log ‫ا‬‫ﯾ‬‫راﺑﻄ‬ ‫ﭘﻨﺠﺮه‬ ‫ﻦ‬‫ﯽ‬‫ﺑ‬‫ﯿ‬‫ﻦ‬‫ﮐ‬‫ﺳﺎﻣﺎﻧﻪ‬‫و‬ ‫ﺎرﺑﺮ‬‫ی‬SAS‫اﺳﺖ‬.‫زﻣ‬‫ﺎﻧ‬‫ﯽ‬‫ﮐ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻪ‬‫ا‬‫ی‬‫ﻣـ‬ ‫اﺟﺮا‬‫ﯽ‬‫ﺟﺰﺋ‬ ،‫ﺷـﻮد‬‫ﯿـ‬‫ﭘﻨﺠـﺮه‬ ‫در‬ ‫اﺟـﺮا‬ ‫ﺎت‬‫ی‬ Log‫ﻣ‬ ‫ﻧﻮﺷﺘﻪ‬‫ﯽ‬‫ﺷﻮد‬.‫ﻗﺴﻤﺖ‬ ‫اﺑﺘﺪا‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫از‬‫ﮐ‬‫ﻣ‬ ‫اﺟﺮا‬ ‫ﻪ‬‫ﯽ‬‫ﻣ‬ ‫آورده‬ ‫ﺷﻮﻧﺪ‬‫ﯽ‬‫زﻣﺎن‬ ‫ﻣﺪت‬ ‫ﺳﭙﺲ‬ ‫و‬ ‫ﺷﻮد‬‫اﺟﺮا‬‫ی‬‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﺑﺮا‬‫ی‬‫ﮔﺎم‬ ‫ﻫﺮ‬‫ﻣﯽ‬ ‫ﻧﻤﺎﯾﺶ‬‫ﯾﺎﺑﺪ‬.‫ﺻﻮرﺗ‬ ‫در‬‫ﯽ‬‫ﮐ‬،‫ﺑﺎﺷـﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺧﻄﺎ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻪ‬SAS‫و‬ ‫داده‬ ‫ﻧﺸـﺎن‬ ‫ﻗﺮﻣـﺰ‬ ‫رﻧـﮓ‬ ‫ﺑـﺎ‬ ‫را‬ ‫ﺧﻄﺎﻫـﺎ‬ ‫ﺑﺮا‬‫ی‬‫ﺗﺼﺤ‬‫ﯿ‬‫راﻫﻨﻤﺎ‬ ‫ﻣﺤﺪود‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺢ‬‫ﯾﯽ‬‫ﻣ‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.‫ﮔﺎﻫ‬‫ﯽ‬‫ﻣﻤ‬‫ﮑ‬‫ﺑﺮﺧ‬ ‫اﺳﺖ‬ ‫ﻦ‬‫ﯽ‬‫ﺑﻪ‬ ‫دﺳﺘﻮرﻫﺎ‬ ‫از‬‫ﺗﺎ‬ ‫اﺷﺘﺒﺎه‬‫ﯾ‬‫ﺷﺪه‬ ‫ﭗ‬ ‫در‬ ،‫ﺑﺎﺷﻨﺪ‬‫ا‬‫ﯾ‬‫ﻦ‬‫وﺿﻌ‬ ‫ﮔﻮﻧﻪ‬‫ﯿ‬‫ﺖ‬‫ﻫﺎ‬SAS‫ﻣ‬ ‫اﺟﺮا‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬‫ﯽ‬‫ﮐ‬‫وﻟ‬ ‫ﻨﺪ‬‫ﯽ‬‫ﺑﺮا‬‫ی‬‫ا‬‫ﯾ‬‫اﺷﺘﺒﺎه‬ ‫ﻦ‬‫ﻫﺎ‬‫ﻣ‬ ‫ﻫﺸﺪار‬‫ﯽ‬‫دﻫﺪ‬.‫ا‬ ‫ﺑـﺮ‬ ‫ﺑﻨﺎ‬‫ﯾـ‬‫ﻻزم‬ ،‫ﻦ‬ ‫اﺳﺖ‬‫ﮐ‬‫ﻪ‬‫ﮐ‬‫اوﻟ‬ ‫در‬ ‫ﺎرﺑﺮ‬‫ﯿ‬‫ﺑﺎر‬ ‫ﻦ‬‫ی‬‫ﮐ‬‫ﻣ‬ ‫اﺟﺮا‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻪ‬‫ﯽ‬‫ﭘﻨﺠ‬ ،‫ﺷﻮد‬‫ﺮه‬‫ی‬Log‫وارﺳ‬ ‫دﻗﺖ‬ ‫ﺑﻪ‬ ‫را‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬. ۱-۲-۳‫ﭘﻨﺠﺮه‬‫ی‬Output ‫زﻣﺎﻧ‬‫ﯽ‬‫ﮐ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻪ‬‫ا‬‫ی‬‫ﺳﺎﻣﺎﻧﻪ‬ ‫در‬‫ی‬SAS‫ﻣ‬ ‫اﺟﺮا‬ ‫ﺧﻄﺎ‬ ‫ﺑﺪون‬‫ﯽ‬،‫ﺷﻮد‬‫ﺧﺮوﺟﯽ‬‫ﭘﻨﺠـﺮه‬ ‫در‬ ‫آن‬‫ی‬Output‫ﻣﯽ‬ ‫ﻧﻤـﺎﯾﺶ‬‫ﯾﺎﺑـﺪ‬. ‫ﺧﺮوﺟ‬‫ﯽ‬SAS‫ﻣ‬‫ﯽ‬‫ﺑﻪ‬ ‫ﺗﻮاﻧﺪ‬‫ﻗﺎﻟﺐ‬‫ﻫﺎی‬‫ﻣﺘﻔﺎوﺗ‬‫ﯽ‬‫ﺷﻮد‬ ‫ﺳﺎﺧﺘﻪ‬.‫ﭘ‬‫ﯿ‬‫ﺶ‬‫ﻓﺮض‬،‫ﺧﺮوﺟ‬‫ﯽ‬‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫اﺳﺖ‬.‫ﺧﺮوﺟ‬‫ﯽ‬‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ PDF‫و‬HTML‫ﻧ‬‫ﯿ‬‫ﺰ‬‫ﻗﺎﺑﻞ‬‫اراﺋﻪ‬‫اﺳﺖ‬. ۱-۲-۴‫ﭘﻨﺠﺮه‬‫ﻫﺎ‬‫ی‬Explorer‫و‬Results ‫وﻗﺘ‬‫ﯽ‬SAS‫ﻣ‬ ‫ﻓﻌﺎل‬‫ﯽ‬‫ﭘﻨﺠﺮه‬ ‫ﺷﻮد‬‫ا‬‫ی‬‫ﭼﭗ‬ ‫ﺳﻤﺖ‬ ‫در‬‫ﺻﻔﺤﻪ‬‫ﻧﻤﺎﯾﺶ‬ ‫ی‬‫د‬‫ﯾ‬‫ﻣ‬ ‫ﺪه‬‫ﯽ‬‫ﺷﻮد‬.‫اﻧﺘﻬﺎ‬ ‫در‬‫ی‬‫ا‬‫ﯾ‬‫ﭘـﺮش‬ ‫دو‬ ‫ﭘﻨﺠـﺮه‬ ‫ﻦ‬‫ﮔـﺎه‬ Explorer‫و‬Results‫د‬‫ﯾ‬‫ﻣ‬ ‫ﺪه‬‫ﯽ‬‫ﺷﻮد‬.‫ﺑﺎ‬‫ﮐ‬‫ﻠ‬‫ﯿـ‬‫ﮏ‬‫ﮐـ‬‫رو‬ ‫ﺮدن‬‫ی‬‫ﭘـﺮش‬ ‫ﻫـﺮ‬‫ﭘﻨﺠـﺮه‬ ،‫ﮔـﺎه‬‫ی‬‫ﺑـﺎز‬ ‫ﻣﺮﺑـﻮط‬‫ﻣـ‬‫ﯽ‬‫ﺷـﻮد‬.‫ﭘﻨﺠـﺮه‬‫ی‬ Explorer،‫ﮐ‬‫ﺘ‬‫ﺎﺑﺨﺎﻧﻪ‬‫ﻫﺎ‬‫ی‬)Library(SAS‫را‬‫ﮐـ‬‫ﻣـ‬ ‫ﻧﺸـﺎن‬ ،‫ﻫﺴـﺘﻨﺪ‬ ‫دﺳـﺘﺮس‬ ‫ﻗﺎﺑـﻞ‬ ‫ﻪ‬‫ﯽ‬‫دﻫـﺪ‬.‫ا‬ ‫در‬‫ﯾـ‬‫ﭘﻨﺠـﺮه‬ ‫ﻦ‬‫ﻣـ‬‫ﯽ‬‫ﺗـﻮان‬ ‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ی‬‫ﺟﺪ‬‫ﯾ‬‫ﺳﺎﺧﺖ‬ ‫ﺪ‬.‫ﻓﺎ‬‫ﯾ‬‫ﻞ‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﮐ‬‫ا‬ ‫در‬ ‫ﻪ‬‫ﯾ‬‫ﻦ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫دﺧ‬ ‫ﻫﺎ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬،‫ﺷﻮﻧﺪ‬‫داﺋﻤ‬‫ﯽ‬‫ﻫﺴﺘﻨﺪ‬.‫ا‬ ‫ﺑـﻪ‬‫ﯾـ‬‫ﻣﻌﻨـﺎ‬ ‫ﻦ‬‫ﮐـ‬‫ﻪ‬ ‫ﮐ‬‫ﻓﺎ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﻪ‬ ‫ﻗﺎدر‬ ‫ﻫﻤﻮاره‬ ‫ﺎرﺑﺮ‬‫ﯾ‬‫ﻞ‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫اﺳﺖ‬.‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ی‬Work‫ﮐ‬‫ا‬ ‫ﺷﺎﻣﻞ‬ ،‫اﺳﺖ‬ ‫ﺳﺎﻣﺎﻧﻪ‬ ‫ﺟﺰء‬ ‫ﻪ‬‫ﯾ‬‫اﺻـﻞ‬ ‫ﻦ‬ ‫ﻧﻤ‬‫ﯽ‬‫ﺷﻮد‬.‫د‬ ‫ﻋﺒﺎرت‬ ‫ﺑﻪ‬‫ﯾ‬‫ﻓﺎ‬ ‫ﮕﺮ‬‫ﯾ‬‫ﻞ‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﮐ‬‫ا‬ ‫در‬ ‫ﻪ‬‫ﯾ‬‫ﻦ‬‫ﮐ‬‫ﻣ‬ ‫ﺳﺎﺧﺘﻪ‬ ‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﯽ‬‫ﻫﺴﺘﻨﺪ‬ ‫ﻣﻮﻗﺖ‬ ،‫ﺷﻮد‬.‫ا‬ ‫ﺑﻪ‬‫ﯾـ‬‫ﻣﻌﻨـﺎ‬ ‫ﻦ‬‫ﮐـ‬‫ﺑـﺎ‬ ‫ﻪ‬ ‫ﺳﺎﻣﺎﻧﻪ‬ ‫از‬ ‫ﺧﺮوج‬‫ی‬SAS‫ﺧﻮد‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬‫ﮐ‬‫ﻓﺎ‬ ‫ﺗﻤﺎم‬ ‫ﺎر‬‫ﯾ‬‫ﻞ‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ا‬‫ﯾ‬‫ﻦ‬‫ﮐ‬‫ﭘـﺎ‬ ‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ک‬‫ﻣـ‬‫ﯽ‬‫ﺷـﻮﻧﺪ‬.‫زﻣـﺎﻧ‬‫ﯽ‬‫ﮐـ‬‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻪ‬‫ا‬‫ی‬ ‫ﻣ‬ ‫اﺟﺮا‬‫ﯽ‬،‫ﺷﻮد‬‫ﺧﺮوﺟ‬‫ﯽ‬‫ﭘﻨﺠﺮه‬ ‫در‬ ‫ﺑﺮﻧﺎﻣﻪ‬‫ی‬Output‫ﻣ‬ ‫آورده‬‫ﯽ‬‫ﭘﻨﺠﺮه‬ ‫در‬ ‫و‬ ‫ﺷﻮد‬‫ی‬Results‫ﻓﻬﺮﺳﺘ‬ ،‫ﯽ‬‫اﺟﺮا‬ ‫از‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮔﺎم‬ ‫ﺷﺎﻣﻞ‬‫ﻋﺒﺎرت‬ ،‫ﻫﺎ‬‫ﻫﺎ‬‫ی‬‫ﮔﺎم‬ ‫در‬ ‫ﻣﻮﺟﻮد‬‫ﻣ‬ ‫آورده‬ ‫ﻫﺎ‬‫ﯽ‬‫ﺷﻮد‬.‫ﮐ‬‫ﻣ‬ ‫ﺎرﺑﺮ‬‫ﯽ‬‫ﺑﺎ‬ ‫ﺗﻮاﻧﺪ‬‫ﮐ‬‫ﻠ‬‫ﯿ‬‫ﮏ‬‫ﮐ‬‫رو‬ ‫ﺮدن‬‫ی‬،‫ﻋﺒﺎرت‬ ‫ﻫﺮ‬‫ﺧﺮوﺟـﯽ‬ ‫ﭘﻨﺠﺮه‬ ‫در‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫از‬ ‫ﻗﺴﻤﺖ‬ ‫آن‬‫ی‬Output‫ﻓﺮاﺧﻮاﻧ‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬. ۱-۲-۵‫ﭘﻨﺠﺮه‬‫ی‬Graph ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﮔﺮ‬‫ا‬‫ی‬‫ﺧﺮوﺟﯽ‬‫ﻧﻤﻮدار‬‫ی‬‫ا‬ ،‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬‫ﯾ‬‫ﭘ‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫ﻧﻤﻮدارﻫﺎ‬ ‫ﻦ‬‫ﯿ‬‫ﺶ‬‫ﭘﻨﺠـﺮه‬ ‫در‬ ‫ﻓﺮض‬‫ا‬‫ی‬‫ﻧـﺎم‬ ‫ﺑـﻪ‬Graph‫ﻧﻤـﺎ‬‫ﯾ‬‫ﺶ‬ ‫ﻣ‬ ‫داده‬‫ﯽ‬‫ﺷﻮ‬‫ﻧ‬‫ﺪ‬.‫ا‬‫ﯾ‬‫ﺗﺮﺗ‬ ‫ﺑﻪ‬ ‫و‬ ‫ﺑﺎﻻ‬ ‫وﺿﻮح‬ ‫ﺑﺎ‬ ‫را‬ ‫ﻧﻤﻮدارﻫﺎ‬ ‫ﭘﻨﺠﺮه‬ ‫ﻦ‬‫ﯿ‬‫ﺒ‬‫ﯽ‬‫ﮐ‬‫ا‬ ‫ﻪ‬‫ﯾ‬‫ﻣ‬ ‫ﺠﺎد‬‫ﯽ‬‫ﺟ‬ ‫ﺧﻮد‬ ‫در‬ ‫ﺷﻮﻧﺪ‬‫ﻣ‬ ‫ﺎ‬‫ﯽ‬‫دﻫﺪ‬.‫ﺑـﺮا‬‫ی‬‫د‬‫ﯾـ‬‫ﺪن‬
  • 7.
    ۷ ‫رو‬ ‫ﻧﻤﻮدارﻫﺎ‬‫ی‬‫ﭘﺮش‬‫ﮔﺎه‬Graph‫ﮐ‬‫ﭘﺎ‬ ‫در‬‫ﻪ‬‫ﯾﯿ‬‫ﻦ‬‫ﺻﻔﺤﻪ‬‫ی‬‫ﻧﻤـﺎﯾﺶ‬‫د‬‫ﯾـ‬‫ﻣـ‬ ‫ﺪه‬‫ﯽ‬‫ﺷـﻮد‬‫ﮐ‬‫ﻠ‬‫ﯿـ‬‫ﮏ‬‫ﮐ‬‫ﻨ‬‫ﯿـ‬‫ﺪ‬.‫ﺣﺮ‬‫ﮐـ‬‫ﭘﻨﺠـﺮه‬ ‫از‬ ‫ﺖ‬‫ا‬‫ی‬‫ﺑـﻪ‬ ‫ﭘﻨﺠﺮه‬‫ی‬‫د‬‫ﯾ‬‫ﻃﺮ‬ ‫از‬ ‫ﮕﺮ‬‫ﯾ‬‫ﻖ‬‫ﮐ‬‫ﻠ‬‫ﯿ‬‫ﮏ‬‫ﮐ‬‫رو‬ ‫ﺮدن‬‫ی‬‫ﭘﺮش‬‫ﭘﺎ‬ ‫در‬ ‫ﻣﺮﺑﻮط‬ ‫ﮔﺎه‬‫ﯾﯿ‬‫ﺻﻔﺤﻪ‬ ‫ﻦ‬‫ی‬‫ﻧﻤﺎ‬‫ﯾ‬‫اﻣ‬ ‫ﺶ‬‫ﮑ‬‫ﺎن‬‫ﭘﺬ‬‫ﯾ‬‫اﺳﺖ‬ ‫ﺮ‬. ۱-۳‫ﻗﺎﻋﺪه‬‫ﺷ‬ ‫و‬ ‫ﻫﺎ‬‫ﮑ‬‫دﺳﺘﻮر‬ ‫ﻞ‬‫ی‬‫ﭘﺎ‬‫ﯾ‬‫ﻪ‬‫ا‬‫ی‬SAS ‫داده‬ ‫ﻣﻘﺪار‬‫ا‬‫ی‬ ‫ﻣﻘﺪار‬‫ﻫﺎی‬‫داده‬‫ا‬‫ی‬‫ﻧﻮ‬ ‫ﺑﻪ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﻋﺪد‬ ‫و‬‫ی‬‫رده‬‫ﺑﻨﺪ‬‫ی‬‫ﻣ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫ﻧﻮ‬ ‫ﻣﻘﺪار‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﺣﺪا‬‫ﮐ‬‫ﻣ‬ ‫ﺜﺮ‬‫ﯽ‬‫ﺗﻮاﻧﺪ‬۳۲۷۶۷‫ﻧﻮ‬‫ﯾ‬‫ﺴـ‬‫داﺷـﺘﻪ‬ ‫ﻪ‬ ‫ﻣ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬‫ﯽ‬‫ﺣﺮ‬ ‫ﺷﺎﻣﻞ‬ ‫ﺗﻮاﻧﺪ‬‫اﻧﮕﻠ‬ ‫ف‬‫ﯿ‬‫ﺴ‬‫ﯽ‬‫ﻋﺪد‬ ،‫ﺧﺎص‬ ‫ﻋﻼﺋﻢ‬ ،‫ﺑﺎﺷﺪ‬ ‫ﻓﺎﺻﻠﻪ‬ ‫و‬. ‫ﻣﻘﺪارﻫﺎ‬ ‫از‬ ‫ﻣﺜﺎل‬ ‫ﭼﻨﺪ‬‫ی‬‫ﻧﻮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﻋﺒﺎرت‬‫از‬ ‫اﻧﺪ‬: y5, 789, south west, do, a ‫ﻋﺪد‬ ‫ﻣﻘﺪار‬‫ی‬،‫ﯾ‬‫ﮏ‬‫و‬ ‫ﺑﺎ‬ ‫ﻋﺪد‬‫ﯾ‬‫ﺑ‬ ‫ﺎ‬‫ﺪ‬‫ﻧﻘﻄﻪ‬ ‫ون‬‫ی‬‫اﻋﺸﺎر‬‫ی‬‫اﺳﺖ‬‫ﮐ‬‫ﻣ‬ ‫آن‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫ﻪ‬‫ﯽ‬‫ﺑـﻪ‬ ‫ﻋﻼﻣـﺖ‬ ‫ﺗﻮاﻧﺪ‬‫ﻋـﻼو‬‫ه‬‫ﯾـ‬‫ﻗـﺮار‬ ‫ﻣﻨﻬـﺎ‬ ‫ﺎ‬ ‫ﮔ‬‫ﯿ‬‫وﻟ‬ ‫ﺮد‬‫ﯽ‬‫ﻧﻤ‬‫ﯽ‬‫واو‬ ‫ﺷﺎﻣﻞ‬ ‫ﺗﻮاﻧﺪ‬‫ک‬),(‫ﺑﺎﺷﺪ‬.‫ﻣﺜﺎل‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﺑﺮا‬‫ی‬‫ﻋﺪد‬ ‫ﻣﻘﺪار‬‫ی‬‫ﻋﺒﺎرت‬‫از‬ ‫اﻧﺪ‬: 45, 0.038, -81. ,241.25, 2.345E-4 ‫داده‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫در‬ ‫ﻪ‬‫ﯾ‬‫ﮑ‬‫ﯽ‬‫ا‬ ‫از‬‫ﯾ‬‫ﻧﻤ‬ ‫ﻗﺮار‬ ‫رده‬ ‫دو‬ ‫ﻦ‬‫ﯽ‬‫ﮔ‬‫ﯿ‬‫ﺮﻧﺪ‬)‫ﺗﺎر‬ ‫ﻣﺜﻞ‬‫ﯾ‬‫ﺧﻂ‬ ‫ﺑﺎ‬ ‫ﺦ‬‫ﮐ‬‫ﺞ‬(/)‫ﯾ‬‫واو‬ ‫ﺷﺎﻣﻞ‬ ‫ﻋﺪد‬ ‫ﺎ‬‫ک‬(‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑـﺎ‬ ‫ا‬‫ﯾ‬‫ﻨ‬‫ﻔﻮرﻣﺖ‬‫ﻋﺪد‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ی‬‫ﯾ‬‫ﻧﻮ‬ ‫ﺎ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫در‬‫ی‬‫داده‬‫ﻫﺎ‬‫ی‬SAS‫دﺧ‬‫ﯿ‬‫ﻣـ‬ ‫ﺮه‬‫ﯽ‬‫ﺷـﻮﻧﺪ‬.‫ﺻـﻮرﺗ‬ ‫در‬‫ﯽ‬‫ﮐـ‬‫ﻣﻘـﺪار‬ ‫ﻧـﻮع‬ ‫ﻪ‬ ‫داده‬‫ا‬‫ی‬‫ﭘ‬ ،‫ﻧﺸﻮﻧﺪ‬ ‫ﻣﺸﺨﺺ‬‫ﯿ‬‫ﻓﺮض‬ ‫ﺶ‬SAS‫ﻋﺪد‬‫ی‬‫ﺑ‬‫ﻮد‬‫آن‬ ‫ن‬‫ﻫﺎﺳﺖ‬. ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS ‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬SAS‫د‬ ‫ﻫﻤﺎﻧﻨﺪ‬‫ﯾ‬‫ﺑﺴﺘﻪ‬ ‫ﮕﺮ‬‫ﻫﺎ‬‫ی‬‫ﻧﺮم‬‫اﻓﺰار‬‫ی‬،‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫ﺧﺎم‬‫ﻧﻤ‬ ‫را‬‫ﯽ‬‫ﺷﻨﺎﺳﺪ‬.‫ا‬ ‫ﺑﺮ‬ ‫ﺑﻨﺎ‬‫ﯾـ‬‫ﺑـﺮا‬ ‫ﻦ‬‫ی‬‫ﮐـ‬‫ﺑـﺎ‬ ‫ﺎر‬ ‫دا‬‫ده‬‫ﺑﺎ‬ ‫اﺑﺘﺪا‬ ،‫ﻫﺎ‬‫ﯾ‬‫ﺪ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫ﺑﻪ‬ ‫ﺧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﺗﺒﺪ‬‫ﯾ‬‫ﺷﻮد‬ ‫ﻞ‬.‫ﻫﻢ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬‫و‬ ‫ﺧـﺎم‬ ‫ﻫﻢ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﺷ‬ ‫ﺑﻪ‬‫ﮑ‬‫ﻣﺎﺗﺮ‬ ‫ﻞ‬‫ﯾ‬‫ﺴ‬‫ﯽ‬‫ﻫﺴﺘﻨﺪ‬‫ﮐـ‬‫ﺳـﻄﺮﻫﺎ‬ ‫ﻪ‬‫ی‬‫ﻣﺸـﺎﻫﺪه‬ ‫آن‬‫ﺳـﺘﻮن‬ ‫و‬ ‫ﻫـﺎ‬‫ﻫـﺎ‬،‫ﻣﺘﻐ‬ ‫ﻣﻘـﺪار‬‫ﯿ‬‫ﺮﻫـﺎ‬ ‫ﻫﺴﺘﻨﺪ‬.‫ﺷ‬ ‫در‬‫ﮑ‬‫ﻞ‬۱-۲‫ﻣﻘﺪارﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﺳﺘﻮن‬ ‫در‬‫ﻧﻤﺎ‬ ‫ﻫﺎ‬‫ﯾ‬‫ﻣﺘﻐ‬ ‫ﺎﻧﮕﺮ‬‫ﯿ‬‫ﻧﻤﺎ‬ ‫ﺳﻄﺮﻫﺎ‬ ‫در‬ ‫و‬ ‫ﺮﻫﺎ‬‫ﯾ‬‫ﻣﺸﺎﻫﺪه‬ ‫ﺸﮕﺮ‬‫ﻫﺴﺘﻨﺪ‬ ‫ﻫﺎ‬. . . . ‫ﻣﺘﻐﯿﺮﻫﺎ‬
  • 8.
    ۸ . . . ‫ﻣﻘﺪارﻫﺎی‬ ‫داده‬‫ای‬ . . . ‫ﺷﮑﻞ‬۱-۲‫داده‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫از‬‫ﻧﻤﺎﯾﺸﯽ‬‫ﻫﺎ‬ ‫ﺗﺒﺪ‬ ‫ﻣﻨﻈﻮر‬ ‫ﺑﻪ‬‫ﯾ‬‫ﻞ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫ﺑﻪ‬ ‫ﺧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS،‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ﺑﺎ‬‫ﯾـ‬‫ﺷـ‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ ‫ﺪ‬‫ﮑ‬‫ﻞ‬ ۱-۲‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬‫ﯾ‬‫ﻓﺎ‬ ‫در‬ ‫ﺎ‬‫ﯾ‬‫ذﺧ‬ ‫ﻞ‬‫ﯿ‬‫ﺮ‬‫ه‬‫ﺑﻪ‬ ‫ﺷﺪه‬SAS‫ﻣﻌﺮﻓ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬. ‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬ ‫ﻣﺎﺗﺮ‬ ‫ﺳﺘﻮن‬ ‫ﻫﺮ‬‫ﯾ‬‫داده‬ ‫ﺲ‬‫ﻧﻤﺎ‬ ‫ﻫﺎ‬‫ﯾ‬‫ﻣﻘـﺪارﻫﺎ‬ ‫ﺎﻧﮕﺮ‬‫ی‬‫ﯾـ‬‫ﮏ‬‫ﻣﺘﻐ‬‫ﯿـ‬‫ﺮ‬SAS‫اﺳـﺖ‬.‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ی‬SAS‫ﻧـﻮع‬ ‫دو‬ ‫ﺑـﺮ‬‫اﻧـﺪ‬:‫ﻋـﺪد‬‫ی‬‫و‬ ‫ﻧﻮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬.‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬‫ﯿ‬‫ﻋﺪد‬ ‫ﺮ‬‫ی‬‫ﺑﺎ‬‫ﯾ‬‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫و‬ ‫ﻋﺪد‬ ‫ﺪ‬‫ﯿ‬‫ﻧﻮ‬ ‫ﺮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﺑﺎ‬‫ﯾ‬‫ﻧﻮ‬ ‫ﺪ‬‫ﯾ‬‫ﺑﺎﺷﺪ‬ ‫ﺴﻪ‬.‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬‫ﯿ‬‫ﻧﻮ‬ ‫ﺮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﻣـ‬‫ﯽ‬‫ﺗﻮاﻧـﺪ‬ ‫ﺑﺎﺷﺪ‬ ‫ﻋﺪد‬ ‫ﺷﺎﻣﻞ‬‫وﻟ‬‫ﯽ‬‫آن‬ ‫ﺑﺎ‬‫ﻧﻮ‬ ‫ﻣﺜﻞ‬ ‫ﻫﺎ‬‫ﯾ‬‫ﻣ‬ ‫رﻓﺘﺎر‬ ‫ﺴﻪ‬‫ﯽ‬‫ﺷﻮد‬.‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬SAS‫ﻧﻤ‬‫ﯽ‬‫ﻣﺘﻐ‬ ‫ﺑﺎ‬ ‫ﺗﻮاﻧﺪ‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ی‬‫ﻧﻮ‬‫ﯾ‬‫ﺴـﻪ‬‫ای‬‫ﻋﻤﻠ‬‫ﯿـ‬‫ﺎت‬ ‫ر‬‫ﯾ‬‫ﺎﺿ‬‫ﯽ‬‫دﻫﺪ‬ ‫اﻧﺠﺎم‬. ‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬SAS‫و‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬‫ﯾ‬‫ﮋﮔ‬‫ﯽ‬‫ﻫﺎ‬‫ی‬‫دارا‬ ‫ﻧﻮع‬ ‫و‬ ‫ﻧﺎم‬‫ی‬‫و‬‫ﯾ‬‫ﮋﮔ‬‫ﯽ‬‫ﻫﺎ‬‫ی‬‫ﻃﻮل‬)‫ﺑﺎ‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬‫ﯾ‬‫ﺖ‬(‫ﻣﻮﻗﻌ‬ ‫و‬‫ﯿ‬‫در‬ ‫ﺖ‬‫ﻣﺠﻤﻮﻋﻪ‬‫ی‬ ‫داده‬‫ﻫﺎ‬‫ا‬ ،‫ﯾ‬‫ﻫﺴﺘﻨﺪ‬ ‫ﺑﺮﭼﺴﺐ‬ ‫و‬ ‫ﻓﻮرﻣﺖ‬ ،‫ﻨﻔﻮرﻣﺖ‬.‫و‬‫ﯾ‬‫ﮋﮔ‬‫ﯽ‬‫ﻫﺎ‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬SAS‫آن‬ ‫ﻣﻘﺪار‬ ‫ﻣﺜﻞ‬‫در‬ ‫ﻫﺎ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬ SAS‫ذﺧ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬‫ﺷﻮﻧﺪ‬. ‫ﻣﺸﺎﻫﺪه‬‫ﻫﺎ‬ ‫ﯾ‬‫ﮏ‬‫ﮔﺮوﻫ‬ ‫ﻣﺸﺎﻫﺪه‬‫ﯽ‬‫ﻣﻘﺪارﻫﺎ‬ ‫از‬‫ی‬‫داده‬‫ا‬‫ی‬‫اﺳﺖ‬‫ﮐ‬‫ﻧﻤﺎ‬ ‫ﻪ‬‫ﯾ‬‫اﻧﺪازه‬ ‫ﺎﻧﮕﺮ‬‫ﻫﺎ‬‫ی‬‫ﻣﺨﺘﻠﻒ‬‫ﻣﺮﺑﻮط‬‫ﺑﻪ‬‫ﯾ‬‫ﮏ‬‫ﻓﺮد‬)‫ﻋﻨﺼﺮ‬(‫اﺳـﺖ‬. ‫ﻓﺮد‬ ‫از‬ ‫ﻣﻨﻈﻮر‬‫ﯾ‬‫ﮏ‬‫آﻣﺎر‬ ‫واﺣﺪ‬‫ی‬‫اﺳﺖ‬‫ﮐ‬‫ﻣ‬ ‫ﻪ‬‫ﯽ‬‫ﺣ‬ ،‫ﺷﺨﺺ‬ ‫ﺗﻮاﻧﺪ‬‫ﯿـ‬‫آزﻣﺎ‬ ‫ﻮان‬‫ﯾ‬‫ﺸـﮕﺎﻫ‬‫ﯽ‬،‫ﮐـ‬‫و‬ ‫ﺮت‬...‫ﺑﺎﺷـﺪ‬.‫در‬‫ﻣﺠﻤﻮﻋـﻪ‬‫ی‬ ‫داده‬‫ﻫﺎ‬‫ی‬SAS‫ﻧﻤﺎ‬ ‫ﺳﻄﺮ‬ ‫ﻫﺮ‬‫ﯾ‬‫ﺎﻧﮕﺮ‬‫ﯾ‬‫ﮏ‬‫اﺳﺖ‬ ‫ﻣﺸﺎﻫﺪه‬.‫اﻣﺎ‬‫در‬ ‫ﻣﺸﺎﻫﺪه‬ ‫ﻫﺮ‬ ،‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﻣ‬‫ﯽ‬‫ﺷـﺎﻣﻞ‬ ‫ﺗﻮاﻧـﺪ‬ ‫ﯾ‬‫ﮏ‬‫ﺳﻄﺮ‬‫ﯾ‬‫ﺑ‬ ‫ﺎ‬‫ﯿ‬‫درون‬ ‫از‬ ‫ﺸﺘﺮ‬‫داده‬‫ﺑﺎﺷﺪ‬ ‫ﻫﺎ‬. ‫ﻧﺎم‬‫ﻫﺎ‬ ‫داده‬ ‫آﻣﺎری‬ ‫ﺗﺤﻠﯿﻞ‬ ‫ﺑﺮای‬‫و‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﺑﻪ‬ ‫ﺑﺎﯾﺪ‬ ‫ﻫﺎ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺷﻮد‬ ‫داده‬ ‫اﺧﺘﺼﺎص‬ ‫ﻧﺎﻣﯽ‬.‫ﺑـﺮ‬ ‫ﻧـﺎﻇﺮ‬ ‫ﻣﺘﻐﯿـﺮ‬ ‫ﻋﺒـﺎرت‬ ‫اﻃﻼﻋﺎﺗﯽ‬‫ﻣﯽ‬ ‫ﮔﺮداوری‬ ‫ﻣﺸﺎﻫﺪه‬ ‫ﻫﺮ‬ ‫ﺑﺮای‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬‫ﺷﻮد‬.‫ﻧﺎم‬‫ﺣﺮف‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﺑﺎﯾﺪ‬ ‫ﻫﺎ‬‫زﯾﺮﯾﻦ‬ ‫ﺧﻂ‬ ‫ﯾﺎ‬)_(‫و‬ ‫ﺷـﻮﻧﺪ‬ ‫ﺷـﺮوع‬ ‫ﻣﯽ‬‫ﯾﺎ‬ ‫اﻋﺪاد‬ ،‫ﺣﺮوف‬ ‫ﺷﺎﻣﻞ‬ ‫ﺗﻮاﻧﻨﺪ‬–‫ﺑﺎﺷﻨﺪ‬.‫ﻧﺎم‬ ‫ﻃﻮل‬‫ﻧﻤﯽ‬ ‫ﻫﺎ‬‫از‬ ‫ﺑﯿﺶ‬ ‫ﺗﻮاﻧﺪ‬۳۲‫ﻧﺎم‬ ،‫ﺑﺎﺷﺪ‬ ‫ﻧﻮﯾﺴﻪ‬‫ﻧ‬ ‫ﻫﺎ‬‫ﻤﯽ‬‫ﺷـﺎﻣﻞ‬ ‫ﺗﻮاﻧﻨﺪ‬ ‫ﻣﺸﺎﻫﺪه‬‫ﻫﺎ‬
  • 9.
    ۹ ‫ﻧﻮﯾﺴﻪ‬ ‫ﯾﺎ‬ ‫ﻓﺎﺻﻠﻪ‬‫وﯾ‬‫ﻫﺎی‬‫ﮋ‬‫ه‬‫واوک‬ ‫ﻧﻘﻄﻪ‬ ،‫واوک‬ ‫ﻣﺜﻞ‬);(‫ﻋﻼﻣـﺖ‬ ‫و‬‫ﻫـﺎی‬$‫و‬#‫ﺑﺎﺷـﻨﺪ‬.‫ﻧـﺎم‬‫ﻣﺜـﺎل‬ ‫زﯾـﺮ‬ ‫ﻫـﺎی‬‫از‬ ‫ﻫـﺎﯾﯽ‬ ‫ﻧﺎم‬‫ﺳﺎﻣﺎﻧﻪ‬ ‫در‬ ‫ﻫﺎ‬‫ی‬SAS‫ﻫﺴﺘﻨﺪ‬: gender, exam1, rep_nu, y123,_test ‫ﻧﮑﺘﻪ‬‫ی‬۱-۱‫اﯾﻦ‬ ‫ﺑﺮای‬‫ﻧﻮﯾﺴﻪ‬ ‫و‬ ‫ﻓﺎﺻﻠﻪ‬ ‫از‬ ‫ﺑﺘﻮاﻧﯿﺪ‬ ‫ﮐﻪ‬‫وﯾ‬ ‫ﻫﺎی‬‫ﮋ‬‫ﻧﺎم‬ ‫در‬ ‫ه‬‫ﺑﺮﻧﺎﻣـﻪ‬ ‫در‬ ‫را‬ ‫زﯾـﺮ‬ ‫ﻋﺒـﺎرت‬ ‫ﮐﻨﯿـﺪ‬ ‫اﺳـﺘﻔﺎده‬ ‫ﻫـﺎ‬‫ی‬ SAS‫ﺑﺒﺮﯾﺪ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬: Options validvarname=any; ‫ﺑﺮا‬ ‫ﺳﭙﺲ‬‫ﻣﺸﺨﺺ‬ ‫ی‬‫ﻧﺎم‬ ‫ﮐﺮدن‬‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫زﯾﺮ‬ ‫ﻗﺎﻟﺐ‬ ‫از‬ ‫ﮔﻮﻧﻪ‬ ‫اﯾﻦ‬ ‫از‬ ‫ﻫﺎی‬ 'variable name'n ‫ﻋﺒﺎرت‬ ‫ﻧﻮﺷﺘﻦ‬ ‫در‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎی‬‫ﻧﺎم‬ ‫از‬ ‫اﺳﺖ‬ ‫ﺑﻬﺘﺮ‬ ‫ای‬‫ﺳـ‬ ‫و‬ ‫ﮐـﺮد‬ ‫اﺳﺘﻔﺎده‬ ‫ﮐﻮﺗﺎه‬ ‫ﻃﻮل‬ ‫ﺑﺎ‬ ‫ﻫﺎﯾﯽ‬‫ﭙ‬‫آن‬ ‫ﺑـﻪ‬ ‫ﺲ‬‫داد‬ ‫ﺑﺮﭼﺴـﺐ‬ ‫ﻫـﺎ‬. ‫ﮐﻮﺗﺎه‬‫ﻣﯽ‬ ‫زﯾﺎدﺗﺮ‬ ‫را‬ ‫ﺳﺮﻋﺖ‬ ‫ﻫﻢ‬ ‫ﻧﻮﯾﺴﯽ‬‫را‬ ‫ﺧﻄﺎ‬ ‫ﻫﻢ‬ ‫و‬ ‫ﮐﻨﺪ‬‫ﮐﻢ‬‫ﺗﺮ‬. ‫ﻣﺘﻐ‬ ‫ﻓﻬﺮﺳﺖ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬SAS ‫ﯾ‬‫ﮏ‬‫ﻓ‬‫ﻣﺘﻐ‬ ‫ﻬﺮﺳﺖ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬SAS‫ﻣﺘﻐ‬ ‫ﻧﺎم‬ ‫ﺷﺎﻣﻞ‬‫ﯿ‬‫اﺳﺖ‬ ‫ﺮﻫﺎ‬‫ﮐـ‬ّ‫ﺪ‬‫ﺣـ‬ ‫ﻪ‬‫ﺑـﺎ‬ ‫اﻗـﻞ‬‫ﯾـ‬‫ﮏ‬‫ﺑﺎﺷـﺪ‬ ‫ﺷـﺪه‬ ‫ﺟـﺪا‬ ‫ﻫـﻢ‬ ‫از‬ ‫ﻓﺎﺻـﻠﻪ‬.ً‫ﻼ‬‫ﻣـﺜ‬ fer rep_no yield‫ﻓﻬﺮﺳﺘ‬ ،‫ﯽ‬‫ﻣﺘﻐ‬ ‫ﻧـﺎم‬ ‫از‬ ‫ﺳﺎده‬‫ﯿ‬‫اﺳـﺖ‬ ‫ﺮﻫـﺎ‬.‫ﮐـ‬‫ﻣـ‬ ‫ﺎرﺑﺮ‬‫ﯽ‬‫ﻓﻬﺮﺳـﺘ‬ ‫ﺗﻮاﻧـﺪ‬‫ﯽ‬‫دﻧﺒﺎﻟـﻪ‬‫ا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﻧـﺎم‬ ‫از‬‫ﯿ‬‫ﺑـﻪ‬ ‫ﺮﻫـﺎ‬ ‫ﺻــﻮرت‬AAAY-AAAX‫ﮐــ‬‫ﻪ‬AAA‫ﻧﻮ‬‫ﯾ‬‫ﺴــﻪ‬‫و‬ ‫ﻫــﺎ‬X‫و‬Y‫ﻫﺴــﺘﻨﺪ‬ ‫ﻋــﺪد‬.‫ﺑــﺮا‬‫ی‬‫ﻣــ‬ ‫ﻣﺜــﺎل‬‫ﯽ‬‫ﺗــﻮان‬‫ﻧــ‬‫ﻣﺘﻐ‬ ‫ﺎم‬‫ﯿــ‬‫ﺮ‬‫ﻫــﺎ‬‫ی‬ Y1 Y2 Y3 Y4 Y5‫را‬‫ﮐ‬‫ﻣﻤ‬ ‫ﻪ‬‫ﮑ‬‫ﻫﺎ‬ ‫ﻋﺒﺎرت‬ ‫در‬ ‫اﺳﺖ‬ ‫ﻦ‬‫ی‬SAS‫ﺑﻪ‬ ‫ﺷﻮﻧﺪ‬ ‫ﻇﺎﻫﺮ‬‫ﺻﻮرت‬Y1‐Y5‫ﻧﻮﺷﺖ‬. ‫ز‬ ‫ﻫـﺮ‬ ‫ﺑﻪ‬‫ﯾـ‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﺮ‬‫ﻣﺘﻐ‬ ‫از‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ﮐـ‬‫در‬ ‫ﻪ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫ﻓـﺎ‬ ‫دارﻧـﺪ‬ ‫وﺟـﻮد‬‫ا‬ ‫از‬ ‫رغ‬‫ﯾ‬‫ﻨ‬‫ﮑـ‬‫ﻋـﺪد‬ ‫ﻪ‬‫ی‬‫ﻫﺴـﺘﻨﺪ‬‫ﯾـ‬‫ﺎ‬ ‫ﻧﻮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﻣ‬ ،‫ﯽ‬‫ﺑﺎ‬ ‫ﺗﻮان‬‫اﺗﺼﺎل‬‫آن‬ ‫آﺧﺮ‬ ‫ﻧﺎم‬ ‫و‬ ‫اول‬ ‫ﻧﺎم‬‫ﺧﻂ‬ ‫دو‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬)--(‫ارﺟﺎع‬‫داد‬.‫ﻣـﯽ‬ ‫ﻣﺜﺎل‬ ‫ﺑﺮای‬‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ﺗـﻮان‬ W،X،Y‫و‬ ،Z‫ﺑﻪ‬‫ﺻﻮرت‬W‐‐Z‫داد‬ ‫ارﺟﺎع‬.‫دﻧﺒﺎﻟـﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﻪ‬ ‫ارﺟﺎع‬‫ﻣﺜـﻞ‬ ‫ای‬X1،X2،X3،X4‫و‬ ،X5‫ﯾـﮏ‬ ‫ﺑـﺎ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫و‬ ‫ﺧﻂ‬X1‐X5‫ﻣﯽ‬ ‫اﻧﺠﺎم‬‫ﺷﻮد‬. ‫ﻣﺸﺨﺺ‬ ‫ﺑﺮای‬‫وا‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﮐﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎﯾﯽ‬ ‫ﮐﺮدن‬‫ژ‬‫ه‬‫ﻣﯽ‬ ‫ﺷﺮوع‬ ‫ﺧﺎص‬ ‫ی‬‫ﺷﮑﻞ‬ ‫از‬ ‫ﺷﻮﻧﺪ‬word:‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬.‫ﻣﺜﺎل‬ ‫ﺑﺮای‬، zar:‫ﮐﻨﻨﺪه‬ ‫ﻣﺸﺨﺺ‬‫آن‬ ‫ﻧﺎم‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫ﻣﺘﻐﯿﺮﻫﺎﯾﯽ‬ ‫ﻓﻬﺮﺳﺖ‬ ‫ی‬‫ﺑﺎ‬ ‫ﻫﺎ‬zar‫ﻣﯽ‬ ‫ﺷﺮوع‬‫ﺷﻮد‬. ‫ﺑﻪ‬‫ﻫﻤﻪ‬ ‫ﺑﻪ‬ ‫ارﺟﺎع‬ ‫ﺑﺮای‬ ‫ﻋﻼوه‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﯾـﮏ‬ ‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ی‬‫داده‬ ‫ی‬‫ﻋﺒـﺎرت‬ ‫از‬ ‫ﻫـﺎ‬_ALL_‫از‬ ‫ﻋـﺪدی‬ ‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ﺑـﺮای‬ ، _NUMERIC_‫ﻧﻮﯾﺴﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺮای‬ ‫و‬‫از‬ ‫ای‬_CHAR_‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬.
  • 10.
    ۱۰ ‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬SAS ‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬SAS‫دﺳﺘﻮرﻫﺎ‬‫ﯾﯽ‬‫ﻫﺴﺘﻨﺪ‬‫ﮐ‬‫ﻪ‬‫ﮐـ‬‫آن‬ ‫ﺗﻮﺳـﻂ‬ ‫ﺎرﺑﺮ‬‫ﺳـﺎﻣﺎﻧﻪ‬‫ﺑـﻪ‬ ‫ﻫـﺎ‬‫ی‬SAS‫ﻋﻤﻠ‬ ‫ﻓﺮﻣـﺎن‬‫ﯿـ‬‫ﺎﺗ‬‫ﯽ‬‫ﻣـ‬‫ﯽ‬‫دﻫـﺪ‬.ً‫ﻻ‬‫ﻣﻌﻤـﻮ‬ ‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬SAS‫ﺑﺎ‬‫ﯾ‬‫ﮏ‬‫ﮐ‬‫ﻠ‬‫ﯿ‬‫ﺪ‬‫ﻣ‬ ‫ﺷﺮوع‬ ‫واژه‬‫ﯽ‬‫ﺷﻮد‬.‫ا‬ ‫در‬‫ﯾ‬‫ﻦ‬‫ﮐ‬‫ﺘﺎب‬‫ﮐ‬‫ﻠ‬‫ﯿ‬‫ﺪواژه‬‫ﺣﺮف‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬‫ﻫﺎ‬‫ی‬‫ﺳـ‬ ‫و‬ ‫ﺑـﺰرگ‬‫ﯿ‬‫ﺎه‬‫ﻧﺸـﺎن‬ ‫ﺷـﺪه‬ ‫ﻣ‬ ‫داده‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫ﮐ‬‫ﻠﻤﻪ‬‫ﺣﺮف‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬‫ﻫﺎ‬‫ی‬‫ﮐ‬‫ﻮﭼ‬‫ﮏ‬‫ﻋﺒﺎرت‬ ‫در‬‫ﻫﺎ‬‫ی‬SAS‫ﻋﻤﻮﻣ‬ ‫ﺻﻮرت‬ ،‫ﯽ‬‫را‬ ‫ﻋﺒﺎرت‬‫ﻣ‬ ‫ﻧﺸﺎن‬‫ﯽ‬‫دﻫﻨﺪ‬. ً‫ﻼ‬‫ﻣﺜ‬‫ﻋﻤﻮﻣ‬ ‫ﺻﻮرت‬‫ﯽ‬‫ﻋﺒﺎرت‬KEEP‫ز‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯾ‬‫اﺳﺖ‬ ‫ﺮ‬: KEEP Var1-Vark; ‫ﺑﺎﻻ‬ ‫ﻋﺒﺎرت‬ ‫در‬KEEP‫ﯾـ‬‫ﮏ‬‫ﮐ‬‫ﻠ‬‫ﯿـ‬‫ﺪ‬‫و‬ ‫اﺳـﺖ‬ ‫واژه‬‫ﻣﺘﻐ‬ ‫ﻧـﺎم‬ ‫آن‬ ‫از‬ ‫ﭘـﺲ‬‫ﯿ‬‫ﺮﻫـﺎ‬)k‫ﻣﺘﻐ‬‫ﯿـ‬‫ﺮ‬(‫اﺳـﺖ‬ ‫ﺷـﺪه‬ ‫آورده‬.‫ا‬‫ﯾـ‬‫ﻋﺒـﺎرت‬ ‫ﻦ‬ ‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬VAR1‫ﺗﺎ‬VARk‫در‬ ‫را‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﺣﻔﻆ‬‫ﮐ‬‫ﺑﻘ‬ ‫و‬ ‫ﺮده‬‫ﯿ‬‫ﻣ‬ ‫ﺣﺬف‬ ‫را‬ ‫ﻪ‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬. ‫ﻋﺒﺎ‬ ‫در‬‫رت‬‫ﻫﺎ‬‫ی‬SAS‫ی‬‫ﮐ‬‫ا‬ ‫از‬ ‫ﻪ‬‫ﯾ‬‫ﻣﻌﺮﻓ‬ ‫ﭘﺲ‬ ‫ﻦ‬‫ﯽ‬‫ﻣ‬‫ﯽ‬‫ﮔﺰ‬ ،‫ﺷﻮﻧﺪ‬‫ﯾ‬‫ﻨﻪ‬‫زاو‬ ‫دو‬ ‫داﺧﻞ‬ ‫ﻫﺎ‬‫ﯾ‬‫ﻪ‬><‫ﻣ‬ ‫داده‬ ‫ﻗﺮار‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫اﺳﺘﻔﺎده‬ ‫ﮔﺰ‬ ‫از‬‫ﯾ‬‫ﻨﻪ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻫﺎ‬‫ﻫﺎ‬‫ی‬SAS‫اﺧﺘ‬‫ﯿ‬‫ﺎر‬‫ی‬‫اﺳﺖ‬.‫ا‬‫ﯾ‬‫ﺷ‬ ‫ﻦ‬‫ﯿ‬‫ﻮه‬‫ا‬‫ی‬‫اﺳﺖ‬‫ﮐ‬‫در‬ ‫ﻪ‬‫ﮐ‬‫ﺘـﺎب‬‫ﻫـﺎ‬‫ی‬‫راﻫﻨﻤـﺎ‬‫ی‬SAS‫ﺑـﻪ‬‫ﮐـ‬‫ﮔﺮﻓﺘـﻪ‬ ‫ﺎر‬ ‫اﺳﺖ‬ ‫ﺷﺪه‬.‫ﮔﺰ‬ ‫از‬ ‫ﻣﺜﺎل‬ ‫ﭼﻨﺪ‬‫ﯾ‬‫ﻨﻪ‬‫ﻣ‬ ‫آورده‬ ‫دﻧﺒﺎل‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬: OUTPUT <data-set-name(s)>; FILENAME fileref <device-type> <options> <operating-environment-options>; ‫ﺷ‬‫ﮑ‬‫دﺳﺘﻮر‬ ‫ﻞ‬‫ی‬‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬SAS ‫ﺑﺮا‬ ‫ﻗﺎﻋﺪه‬ ‫ﭼﻨﺪ‬‫ی‬‫ﻋﺒﺎرت‬ ‫ﻧﻮﺷﺘﻦ‬‫ﻫﺎ‬‫ی‬SAS‫ﻋﺒﺎرت‬‫از‬ ‫اﻧﺪ‬: ۱-‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬SAS‫ﻣ‬ ‫ﺳﺘﻮن‬ ‫ﻫﺮ‬ ‫از‬‫ﯽ‬‫ﺗﻮاﻧﻨﺪ‬‫ﺷﺮوع‬‫ﺳﺘﻮن‬ ‫ﻫﺮ‬ ‫در‬ ‫و‬ ‫ﺷﺪه‬‫ﺧﺎﺗﻤﻪ‬‫ﯾ‬‫ﺎﺑ‬‫ﻨ‬‫ﺪ‬.  ۲-‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬SAS‫ﺑﺎ‬‫ﯾ‬‫ﮏ‬‫واو‬ ‫ﻧﻘﻄﻪ‬‫ک‬);(‫ﻣ‬ ‫ﺧﺎﺗﻤﻪ‬‫ﯽ‬‫ﯾ‬‫ﺎﺑﻨﺪ‬.  ۳-‫ﺑ‬‫ﯿ‬‫از‬ ‫ﺶ‬‫ﯾ‬‫ﮏ‬‫ﻣ‬ ‫ﻋﺒﺎرت‬‫ﯽ‬‫در‬ ‫ﺗﻮاﻧﻨﺪ‬‫ﯾ‬‫ﮏ‬‫ﺷﻮﻧﺪ‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﺳﻄﺮ‬.  ۴-‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬SAS‫ﻣ‬‫ﯽ‬‫ﺳﺘﻮﻧ‬ ‫ﻫﺮ‬ ‫از‬ ‫ﺗﻮاﻧﻨﺪ‬‫ﯽ‬‫در‬‫ﯾ‬‫ﮏ‬‫اداﻣﻪ‬ ‫ﺳﻄﺮ‬ ‫ﭼﻨﺪ‬ ‫در‬ ‫و‬ ‫ﺷﺪه‬ ‫ﺷﺮوع‬ ‫ﺳﻄﺮ‬‫ﯾ‬‫ﺎﺑﻨﺪ‬.  ۵-‫اﺟﺰا‬‫ی‬‫ﯾ‬‫ﮏ‬‫ﻋﺒﺎرت‬SAS‫ﺑﺎ‬‫ﯾ‬‫ﺣﺪاﻗﻞ‬ ‫ﺑﺎ‬ ‫ﺪ‬‫ﯾ‬‫ﮏ‬‫ﺷﻮﻧﺪ‬ ‫ﺟﺪا‬ ‫ﻫﻢ‬ ‫از‬ ‫ﻓﺎﺻﻠﻪ‬.‫اﺟـﺰا‬ ‫اﮔـﺮ‬‫ی‬‫ﯾـ‬‫ﮏ‬‫ﻧﻤﺎ‬ ‫ﺑـﺎ‬ ‫ﻋﺒـﺎرت‬‫دﻫـﺎ‬‫ﯾﯽ‬ ‫ﻣﺜﻞ‬+،-،*،/‫و‬ ،‫ﯾ‬‫ﺎ‬=‫ﺑ‬ ‫ﻓﺎﺻﻠﻪ‬ ‫ﮔﺬاﺷﺘﻦ‬ ،‫ﺷﻮﻧﺪ‬ ‫ﻣﺮﺗﺒﻂ‬ ‫ﺑﻬﻢ‬‫ﯿ‬‫اﻟﺰاﻣ‬ ‫آن‬ ‫ﻦ‬‫ﯽ‬‫ﻧ‬‫ﯿ‬‫ﺴﺖ‬.ً‫ﻼ‬‫ﻣﺜ‬‫ﺻﻮرت‬ ‫ﺗﻤﺎم‬‫ﻫﺎ‬‫ی‬x=y، x  =  y،x=   y‫و‬ ،x  =y‫ﻫﺴﺘﻨﺪ‬ ‫ﻗﺒﻮل‬ ‫ﻗﺎﺑﻞ‬. 
  • 11.
    ۱۱ ۶-‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬SAS‫ﺣﺮف‬ ‫ﺑﻪ‬ ‫ﻧﺴﺒﺖ‬‫ﻧﯿﺴﺖ‬‫ﺣﺴﺎس‬ ‫ﮐﻮﭼﮏ‬ ‫و‬ ‫ﺑﺰرگ‬ ‫ﻫﺎی‬.‫ﺑﺎﻻ‬ ‫دﺳﺘﻮری‬ ‫ﺷﮑﻞ‬ ‫در‬ ‫ﻣﺜﺎل‬ ‫ﺑﺮای‬‫ﻋﻤﻞ‬‫ﮔﺮ‬ OUTPUT،output‫و‬ ،Output‫اﺳﺖ‬ ‫ﯾﮑﺴﺎن‬.  ‫داده‬‫ﻫﺎ‬‫ی‬‫ﮔﻢ‬‫ﺷﺪه‬ ‫ﮔﻢ‬ ‫ﻣﻘﺪار‬‫ﺧﻂ‬ ‫در‬ ‫ﺷﺪه‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ورود‬‫ی‬‫ﺑﺎ‬‫ﯾ‬‫ﮏ‬‫و‬ ‫ﻓﺎﺻﻠﻪ‬‫ﯾ‬‫ﺎ‬‫ﯾ‬‫ﮏ‬‫ﻣ‬ ‫ﻣﺸﺨﺺ‬ ‫ﻧﻘﻄﻪ‬‫ﯽ‬‫ﺷـﻮد‬.‫داده‬‫ی‬‫ﻋـﺪدی‬‫ﮔـﻢ‬‫در‬ ‫ﺷـﺪه‬ ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﺑ‬‫ﺎ‬‫ﯾ‬‫ﮏ‬‫ﻣ‬ ‫داده‬ ‫ﻧﺸﺎن‬ ‫ﻧﻘﻄﻪ‬‫ﯽ‬‫ﺷﻮد‬.‫ﻧﻮ‬ ‫ﻣﻘﺪار‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﮔـﻢ‬‫ﺧـﻂ‬ ‫در‬ ‫ﺷـﺪه‬‫ﻫـﺎ‬‫ی‬‫ورود‬‫ی‬‫ﻓﺎﺻـﻠﻪ‬ ‫ﺑـﺎ‬ ‫ﻣ‬ ‫ﻣﺸﺨﺺ‬‫ﯽ‬‫ﺷﻮد‬. ‫داده‬‫ی‬‫ﮔﻢ‬‫ﻣ‬ ‫ﺷﺪه‬‫ﯽ‬‫ﺗ‬‫در‬ ‫ﻮاﻧﺪ‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﻫﺎ‬‫ی‬‫ﻣﻘﺎ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﺷﻮد‬ ‫اﺳﺘﻔﺎده‬.‫ﺑﺮا‬‫ی‬،‫ﻣﺜﺎل‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﻣﻘﺎ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ز‬‫ﯾـ‬‫ﺑﺮرﺳـ‬ ‫ﺮ‬‫ﯽ‬‫ﻣـ‬‫ﯽ‬‫ﮐ‬‫ﻨـﺪ‬ ‫ﮐ‬‫اﮔﺮ‬ ‫ﻪ‬‫ﻣﻘﺪار‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮ‬age‫ﻣﺸﺎﻫﺪه‬ ‫ﻫﺮ‬ ‫ﺑﺮای‬‫ﮔﻢ‬‫ﺑﺎﺷﺪ‬ ‫ﺷﺪه‬‫ﻣﺸﺎﻫﺪه‬ ‫آن‬ ،‫از‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺷﻮد‬ ‫ﺣﺬف‬. IF age = . THEN DELETE; ۱-۴‫ﮔﺎم‬‫ﻫﺎ‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬‫ا‬‫ی‬SAS ۱-۴-۱‫ﮔﺎم‬DATA ‫ﮔﺎم‬ ‫در‬DATA‫ﻣ‬‫ﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ی‬‫ﮐ‬‫ﺗﺤﻠ‬ ‫ﻣﻨﺎﺳﺐ‬ ‫ﻪ‬‫ﯿ‬‫ﻞ‬‫ﻫﺎ‬‫ی‬‫آﻣﺎر‬‫ی‬‫ﮔﺎم‬ ‫و‬ ‫اﺳﺖ‬PROC‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬ ‫آن‬ ‫از‬‫ﮐﻨـﺪ‬، ‫ز‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯾ‬‫ا‬ ‫ﺮ‬‫ﯾ‬‫ﻣ‬ ‫ﺠﺎد‬‫ﯽ‬‫ﺷﻮد‬. ۱-‫ﺑﺮا‬‫ی‬‫ﮔﺎم‬ ‫ﺷﺮوع‬DATA‫ﻋﺒﺎرت‬ ‫از‬DATA‫ﻧـﺎﻣ‬ ‫و‬‫ﯽ‬‫ﺑـﺮا‬‫ی‬‫ﻣـ‬ ‫اﺳـﺘﻔﺎده‬ ‫آن‬‫ﯽ‬‫ﺷـﻮد‬.‫ﻧـﺎم‬‫ﮔـﺬار‬‫ی‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬ ‫اﺧﺘ‬‫ﯿ‬‫ﺎر‬‫ی‬‫اﺳﺖ‬.  ۲-‫از‬‫ﯾ‬‫ﮑ‬‫ﯽ‬‫ﻋﺒﺎرت‬ ‫از‬‫ﻫﺎ‬‫ی‬INPUT،SET،MERGE،‫ﯾ‬‫ﺎ‬UPDATE‫ﺑﺮا‬‫ی‬‫ﻣﺸﺨﺺ‬‫ﺳـﺎز‬‫ی‬‫ﻣ‬‫ﮑـ‬‫اﻃﻼﻋـﺎﺗ‬ ‫و‬ ‫ﺎن‬‫ﯽ‬‫ﮐـ‬‫در‬ ‫ﻪ‬ ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﻣ‬ ‫اﺳﺘﻔﺎده‬ ،‫اﺳﺖ‬‫ﯽ‬‫ﺷﻮد‬.  ۳-‫داده‬ ‫اﺻﻼح‬‫ا‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫ﻫﺎ‬‫ﯾ‬‫ﻨ‬‫ﮑ‬‫ﺑﻪ‬ ‫ﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺷﻮﻧﺪ‬ ‫وارد‬.‫ا‬‫ﯾ‬‫ﻦ‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ ‫ﺎر‬‫ﻫﺎ‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬‫ا‬‫ی‬‫ﮐ‬‫ﺗﻮﺳـﻂ‬ ‫ﻪ‬‫ﮐـﺎرﺑﺮ‬ ‫ﻧﻮﺷﺘﻪ‬‫ﻣ‬‫ﯽ‬‫ﻣ‬ ‫اﻧﺠﺎم‬ ،‫ﺷﻮد‬‫ﯽ‬‫ﮔ‬‫ﯿ‬‫ﺮد‬.  ‫ﮔﺎم‬DATA‫ﮔﺮوﻫ‬ ‫ﺷﺎﻣﻞ‬‫ﯽ‬‫ﻋﺒﺎرت‬ ‫از‬‫اﺳﺖ‬ ‫ﻫﺎ‬‫ﮐ‬‫ﺑﺎ‬ ‫ﻪ‬‫ز‬ ‫ﻋﺒﺎرت‬‫ﯾ‬‫ﻣ‬ ‫ﺷﺮوع‬ ‫ﺮ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬. DATA < ‫ﻧﺎم‬‫ﻫﺎ‬ >;
  • 12.
    ۱۲ ۱-۴-۲‫ﮔﺎم‬PROC ‫ﺗﺤﻠ‬‫ﯿ‬‫ﻞ‬‫آ‬‫ﻣﺎر‬‫ی‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﺑﺎ‬‫ﺷﯿﻮه‬‫ﻫﺎ‬‫ی‬‫در‬ ‫ﻣﻮﺟﻮد‬SAS‫ﻣ‬‫ﺻﻮرت‬‫ﯽ‬‫ﮔ‬‫ﯿ‬‫ﺮد‬.‫ا‬‫ﯾ‬‫ﻦ‬‫ﺷﯿﻮه‬‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬PROC ‫ﮐ‬‫ﻪ‬‫ﮐ‬‫ﻮﺗﻪ‬‫ﻧ‬‫ﻮ‬‫ﺷﺘﻪ‬‫ی‬Procedure‫ﻓﺮاﺧﻮاﻧ‬ ‫اﺳﺖ‬‫ﯽ‬‫ﻣ‬ ‫اﺟﺮا‬ ‫و‬‫ﯽ‬‫ﺷﻮد‬.‫ﮔﺎم‬PROC‫ﮔﺮوﻫ‬ ‫ﺷﺎﻣﻞ‬‫ﯽ‬‫ﻋﺒﺎرت‬ ‫از‬‫اﺳـﺖ‬ ‫ﻫـﺎ‬‫ﮐـ‬‫ﺑـﺎ‬ ‫ﻪ‬ ‫ﻋﺒﺎرت‬‫ز‬‫ﯾ‬‫ﻣ‬ ‫ﺷﺮوع‬ ‫ﺮ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬. PROC ‫ﻧﺎم‬‫ﺷﯿﻮه‬ ; ۱-۵‫ﮔﺎم‬DATA ‫ـﻪ‬‫ـ‬‫ﻣﺠﻤﻮﻋ‬ ‫ـﺎد‬‫ـ‬‫اﯾﺠ‬ ‫ـﺮای‬‫ـ‬‫ﺑ‬‫داده‬ ‫ی‬‫ـﺎی‬‫ـ‬‫ﻫ‬SAS‫ـﺎ‬‫ـ‬‫ﻣﺘﻐﯿﺮﻫ‬ ‫ـﺮدن‬‫ـ‬‫ﮐ‬ ‫ـﻼح‬‫ـ‬‫اﺻ‬ ،‫ـﺎﻫﺪه‬‫ـ‬‫ﻣﺸ‬ ‫و‬،‫ـﺎ‬‫ـ‬‫ﻫ‬‫ـﺎﺧﺘﻦ‬‫ـ‬‫ﺳ‬ ،‫ـﺪ‬‫ـ‬‫ﺟﺪﯾ‬ ‫ـﺮ‬‫ـ‬‫ﻣﺘﻐﯿ‬ ‫ـﺎﺧﺘﻦ‬‫ـ‬‫ﺳ‬ ‫زﯾﺮﻣﺠﻤﻮﻋﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫از‬ ‫ای‬‫داده‬ ‫ی‬‫و‬ ‫ورودی‬ ‫ﻫﺎی‬...‫از‬‫ﮔﺎم‬DATA‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬‫ﺷـﻮد‬.‫ﮔـﺎم‬DATA‫ﻋﺒـﺎرت‬ ‫ﺑـﺎ‬DATA ‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ ‫و‬ ‫ﺷﺪه‬ ‫ﺷﺮوع‬DATALINES‫ﯾﺎ‬CARDS‫ﻣﯽ‬ ‫ﺧﺎﺗﻤﻪ‬‫ﯾﺎﺑﺪ‬.ً‫ﻼ‬‫ﻣﺜ‬‫ﻣﻘﺎﯾﺴﻪ‬ ‫ﻋﺒﺎرت‬‫ای‬ IF exp < 1.0 and ostan = 'TEH'; ‫زﯾﺮ‬‫ﻣﺠﻤﻮﻋﻪ‬‫ﻣﺸﺎﻫﺪه‬ ‫از‬ ‫ای‬‫ﻫﺎ‬‫را‬‫ﻣﯽ‬ ‫اﯾﺠﺎد‬‫ﮐﻨﺪ‬. ‫ﻣﺜﺎل‬۱-۱‫ﯾﮏ‬ ‫زﯾﺮ‬ ‫در‬‫ﮔﺎم‬DATA‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬ ‫اﯾﺠﺎد‬ ‫ﺑﺮای‬ ‫ﺳﺎده‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻧﻮﺷﺘﻪ‬: DATA exam; INPUT id 1-2 gender $ midterm 6-8 final 9-11 hw 2.1; DATALINES; 11 M 85 91 21 6 F 54 60 20 8 F 60 65 22 19 M 70 72 25 28 M 65 60 22 12 F 90 92 27 30 M 80 85 28 26 F 77 80 26 ; RUN; PROC PRINT; RUN;
  • 13.
    ۱۳ ‫ﮔﺎم‬DATA‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﺎﻻ‬ ‫ی‬‫داده‬‫ی‬‫ﻫﺎی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬ ‫ﻣﻮﻗﺘﯽ‬exam‫ﻣـﯽ‬ ‫اﯾﺠـﺎد‬‫ﮐﻨـﺪ‬.‫ﻋﺒـﺎرت‬DATA‫ﻧـﺎم‬exam‫ﺑـﻪ‬ ‫را‬ ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻣﯽ‬ ‫ﻣﻨﺘﺴﺐ‬ ‫ﺷﺪه‬ ‫اﯾﺠﺎد‬ ‫ﻫﺎی‬‫ﮐﻨﺪ‬.‫ﻋﺒﺎرت‬INPUT‫اﻃﻼع‬ ‫دو‬‫اراﺋﻪ‬‫ﻣـﯽ‬‫ﮐﻨـﺪ‬:‫ﻣﻮﻗﻌﯿـﺖ‬ ‫و‬ ‫ﻣﺘﻐﯿﺮﻫـﺎ‬ ‫ﻧـﺎم‬ ‫ﺧ‬ ‫در‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻣﻘﺪار‬‫ﻂ‬‫ﻫﺎی‬‫داده‬‫ای‬.‫ﻣﯽ‬ ‫ﻣﻼﺣﻈﻪ‬‫ﻧﻘﻄﻪ‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫و‬ ‫ﺷﺮوع‬ ‫ﮐﻠﯿﺪواژه‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﻋﺒﺎرت‬ ‫ﻫﺮ‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬‫واوک‬);( ‫ﻣﯽ‬ ‫ﺧﺎﺗﻤﻪ‬‫ﯾﺎﺑﺪ‬.‫از‬ ‫ﻗﺒﻞ‬ ‫ﻋﺒﺎرت‬RUN‫ﯾﻌﻨﯽ‬";"‫ﻣﯽ‬ ‫ﻧﺎﻣﯿﺪه‬ ‫ﭘﻮچ‬ ‫ﻋﺒﺎرت‬‫ﺷـﻮد‬ ‫آورده‬ ‫ﺟـﺪا‬ ‫ﺳـﻄﺮ‬ ‫ﯾـﮏ‬ ‫در‬ ‫ﺑﺎﯾـﺪ‬ ‫و‬ ‫ﺷﻮد‬. ‫ﻋﺒﺎرت‬ ‫اﮔﺮ‬";"‫ﻣﻘﺪار‬ ‫از‬ ‫ﺑﻌﺪ‬۲۶‫ﺻﻮرت‬ ‫ﺑﻪ‬26;،‫ﺷﻮد‬ ‫آورده‬SAS‫آن‬‫ﻣـﯽ‬ ‫ﻣﺘﻮﻗﻒ‬ ‫را‬ ‫ﭘﺮدازش‬ ‫و‬ ‫ﮔﺮﻓﺘﻪ‬ ‫ﺧﻄﺎ‬ ‫را‬‫ﮐﻨـﺪ‬. ‫ﻋﺒﺎرت‬ ‫آوردن‬RUN;‫ﮔﺎم‬ ‫ﻫﺮ‬ ‫اﻧﺘﻬﺎی‬ ‫در‬‫از‬SAS‫ﻣـﯽ‬‫ﻋﺒـﺎرت‬ ‫ﮐـﻪ‬ ‫ﺧﻮاﻫـﺪ‬‫ﺑـﺎﻻی‬ ‫ﻫـﺎی‬RUN‫ﺷـﻮد‬ ‫اﺟـﺮا‬ ،.‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻫـﺮ‬ ‫ﻣ‬‫ﯽ‬‫ﻋﺒﺎرت‬ ‫ﯾﮏ‬ ‫ﺷﺎﻣﻞ‬ ‫ﻓﻘﻂ‬ ‫ﺗﻮاﻧﺪ‬RUN‫ﻋﺒﺎرت‬ ‫ﭼﻨﺪ‬ ‫ﺷﺎﻣﻞ‬ ‫ﯾﺎ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﻧﺘﻬﺎی‬ ‫در‬RUN.‫ﻣـﯽ‬ ‫ﺗﻮﺻـﯿﻪ‬‫ﮐـﻪ‬ ‫ﺷـﻮد‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮔﺎم‬ ‫ﻫﺮ‬ ‫از‬ ‫ﺑﻌﺪ‬‫ﻋﺒﺎرت‬ ‫ای‬RUN‫ﺷﻮد‬ ‫ﻧﻮﺷﺘﻪ‬. ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﺟﺮای‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬ ‫ﺑﺎﻻ‬ ‫ی‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬exam‫ﻣﯽ‬‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﺳﺎزد‬‫ی‬work‫ﻧﺮم‬‫اﻓﺰار‬SAS‫ﺑـﻪ‬ ‫ذﺧﯿ‬ ‫ﺧﻮدﮐﺎر‬ ‫ﻃﻮر‬‫ﻣﯽ‬ ‫ﺮه‬‫ﺷﻮد‬.‫ﻣﺠﻤﻮﻋﻪ‬ ‫اﯾﻦ‬‫داده‬ ‫ی‬‫ﻣﺤﯿﻂ‬ ‫در‬ ‫ﮐﺎرﺑﺮ‬ ‫ﮐﻪ‬ ‫وﻗﺘﯽ‬ ‫ﺗﺎ‬ ‫ﻫﺎ‬SAS‫ﻣﯽ‬ ‫دﺳﺘﺮس‬ ‫ﻗﺎﺑﻞ‬ ،‫اﺳﺖ‬‫ﺑﺎﺷـﺪ‬. ‫ﻧﺮم‬ ‫از‬ ‫ﺧﺮوج‬ ‫ﺑﺎ‬ ‫وﻟﯽ‬‫اﻓﺰار‬SAS‫ﻣﺠﻤﻮﻋﻪ‬ ‫اﯾﻦ‬ ،‫داده‬ ‫ی‬‫ﻣﯽ‬ ‫ﭘﺎک‬ ‫ﺧﻮدﮐﺎر‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫ﺷﻮد‬.‫ﻣﺠﻤﻮﻋـﻪ‬ ‫اﯾﻦ‬ ‫دﻟﯿﻞ‬ ‫ﻫﻤﯿﻦ‬ ‫ﺑﻪ‬‫ی‬ ‫داده‬‫ﻣﯽ‬ ‫ﻣﻮﻗﺘﯽ‬ ‫را‬ ‫ﻫﺎ‬‫ﮔﻮﯾﻨﺪ‬. ‫ﮔﺰﯾﻨﻪ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻫﺎی‬‫داده‬ ‫ی‬‫ﻫﺎ‬ ‫از‬‫ﮔﺰﯾﻨﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻫﺎی‬‫داده‬ ‫ی‬‫ﻣﯽ‬ ‫ﻫﺎ‬‫داده‬ ‫ﭘﺮدازش‬ ‫ﺑﺮای‬ ‫ﺗﻮاﻧﯿﺪ‬‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻫﺎ‬.‫ﮔﺰﯾﻨـﻪ‬ ‫اﯾـﻦ‬،‫ﭘﺮاﻧﺘـﺰ‬ ‫ﻋﻼﻣـﺖ‬ ‫دو‬ ‫ﺑـﯿﻦ‬ ‫ﻫﺎ‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻧﺎم‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫ﺑﻼﻓﺎﺻﻠﻪ‬‫داده‬ ‫ی‬‫ﻣﯽ‬ ‫ﻗﺮار‬ ‫ﻫﺎ‬‫ﮔﯿﺮﻧﺪ‬.‫ﮔﺰﯾﻨـﻪ‬ ‫اﯾـﻦ‬‫ﮔـﺎم‬ ‫در‬ ‫را‬ ‫ﻫﺎ‬DATA‫ﮔـﺎم‬ ‫و‬PROC‫ﻣﯽ‬‫ﻣـﻮرد‬ ‫ﺗـﻮان‬ ‫داد‬ ‫ﻗﺮار‬ ‫اﺳﺘﻔﺎده‬.‫ﮔﺰﯾﻨﻪ‬ ‫اﯾﻦ‬ ‫از‬ ‫ﺑﺮﺧﯽ‬‫ﺟﺪول‬ ‫در‬ ‫ﻫﺎ‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻓﻬﺮﺳﺖ‬ ‫زﯾﺮ‬.‫ﻣﯽ‬ ‫ﺷﻤﺎ‬‫ﺑـﺮای‬ ‫را‬ ‫ﮔﺰﯾﻨﻪ‬ ‫ﭼﻨﺪ‬ ‫ﯾﺎ‬ ‫ﯾﮏ‬ ‫ﺗﻮاﻧﯿﺪ‬ ‫دﻫﯿﺪ‬ ‫ﻗﺮار‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬ ‫ﺗﺮﮐﯿﺒﯽ‬ ‫اﺛﺮﻫﺎی‬ ‫ﺑﻪ‬ ‫رﺳﯿﺪن‬. ‫ﮔﺰﯾﻨﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ی‬‫ی‬ ‫داده‬ ‫ﻣﺜﺎل‬‫ﺷﺮح‬ (DROP =) (DROP =A B)‫ﻣﺘﻐﯿﺮﻫﺎی‬A‫و‬B‫ﻣﺠﻤﻮﻋﻪ‬ ‫از‬ ‫را‬‫داده‬ ‫ی‬‫ﻣﯽ‬ ‫ﺣﺬف‬ ‫ﻫﺎ‬‫ﮐﻨﺪ‬. (FIRSTOBS =) (FIRSTOBS = 5)‫داده‬ ‫ﺧﻮاﻧﺪن‬‫را‬ ‫ﻫﺎ‬‫ﻣﺸـﺎﻫﺪه‬ ‫از‬‫ﻣﺸﺨﺺ‬ ‫ی‬‫ﺷـﺪه‬)۵(‫ﺷـﺮوع‬ ‫ﻣﯽ‬‫ﮐﻨﺪ‬. (IN =) (IN = DS1)‫ـﺖ‬‫ـ‬‫ﻣﻮﻗ‬ ‫ـﺮ‬‫ـ‬‫ﻣﺘﻐﯿ‬DS1‫ـﻪ‬‫ـ‬‫ﻣﺠﻤﻮﻋ‬ ‫ـﺮدن‬‫ـ‬‫ﮐ‬ ‫ـﺨﺺ‬‫ـ‬‫ﻣﺸ‬ ‫ـﺮای‬‫ـ‬‫ﺑ‬ ‫را‬‫ی‬ ‫داده‬‫ﻣﯽ‬ ‫اﯾﺠﺎد‬ ‫ﻣﻨﺒﻊ‬ ‫ی‬‫ﮐﻨـﺪ‬.‫ﺻـﻮرت‬ ‫در‬ ‫ﻣﺘﻐﯿـﺮ‬ ‫اﯾـﻦ‬ ‫ﻣﻘـﺪار‬ ‫ﻣﺠﻤﻮﻋـﻪ‬ ‫در‬ ‫ﻣﺸﺎﻫﺪه‬ ‫وﺟﻮد‬‫داده‬ ‫ی‬،‫ﻣﺘﻨـﺎﻇﺮ‬ ‫ی‬۱‫ﻏﯿـﺮ‬ ‫در‬ ‫و‬
  • 14.
    ۱۴ ‫ﺻﻮرت‬ ‫اﯾﻦ‬۰‫اﺳﺖ‬. (KEEP =) (KEEP = A B)‫ﻣﺘﻐﯿﺮﻫﺎی‬A‫و‬B‫را‬‫ﻣﯽ‬ ‫ﺣﻔﻆ‬‫ﮐﻨﺪ‬. (OBS =) (OBS = 10)‫داده‬‫ـــﺪن‬‫ـ‬‫ﺧﻮاﻧ‬‫ـــﺎﻫﺪه‬‫ـ‬‫ﻣﺸ‬ ‫ـــﻪ‬‫ـ‬‫ﺑ‬ ‫ـــﯿﺪن‬‫ـ‬‫رﺳ‬ ‫از‬ ‫ـــﺪ‬‫ـ‬‫ﺑﻌ‬ ‫را‬ ‫ـــﺎ‬‫ـ‬‫ﻫ‬‫ی‬ ‫ﻣﺸﺨﺺ‬‫ﺷﺪه‬)۱۰(‫ﻣﯽ‬ ‫ﻣﺘﻮﻗﻒ‬‫ﮐﻨﺪ‬.  (RENAME = ()) (RENAME = (A = D))‫ﻣﺘﻐﯿﺮ‬ ‫ﻧﺎم‬A‫ﺑﻪ‬ ‫را‬D‫ﻣﯽ‬ ‫ﺗﻐﯿﯿﺮ‬‫دﻫﺪ‬.‫ﮐـﻪ‬ ‫ﺑﺎﺷﯿﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺗﻮﺟﻪ‬ ‫ﮔﺰﯾﻨﻪ‬ ‫ﺳﺎﯾﺮ‬‫ﺑﺎﯾﺪ‬ ،‫ﮔﺰﯾﻨﻪ‬ ‫اﯾﻦ‬ ‫ﻫﻤﺮاه‬ ‫ﺑﻪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺻﻮرت‬ ‫در‬ ‫ﻫﺎ‬ ‫ﻧﺎم‬ ‫از‬‫ﻫﺎی‬‫اوﻟﯿﻪ‬‫ﻧﺎم‬ ‫ﻧﻪ‬ ‫و‬ ،‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ی‬‫اﺳـﺘﻔﺎده‬ ،‫ﺟﺪﯾـﺪ‬ ‫ﻫـﺎی‬ ‫ﮐﻨﻨﺪ‬. (WHERE = ()) (WHERE = (A >= 10))‫ﻣﯽ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫ﻣﺸﺎﻫﺪاﺗﯽ‬ ‫ﻓﻘﻂ‬‫ﻣﺘﻐﯿـﺮ‬ ‫ﻣﻘـﺪار‬ ‫ﮐـﻪ‬ ‫ﮔﯿﺮد‬A‫در‬ ‫آن‬‫ﺑﺰرگ‬ ‫ﻫﺎ‬‫ﻣﺴﺎوی‬ ‫ﯾﺎ‬ ‫ﺗﺮ‬۲۰‫ﺑﺎﺷﺪ‬. ‫ﻧﮑﺘﻪ‬:‫ﮔﺰﯾﻨﻪ‬ ‫اﯾﻦ‬ ‫ﮐﻪ‬ ‫ﺑﺎﺷﯿﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺗﻮﺟﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻫﺎ‬‫داده‬ ‫ی‬‫ﻧﻤﯽ‬ ‫ﺗﻐﯿﯿﺮ‬ ‫را‬ ‫اﺻﻠﯽ‬ ‫ﻫﺎی‬‫دﻫﻨﺪ‬. ‫اﻧﺘﺨ‬‫زﯾﺮﻣﺠﻤﻮﻋﻪ‬ ‫ﺎب‬‫داده‬ ‫از‬ ‫ای‬‫ﻫﺎ‬ ‫ﻋﺒﺎرت‬ ‫از‬‫ﻫﺎی‬IF‫و‬WHERE‫ﻣﯽ‬‫زﯾﺮﻣﺠﻤﻮﻋﻪ‬ ‫ﺳﺎﺧﺘﻦ‬ ‫ﺑﺮای‬ ‫ﺗﻮاﻧﯿﺪ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫از‬ ‫ای‬‫داده‬ ‫ی‬‫ﮐﻨﯿـﺪ‬ ‫اﺳـﺘﻔﺎده‬ ‫ﻣﻮﺟـﻮد‬ ‫ﻫـﺎی‬. ‫ﺗﻔﺎوت‬‫ﭼﻪ‬ ‫ﮐﻪ‬ ‫اﯾﻦ‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬ ‫ﻋﺒﺎرت‬ ‫دو‬ ‫اﯾﻦ‬ ‫ﺑﯿﻦ‬ ‫ﻫﺎﯾﯽ‬‫ﮔﺰﯾﻨﻪ‬ ‫ﭼﻪ‬ ‫ﺑﺎ‬ ‫و‬ ‫ﻣﻮﻗﻊ‬‫ﻣﯽ‬ ‫ﻫﺎﯾﯽ‬،‫ﮔﯿﺮﻧـﺪ‬ ‫ﻗـﺮار‬ ‫اﺳـﺘﻔﺎده‬ ‫ﻣﻮرد‬ ‫ﺗﻮاﻧﻨﺪ‬ ‫دارد‬ ‫ـﻮد‬‫ـ‬‫وﺟ‬.‫ـﺮط‬‫ـ‬‫ﺷ‬‫ﻫﺎی‬WHERE‫ـ‬‫ـ‬‫ﭘ‬‫داده‬ ‫ـﻪ‬‫ـ‬‫ﮐ‬ ‫ـﻦ‬‫ـ‬‫اﯾ‬ ‫از‬ ‫ﯿﺶ‬‫ﻣﯽ‬ ‫ـﺎل‬‫ـ‬‫ِﻋﻤ‬‫ا‬ ‫ـﻮﻧﺪ‬‫ـ‬‫ﺷ‬ ‫ورودی‬ ‫ـﺎﻓﺮ‬‫ـ‬‫ﺑ‬ ‫وارد‬ ‫ـﺎ‬‫ـ‬‫ﻫ‬‫ـﻪ‬‫ـ‬‫ﮐ‬ ‫ـﺎﻟﯽ‬‫ـ‬‫ﺣ‬ ‫در‬ ‫ـﻮﻧﺪ‬‫ـ‬‫ﺷ‬ ‫ﺷﺮط‬‫ﻫﺎی‬IF‫داده‬ ‫ورود‬ ‫از‬ ‫ﭘﺲ‬‫داده‬ ‫ﺑﺮدار‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻫـﺎی‬(PDV)‫ﻣﯽ‬ ‫ِﻋﻤـﺎل‬‫ا‬‫ﺷـﻮﻧﺪ‬.‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﺑـﺮای‬‫داده‬ ‫ﻫﺎی‬‫ﻫـﺎی‬ ‫ﻋﺒﺎرت‬ ،‫ﺑﺰرگ‬WHERE‫داده‬ ‫ﮐـﻪ‬ ‫آن‬ ‫از‬ ‫ﭘـﯿﺶ‬ ‫زﯾﺮا‬ ،‫اﺳﺖ‬ ‫ﮐﺎراﺗﺮ‬‫وارد‬ ‫ﻫـﺎ‬PDV‫ﻣﯽ‬ ‫اﺟـﺮا‬ ،‫ﺷـﻮﻧﺪ‬‫ﺷـﻮد‬.‫در‬‫ﺣﺎﻟـﺖ‬ ‫دو‬ ‫ﻧﻤﯽ‬‫از‬ ‫ﺗﻮان‬WHERE‫ﮐـﺮد‬ ‫اﺳـﺘﻔﺎده‬.‫ﻋﺒـﺎرت‬WHERE‫ﻣﺠﻤﻮﻋـﻪ‬ ‫در‬ ‫ﻣﻮﺟـﻮد‬ ‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ﺑـﺎ‬ ‫ﺗﻨﻬـﺎ‬‫داده‬ ‫ی‬‫ورودی‬ ‫ﻫـﺎی‬ ‫ﻣﯽ‬‫داد‬ ‫ﻗـﺮار‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬ ‫ﺗﻮان‬.‫ﺷـﺮط‬ ‫اﮔـﺮ‬‫ﻫﺎی‬WHERE‫ﮔـﺎم‬ ‫در‬ ‫ﮐـﻪ‬ ‫ﻣﺘﻐﯿﺮﻫـﺎﯾﯽ‬ ‫ﺷـﺎﻣﻞ‬DATA‫ﺷـﺪه‬ ‫اﯾﺠـﺎد‬‫ﯾـﺎ‬ ‫اﻧﺪ‬ ‫ﻣﺎﻧﻨﺪ‬ ‫ﻣﻮﻗﺘﯽ‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬_N_‫ﺧﻮاﻫ‬ ‫ﻣﻮاﺟـﻪ‬ ‫ﺧﻄـﺎ‬ ‫ﭘﯿﻐـﺎم‬ ‫ﯾـﮏ‬ ‫ﺑﺎ‬ ،‫ﺑﺎﺷﻨﺪ‬‫ﺷـﺪ‬ ‫ﯿـﺪ‬.‫ﺑـﻪ‬،‫ﻋﻼوه‬WHERE‫ﻧﻤﯽ‬ ‫را‬‫ﺑـﺎ‬ ‫ﺗـﻮان‬ ‫ﻋﺒﺎرت‬INPUT‫ﮔﺰﯾﻨﻪ‬ ‫ﯾﺎ‬‫ﻫﺎی‬POINT=‫و‬FIRSTOBS=‫ﺑﺮد‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬.‫ﻋﺒﺎرت‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺮای‬WHERE‫ﻋﺒﺎرت‬ ‫ﯾﮏ‬ ، SET،MERGE‫ﯾﺎ‬UPDATE‫ﮔﺎم‬ ‫در‬ ‫ﺑﺎﯾﺪ‬DATA‫ﺑﺎﺷـﺪ‬ ‫ﻣﻮﺟـﻮد‬.‫ﺗﺮﮐﯿـﺐ‬ ‫ﻫﻨﮕـﺎم‬ ‫ﮐـﻪ‬ ‫ﺑﺎﺷـﯿﺪ‬ ‫داﺷـﺘﻪ‬ ‫ﺗﻮﺟـﻪ‬ ،‫ﻫﻤﭽﻨـﯿﻦ‬ ‫داده‬‫ﺷﺮط‬ ،‫ﻫﺎ‬WHERE‫ﻣﺠ‬ ‫ﺗﺮﮐﯿﺐ‬ ‫از‬ ‫ﭘﯿﺶ‬‫ﻤﻮﻋﻪ‬‫داده‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫ِﻋﻤﺎل‬‫ا‬ ‫ﻫﺎ‬‫ﺷـﺮط‬ ‫ﺧـﻼف‬ ‫ﺑﺮ‬ ‫ﺷﻮد‬IF‫ﺗﺮﮐﯿـﺐ‬ ‫از‬ ‫ﭘـﺲ‬ ‫ﮐـﻪ‬ ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫ِﻋﻤﺎل‬‫ا‬ ‫ﻫﺎ‬‫ﺷﻮد‬.
  • 15.
    ۱۵ ‫ﮔﺰﯾﻨﻪ‬ ‫ﺑﯿﻦ‬ ‫ﮐﺎراﯾﯽ‬‫ﻧﻈﺮ‬ ‫از‬ ‫ﺗﻔﺎوﺗﯽ‬ ‫ﻫﯿﭻ‬‫ی‬WHERE‫ﻋﺒـﺎرت‬ ‫و‬WHERE‫ﻧـﺪارد‬ ‫وﺟـﻮد‬.‫ﻋﻤﻞ‬‫در‬ ‫ﺑﺴـﯿﺎری‬ ‫ﮔﺮﻫـﺎی‬SAS ‫ﻣﯽ‬ ‫ﮐﻪ‬ ‫دارد‬ ‫وﺟﻮد‬‫ﻋﺒﺎرت‬ ‫دو‬ ‫ﻫﺮ‬ ‫ﺑﺎ‬ ‫ﺗﻮاﻧﻨﺪ‬IF‫و‬WHERE‫ﺷﻮﻧﺪ‬ ‫اﺳﺘﻔﺎده‬.‫ﻋ‬ ‫ﭼﻨﺪ‬‫ﻤﻞ‬‫ﻣﯽ‬ ‫ﻓﻘـﻂ‬ ‫ﮐـﻪ‬ ‫دارد‬ ‫وﺟﻮد‬ ‫ﮔﺮ‬‫ﺗﻮاﻧﻨـﺪ‬ ‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ WHERE‫ﮔﯿﺮﻧﺪ‬ ‫ﻗﺮار‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬.‫ﻋﻤﻞ‬ ‫اﯾﻦ‬‫ﻋﺒﺎرت‬ ‫ﮔﺮﻫﺎ‬‫از‬ ‫اﻧـﺪ‬:BETWEEN‐AND‫اﺻـﻼح‬ ،‫دوﻧﻘﻄـﻪ‬ ‫ﮔﺮ‬ (:)،CONTAINS‫ﯾﺎ‬?،IS NULL‫ﯾﺎ‬IS MISSING،LIKE ‘pattern’‫ﻋﻼﻣﺖ‬ ،%،‫ﻋﻼﻣﺖ‬=*‫زﯾﺮﺧﻂ‬ ‫و‬ ،(_). ‫ﻣﺜﺎل‬ DATA test; INPUT name $ class $ score; CARDS; Tim Math 9 Tim History 8 Tim Science 7 Sally Math 10 Sally Science 7 Sally History 10 John Math 8 John History 8 John Science 9 RUN; DATA grade; SET test; WHERE name = 'Tim' or name = 'Sally'; IF class = 'Math' THEN classnum = 1; ELSE IF class = 'Science' THEN classnum = 2; ELSE IF class = 'History' THEN classnum = 3; IF classnum = 2; RUN; PROC PRINT DATA = grade; RUN; ‫ﮐﻨﯿﺪ‬ ‫ﻣﯽ‬ ‫ﻣﺸﺎﻫﺪه‬ ‫زﯾﺮ‬ ‫در‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﯾﻦ‬ ‫ﺧﺮوﺟﯽ‬: Obs name class score classnum 1 Tim Science 7 2 2 Sally Science 7 2
  • 16.
    ۱۶ ۱-۵-۱‫ﻋﺒﺎرت‬‫ﮔﺎم‬ ‫ﺑﺎ‬ ‫ﮐﻪ‬‫ﻫﺎﯾﯽ‬DATA‫ﮐﺎر‬ ‫ﺑﻪ‬‫ﻣﯽ‬‫روﻧﺪ‬ ۱-۵-۱-۱‫ﻋﺒﺎرت‬INPUT ‫ﻋﺒﺎرت‬INPUT‫ﺗﺮ‬‫ﺗ‬‫ﯿ‬‫ﻣﺘﻐ‬ ‫ﮔﺮﻓﺘﻦ‬ ‫ﻗﺮار‬ ‫ﺐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﺳﻄﺮ‬ ‫ﻫﺮ‬ ‫در‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺑ‬ ‫را‬‫ﯿ‬‫ﻣ‬ ‫ﺎن‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.‫ﺳـﺎﻣﺎﻧﻪ‬‫ی‬SAS ‫اﻃﻼﻋﺎت‬ ‫از‬‫اراﺋﻪ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﺷﺪه‬INPUT‫اﺳﺘﻔﺎده‬‫ﮐ‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﺧﻮاﻧﺪن‬ ‫ﺑﺎ‬ ‫و‬ ‫ﺮده‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﺑﺮا‬‫ی‬‫ﻫﺮ‬‫ﯾ‬‫ﮏ‬‫ﻣﺘﻐ‬ ‫از‬‫ﯿ‬‫ﺮﻫﺎ‬‫ﯾﯽ‬ ‫ﮐ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻪ‬INPUT‫ﺷـﺪه‬ ‫ﻓﻬﺮﺳﺖ‬‫ﻣﺸـﺎﻫﺪه‬ ،‫اﻧـﺪ‬‫در‬ ‫را‬ ‫ﻫـﺎ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫ی‬‫ﮐـ‬‫ﺗﻮﻟ‬ ‫ﻪ‬‫ﯿـ‬‫ﻣـ‬ ‫ﺪ‬‫ﯽ‬‫ا‬ ،‫ﺷـﻮد‬‫ﯾ‬‫ﺠـﺎد‬ ‫ﻣ‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬. ‫روش‬‫ﻫﺎ‬‫ی‬‫ﻣﺘﻌﺪد‬‫ی‬‫ﺑﺮا‬‫ی‬‫ورود‬‫ﻣﻘﺪارﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺑﺮا‬ ‫ﺮﻫﺎ‬‫ی‬‫ا‬‫ﯾ‬‫ﺠﺎد‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫دارﻧـﺪ‬ ‫وﺟـﻮد‬.‫از‬ ‫روش‬ ‫ﺳـﻪ‬ ‫آن‬‫ﺗﺸﺮ‬ ‫دﻧﺒﺎل‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫ﯾ‬‫ﻣ‬ ‫ﺢ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬. INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬ ‫ا‬ ‫در‬‫ﯾ‬‫روش‬ ‫ﻦ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻧﺎم‬INPUT‫ﻣﻘﺪارﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﺑﺎ‬ ‫ﺣﺪاﻗﻞ‬‫ﯾـ‬‫ﮏ‬‫از‬ ‫ﻓﺎﺻـﻠﻪ‬‫ﯾ‬‫ﮑـ‬‫ﺪ‬‫ﯾ‬‫ﻣـ‬ ‫ﺟـﺪا‬ ‫ﮕﺮ‬‫ﯽ‬‫ﺷـﻮﻧﺪ‬. ‫ﻣﺜﺎﻟ‬‫ﯽ‬‫ا‬ ‫از‬‫ﯾ‬‫از‬ ‫اﺳﺖ‬ ‫ﻋﺒﺎرت‬ ‫روش‬ ‫ﻦ‬: INPUT age weight height; ‫ا‬ ‫در‬‫ﯾ‬،‫ﻣﺜﺎل‬ ‫ﻦ‬SAS‫اوﻟ‬‫ﯿ‬‫ﻫﺮ‬ ‫از‬ ‫ﻣﻘﺪار‬ ‫ﻦ‬‫ﺧﻂ‬‫داده‬‫اوﻟ‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻫﺎ‬‫ﯿ‬‫ﻣﺘﻐ‬ ‫ﻦ‬‫ﯿ‬،‫ﺮ‬age‫دوﻣ‬ ،‫ﯽ‬‫دوﻣـ‬ ‫ﺑﻪ‬ ‫را‬‫ﯿ‬‫ﻣﺘﻐ‬ ‫ﻦ‬‫ﯿـ‬،‫ﺮ‬weight‫و‬ ، ‫ﺳﻮﻣ‬‫ﯽ‬‫ﺳﻮﻣ‬ ‫ﺑﻪ‬ ‫را‬‫ﯿ‬‫ﻣﺘﻐ‬ ‫ﻦ‬‫ﯿ‬،‫ﺮ‬height‫ﻣ‬ ‫ﻣﻨﺘﺴﺐ‬ ،‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.‫ﻫﻨﮕﺎﻣ‬‫ﯽ‬‫ﮐ‬‫از‬ ‫ﻪ‬INPUT‫ﻓﻬﺮﺳـﺘ‬‫ﯽ‬‫اﺳـﺘ‬‫ﻣـ‬ ‫ﻔﺎده‬‫ﯽ‬‫ﻣﻘـﺪارﻫﺎ‬ ‫ﺷـﻮد‬‫ی‬ ‫داده‬‫ا‬‫ی‬‫ﺧﻂ‬ ‫در‬‫ﻫﺎ‬‫ی‬‫داده‬‫ﻧ‬ ‫ﻫﺎ‬‫ﯿ‬‫ﺑﺎ‬ ‫ﺰ‬‫ﯾ‬‫ﺣﺪاﻗﻞ‬ ‫ﺑﺎ‬ ‫ﺪ‬‫ﯾ‬‫ﮏ‬‫ﺷﻮﻧﺪ‬ ‫ﺟﺪا‬ ‫ﻫﻢ‬ ‫از‬ ‫ﻓﺎﺻﻠﻪ‬. ‫از‬INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫ﻣ‬‫ﯽ‬‫ﺑﺮا‬ ‫ﻫﻢ‬ ‫ﺗﻮان‬‫ی‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﺧﻮاﻧﺪن‬‫ی‬‫ﻋﺪد‬‫ی‬‫ﻧﻮ‬ ‫ﻫﻢ‬ ‫و‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫اﺳﺘﻔﺎده‬‫ﮐ‬‫ﺮد‬.‫ﺑـﺮا‬‫ی‬‫ﻣﺸـﺨﺺ‬‫ﮐـ‬‫ﺮدن‬ ‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬‫ﻧﻮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫در‬INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫ﻧﻤﺎد‬ ‫از‬$‫ﺟﻠﻮ‬ ‫در‬‫ی‬‫ﻣﺘﻐ‬ ‫ﻧﺎم‬‫ﯿ‬‫ﻣ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺮ‬‫ﯽ‬‫ﺷﻮد‬.‫ﺑﺮا‬‫ی‬‫وﻗﺘـ‬ ‫ﻣﺜـﺎل‬‫ﯽ‬INPUT ‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫ﺻﻮرت‬ ‫ﺑﻪ‬ INPUT ostan $ exp act; ،‫ﺑﺎﺷﺪ‬SAS‫ﻣ‬ ‫ﻓﺮض‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬‫ﮐ‬‫ﻣﺘﻐ‬ ‫ﻪ‬‫ﯿ‬‫ﺮ‬ostan‫ﻣﻘﺪارﻫﺎ‬ ‫ﺷﺎﻣﻞ‬‫ی‬‫ﻧﻮ‬‫ﯾ‬‫ﺴـﻪ‬‫ا‬‫ی‬‫ﻣﺘﻐ‬ ‫و‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ی‬exp‫و‬act‫ﻣﻘـﺪارﻫﺎ‬ ‫ﺷـﺎﻣﻞ‬‫ی‬ ‫ﻋﺪد‬‫ی‬‫ﻫﺴﺘﻨﺪ‬. ‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬SAS‫ﺑﻪ‬‫ﺻﻮرت‬‫ﭘ‬‫ﯿ‬‫ﺶ‬‫ﻓﺮض‬،‫ﻣﺎ‬‫ﮐ‬‫ﺴ‬‫ﯿ‬‫ﻃﻮﻟ‬ ‫ﻤﻢ‬‫ﯽ‬‫اﻧﺪازه‬ ‫ﺑﻪ‬‫ی‬۸‫ﻧﻮ‬‫ﯾ‬‫ﺴﻪ‬)‫ﺑﺎ‬‫ﯾـ‬‫ﺖ‬(‫ﻣﻘـﺪارﻫﺎ‬ ‫ﺑـﻪ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﻣـ‬‫ﯽ‬‫دﻫـﺪ‬. ‫داده‬ ‫ﻣﻘـﺪار‬ ‫اﮔﺮ‬‫ا‬‫ی‬‫ﮐ‬‫از‬ ‫ﻤﺘـﺮ‬۸‫ﻧﻮ‬‫ﯾ‬‫آن‬ ‫ﺑﺎﺷـﺪ‬ ‫داﺷـﺘﻪ‬ ‫ﻃـﻮل‬ ‫ﺴـﻪ‬‫را‬‫ﺳـﺘﻮن‬ ‫ﺑـﺎﻗﯽ‬ ‫و‬ ‫ﻧﻮﺷـﺘﻪ‬ ‫راﺳـﺖ‬ ‫ﺳـﻤﺖ‬ ‫از‬‫ﺧـﺎﻟﯽ‬ ‫را‬ ‫ﻫﺎ‬
  • 17.
    ۱۷ ‫ﻣﯽ‬‫ﮔﺬارد‬.‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬‫ﻧﻮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﮐ‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﺷﺎﻣﻞ‬ ‫ﻪ‬‫ﯾﯽ‬‫ﺑـ‬‫ﺑﺎ‬‫ﯿ‬‫از‬ ‫ﺶ‬۸‫ﻧﻮ‬‫ﯾ‬‫ﻣـ‬ ‫را‬ ‫ﻫﺴـﺘﻨﺪ‬ ‫ﺴـﻪ‬‫ﯽ‬‫روش‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑـﺎ‬ ‫ﺗـﻮان‬ INPUT‫ﻓﻮرﻣﺖ‬‫ﺑﻪ‬ ‫ﺷﺪه‬SAS‫ﻣﻌﺮﻓ‬‫ﯽ‬‫ﮐ‬‫ﺮد‬. ‫ﺑﻪ‬‫ﻫﻨﮕﺎم‬‫ﮐ‬‫ﺎرﺑﺴﺖ‬INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫اﮔﺮ‬ ،SAS‫ﻣﻘﺪار‬‫ی‬‫ﺑﺮا‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺟﺎر‬ ‫ﺳﻄﺮ‬ ‫در‬ ‫ﺮ‬‫ی‬‫ﻧ‬‫ﯿ‬‫ﺎ‬‫ﺑـ‬‫داده‬ ‫ﺳـﻄﺮ‬ ‫ﺑـﻪ‬ ،‫ﺪ‬‫ﻫـﺎ‬‫ﺑﻌـﺪی‬ ‫ی‬ ‫داده‬ ‫ﻣﻘﺪار‬ ‫و‬ ‫رﻓﺘﻪ‬‫ا‬‫ی‬‫ﺑﺮا‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫اﺧﺘ‬ ‫ﺮ‬‫ﯿ‬‫ﺎر‬‫ﻣﯽ‬‫ﮐ‬‫ﻨﺪ‬.‫ا‬ ‫ﺑﻪ‬‫ﯾ‬‫ﻫﻨﮕﺎم‬ ،‫ﻣﻨﻈﻮر‬ ‫ﻦ‬‫ﮐ‬‫ﺎرﺑﺴﺖ‬INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫داده‬ ،‫ﻫﺎ‬‫ی‬‫ﮔﻢ‬‫ﺷـﺪه‬ ‫ﺑﺎ‬ ‫ﺣﺘﻤﺎ‬‫ﯾ‬‫ﺑﺎ‬ ‫ﺪ‬‫ﯾ‬‫ﮏ‬‫ﻧﻘﻄﻪ‬(.)‫ﻫﻤـﺮاه‬ ‫ﺑـﻪ‬‫ﯾـ‬‫ﮏ‬‫ﺧـﺎﻟ‬ ‫ﺳـﺘﻮن‬‫ﯽ‬‫ﻧﻘﻄـﻪ‬ ‫ﻃـﺮف‬ ‫دو‬ ‫در‬‫ﻣﺸـ‬‫ﺷـﻮﻧﺪ‬ ‫ﺨﺺ‬.‫در‬INPUT‫ﻓﻬﺮﺳـﺘ‬‫ﯽ‬ ‫ﻧﻤ‬‫ﯽ‬‫ﻓﺎﺻﻠﻪ‬ ‫از‬ ‫ﺗﻮان‬‫ی‬‫ﺧﺎﻟ‬‫ﯽ‬‫ﺑﺮا‬‫ی‬‫ﻣﺸﺨﺺ‬‫ﺳﺎز‬‫ی‬‫داده‬‫ی‬‫ﮔﻢ‬‫اﺳﺘﻔﺎده‬ ‫ﺷﺪه‬‫ﮐ‬‫ﺮد‬. INPUT‫ﻓ‬‫ﻮ‬‫رﻣﺖ‬‫ﺷﺪه‬ ‫روش‬INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫ﻣﻤ‬‫ﮑ‬‫ﺑﺮا‬ ‫اﺳﺖ‬ ‫ﻦ‬‫ی‬‫ﺑﺴـ‬‫ﯿ‬‫ﺎر‬‫ی‬‫از‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ﯾﯽ‬‫ﮐـ‬‫ﻣـ‬ ‫آورده‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫در‬ ‫ﻪ‬‫ﯽ‬‫و‬ ‫ﺷـﻮﻧﺪ‬‫ﯾـ‬‫از‬ ‫ﺎ‬ ‫رﺳﺎﻧﻪ‬‫ﻫﺎی‬‫ذﺧ‬‫ﯿ‬‫ﺮه‬‫ﻣﺜـﻞ‬ ‫ﺳﺎز‬‫د‬‫ﯾ‬‫ﺴـ‬‫ﮏ‬‫ﯾـ‬‫ﺎ‬CD‫ﻣـ‬ ‫ﺧﻮاﻧـﺪه‬‫ﯽ‬‫ﻣﻨ‬ ،‫ﺷـﻮﻧﺪ‬‫ﻧﺒﺎﺷـﺪ‬ ‫ﺎﺳـﺐ‬.‫ز‬‫ﯾـ‬‫ﻣﻘـﺪارﻫﺎ‬ ‫ﺮا‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﻣﻨﻈـﻮر‬ ‫ﺑـﻪ‬ ‫ﺻﺮﻓﻪ‬‫ﺟﻮ‬‫ﯾﯽ‬‫ﻣﻤ‬ ‫ﻓﻀﺎ‬ ‫در‬‫ﮑ‬‫ﺑﻪ‬ ‫اﺳﺖ‬ ‫ﻦ‬‫ﻣﺘﻮاﻟ‬ ‫ﻃﻮر‬‫ﯽ‬‫داده‬ ‫ﻓﺎﺻﻠﻪ‬ ‫ﺑﺪون‬ ‫و‬‫آ‬‫ﻣﺎ‬‫ﯾﯽ‬‫و‬ ‫ﺑﺎﺷﻨﺪ‬ ‫ﺷﺪه‬‫ﯾـ‬‫ﻣﻤ‬ ‫ﺎ‬‫ﮑـ‬‫ﻣﻘـﺪارﻫﺎ‬ ‫اﺳـﺖ‬ ‫ﻦ‬‫ی‬ ‫داده‬‫ا‬‫ی‬‫واو‬ ‫ﺑﺎ‬‫ک‬‫از‬‫ﯾ‬‫ﮑ‬‫ﺪ‬‫ﯾ‬‫ﺑﺎﺷﻨﺪ‬ ‫ﺷﺪه‬ ‫ﺟﺪا‬ ‫ﮕﺮ‬.‫ا‬ ‫در‬‫ﯾـ‬‫ﺣﺎﻟـﺖ‬ ‫ﻦ‬‫ﺑﺎ‬ ‫ﻫـﺎ‬‫ﯾـ‬‫ا‬ ‫از‬ ‫ﺪ‬‫ﯾ‬‫ﻨ‬‫ﻔﻮرﻣـﺖ‬‫ﻫـﺎ‬‫ی‬SAS‫ﺑـﺮا‬‫ی‬‫داده‬ ‫ﺧﻮاﻧـﺪن‬‫ﻫـﺎ‬ ‫اﺳﺘﻔﺎده‬‫ﮐ‬‫ﺮد‬. ‫از‬‫ا‬‫ﯾ‬‫ﻨﻔ‬‫ﻮ‬‫رﻣﺖ‬‫ﻫﺎ‬‫ﻣ‬‫ﯽ‬‫ﺑﺮا‬ ‫ﺗﻮان‬‫ی‬‫داد‬ ‫ﺧﻮاﻧﺪن‬‫ه‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫داده‬ ‫ﺧﻄﻮط‬ ‫در‬ ‫ﺻﻮرت‬ ‫ﻫﺮ‬ ‫ﺑﻪ‬ ‫ﻪ‬‫اﺳـﺘﻔﺎده‬ ،‫ﺑﺎﺷـﻨﺪ‬ ‫ﺷﺪه‬ ‫وارد‬ ‫ﻫﺎ‬‫ﮐـ‬‫ﺮد‬. ‫ا‬‫ﯾ‬‫ﻨﻔ‬‫ﻮ‬‫رﻣﺖ‬‫اﻃﻼﻋﺎﺗ‬ ‫ﻫﺎ‬‫ﯽ‬‫ﻧﻈ‬‫ﯿ‬‫ﺳﺘﻮن‬ ‫ﺗﻌﺪاد‬ ‫ﺮ‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐـ‬‫ﻪ‬‫ﯾـ‬‫ﮏ‬‫داده‬ ‫ﻣﻘـﺪار‬‫ا‬‫ی‬‫اﺷـﻐﺎل‬‫ﮐـ‬‫داده‬ ‫ﻣﻘـﺪار‬ ‫ﭼﮕﻮﻧـﻪ‬ ،‫ﺮده‬‫ا‬‫ی‬‫ﺧﻮاﻧـﺪه‬ ‫ا‬ ‫و‬ ،‫ﺷﻮد‬‫ﯾ‬‫ﻨ‬‫ﮑ‬‫داده‬ ‫ﻣﻘﺪار‬ ‫ﭼﮕﻮﻧﻪ‬ ‫ﻪ‬‫ا‬‫ی‬‫در‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ذﺧ‬‫ﯿ‬‫را‬ ‫ﺷﻮد‬ ‫ﺮه‬‫اراﺋﻪ‬‫ﻣ‬‫ﯽ‬‫ﮐ‬‫ﻨﻨﺪ‬. ‫ﺑﺮا‬‫ی‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﺧﻮاﻧﺪن‬‫ی‬‫داده‬‫ا‬‫ی‬‫از‬‫ﺧﻂ‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬،‫ﮐـ‬‫ﺑﺎ‬ ‫ﺎرﺑﺮ‬‫ﯾـ‬‫ﺳـﺘﻮﻧ‬ ‫ﺪ‬‫ﯽ‬‫ﮐـ‬‫داده‬ ‫ﻣﻘـﺪار‬ ‫ﻪ‬‫ا‬‫ی‬‫آن‬ ‫از‬‫ﻣـ‬ ‫ﺷـﺮوع‬‫ﯽ‬،‫ﺷـﻮد‬ ‫ﺳﺘﻮن‬ ‫ﻣﻘﺪار‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫ﺑﺎ‬ ‫ﻪ‬‫ﯾ‬،‫ﺷﻮﻧﺪ‬ ‫ﺧﻮاﻧﺪه‬ ‫ﺪ‬‫اﯾـﻦ‬‫ﮐـﻪ‬‫داده‬ ‫ﻣﻘـﺪار‬‫ا‬‫ی‬‫ﻋـﺪد‬‫ی‬‫و‬ ‫اﺳـﺖ‬‫ﯾـ‬‫ﻧﻮ‬ ‫ﺎ‬‫ﯾ‬‫ﺴـﻪ‬‫ا‬‫ی‬‫ﻧﻘﻄـﻪ‬ ‫و‬‫ی‬‫اﻋﺸـﺎر‬‫ی‬‫از‬ ‫ﻣﻘﺪار‬‫ﻫﺎ‬‫ی‬‫ﻋﺪد‬‫ی‬‫ﮐ‬‫ﺑﺎ‬ ‫ﺠﺎ‬‫ﯾ‬‫ﺷﻮد‬ ‫داده‬ ‫ﻗﺮار‬ ‫ﺪ‬‫ﻣﺸﺨﺺ‬ ‫را‬‫ﮐ‬‫ﻨﺪ‬. ‫ﺑﺮا‬‫ی‬‫ﻣﺸﺨﺺ‬‫ﮐ‬‫ا‬ ‫ﺮدن‬‫ﯾ‬‫ﻨ‬‫ﮑ‬‫ﻪ‬‫ﯾ‬‫ﮏ‬‫داده‬ ‫ﻣﻘﺪار‬‫ا‬‫ی‬‫ﺳﺘﻮﻧ‬ ‫ﭼﻪ‬ ‫از‬‫ﯽ‬،‫ﺷﻮد‬ ‫ﺧﻮاﻧﺪه‬‫ﻧﻮ‬ ‫از‬‫ﯾ‬‫ﺴﻪ‬‫ی‬‫و‬‫ﯾ‬‫ﮋه‬‫ی‬"@"‫ﺷﻤﺎره‬ ‫و‬‫ی‬‫ﺳﺘﻮن‬ ‫ﮐ‬‫ﻣ‬ ‫آن‬ ‫دﻧﺒﺎل‬ ‫ﺑﻪ‬ ‫ﻪ‬‫ﯽ‬‫آ‬‫ﯾ‬‫ا‬ ‫و‬ ‫ﺪ‬‫ﯾ‬‫ﻣﺘﻐ‬ ‫ﻧﺎم‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫دو‬ ‫ﻦ‬‫ﯿ‬‫ﻣ‬ ‫ﺮ‬‫ﯽ‬‫آ‬‫ﯾ‬‫ﻣ‬ ‫اﺳﺘﻔﺎده‬ ،‫ﻨﺪ‬‫ﯽ‬‫ﺷﻮد‬.ً‫ﻼ‬‫ﻣﺜ‬ INPUT @10 age @20 weight @36 height; ‫ﺑﻪ‬SAS‫ﻣ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾ‬‫ﻣﺘﻐ‬ ‫ﻣﻘـﺪار‬ ‫ﺪ‬‫ﯿـ‬‫ﺮ‬age‫ﺳـﺘﻮن‬ ‫از‬۱۰‫ﻣﻘـﺪار‬ ،weight‫ﺳـﺘﻮن‬ ‫از‬۲۰‫ﻣﻘـﺪار‬ ‫و‬height‫ﺳـﺘﻮن‬ ‫از‬۳۶  ‫ﻣ‬ ‫ﺷﺮوع‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫ا‬ ‫در‬‫ﯾ‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻓﺮض‬ ‫ﻨﺠﺎ‬‫ﮐ‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﻪ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﺑﺎ‬‫ﯾ‬‫ﮏ‬‫ﺧﺎﻟ‬ ‫ﻓﺎﺻﻠﻪ‬‫ﯽ‬‫ﺷـﺪه‬ ‫ﺟـﺪا‬ ‫ﻫـﻢ‬ ‫از‬‫ﻏ‬ ‫در‬ ،‫اﻧـﺪ‬‫ﯿـ‬‫ﺮ‬ ‫ا‬‫ﯾ‬‫ﻦ‬‫ﺑﺎ‬ ‫ﺻﻮرت‬‫ﯾ‬‫ا‬ ‫از‬ ‫ﺪ‬‫ﯾ‬‫ﻨﻔﻮرﻣﺘ‬‫ﯽ‬‫ﺷﻮد‬ ‫اﺳﺘﻔﺎده‬‫ﮐ‬‫ﻣﻌﺮﻓ‬ ‫دﻧﺒﺎل‬ ‫ﺑﻪ‬ ‫ﻪ‬‫ﯽ‬‫ﻣ‬‫ﯽ‬‫ﺷﻮد‬.
  • 18.
    ۱۸ ‫ﺑﺮا‬‫ی‬‫ﻣﺘ‬‫ﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬‫ﻋﺪد‬‫ی‬،‫ا‬‫ﯾ‬‫ﻨ‬‫ﻔﻮرﻣﺖ‬"W."‫ﻣ‬ ‫ﻣﺸﺨﺺ‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬‫ﮐ‬‫ﻪ‬W‫ﺳﺘﻮن‬‫ﮐ‬‫ﺟﺎر‬ ‫ﺳﺘﻮن‬‫از‬ ‫ﻪ‬‫ی‬‫ﻣ‬ ‫ﺷﺮوع‬‫ﯽ‬‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫ﺷﻮد‬ ‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬‫ﯿ‬‫ﺑﺎ‬ ‫ﺮ‬‫ﯾ‬‫ﻣ‬ ‫ﺧﻮاﻧﺪه‬ ‫ﺪ‬‫ﯽ‬‫ﺷﻮد‬.‫ﻣﻘﺪار‬W‫ﺑﺎ‬‫ﯾ‬‫ﺻﺤ‬ ‫ﻋﺪد‬ ‫ﺪ‬‫ﯿ‬‫ﺑﺎﺷﺪ‬ ‫ﻣﺜﺒﺖ‬ ‫و‬ ‫ﺢ‬.‫ﺑﺮا‬‫ی‬‫ﻣﺜﺎل‬ INPUT @20 weight 3.; ‫ﺑﻪ‬SAS‫ﻣ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾ‬‫ﺪ‬‫ﮐ‬‫ﺳﺘﻮن‬ ‫ﺑﻪ‬ ‫ﻪ‬۲۰‫ﺳﺘﻮﻧ‬ ‫ﺳﻪ‬ ‫و‬ ‫رﻓﺘﻪ‬‫ﯽ‬‫ﮐ‬‫از‬ ‫ﻪ‬‫ﺳﺘﻮن‬۲۰‫ﻣ‬ ‫ﺷﺮوع‬‫ﯽ‬‫ﺷﻮﻧﺪ‬‫ﻣﻘـﺪار‬ ‫ﻋﻨـﻮان‬ ‫ﺑـﻪ‬ ‫و‬ ‫ﺧﻮاﻧـﺪه‬ ‫را‬ ‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮ‬weight‫در‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ذﺧ‬‫ﯿ‬‫ﺮه‬‫ﮐ‬‫ﻨﺪ‬. ‫ا‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬"W.d"‫ﺑﻪ‬SAS‫ﻣ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾ‬‫ﺪ‬‫ﮐ‬‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫ﻪ‬‫ﯿ‬‫ﻧﻘﻄـﻪ‬ ‫ﺳـﭙﺲ‬ ،‫ﺧﻮاﻧـﺪه‬ ‫ﺑـﺎﻻ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ ‫ﺮ‬‫ی‬‫اﻋﺸـﺎر‬‫ی‬‫از‬ ‫ﻗﺒـﻞ‬ ‫را‬ "d"‫دﻫﺪ‬ ‫ﻗﺮار‬ ‫آﺧﺮ‬ ‫رﻗﻢ‬.ً‫ﻼ‬‫ﻣﺜ‬ INPUT @10 age 6.2; ‫ﺑﻪ‬SAS‫ﻣ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾ‬‫ﺳﺘﻮن‬ ‫ﺑﻪ‬ ‫ﺪ‬۱۰‫و‬ ‫رﻓﺘﻪ‬۶‫ﺑﻌﺪ‬ ‫ﺳﺘﻮن‬‫ی‬)‫ﺳﺘﻮن‬ ‫ﺷﺎﻣﻞ‬۱۰(‫ﻣﺘﻐ‬ ‫ﻣﻘـﺪار‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫را‬‫ﯿـ‬‫ﺮ‬age‫و‬ ‫ﺧﻮاﻧـﺪه‬ ‫ـﻪ‬‫ـ‬‫ﻧﻘﻄ‬‫ی‬‫ـﺎر‬‫ـ‬‫اﻋﺸ‬‫ی‬‫از‬ ‫ـﻞ‬‫ـ‬‫ﻗﺒ‬ ‫را‬۲‫ـﺪ‬‫ـ‬‫دﻫ‬ ‫ـﺮار‬‫ـ‬‫ﻗ‬ ‫ـﺮ‬‫ـ‬‫آﺧ‬ ‫ـﻢ‬‫ـ‬‫رﻗ‬.‫ـﺪار‬‫ـ‬‫ﻣﻘ‬ ‫ـﺮ‬‫ـ‬‫اﮔ‬‫داده‬‫ا‬‫ی‬‫ـﻪ‬‫ـ‬‫ﻧﻘﻄ‬ ‫ـﺎﻣﻞ‬‫ـ‬‫ﺷ‬‫ی‬‫ـﺎر‬‫ـ‬‫اﻋﺸ‬‫ی‬‫ـﺪ‬‫ـ‬‫ﺑﺎﺷ‬،SAS‫از‬ ‫ﻣﺸﺨﺺ‬‫ﺳﺎز‬‫ی‬‫ﮐ‬‫ا‬ ‫در‬ ‫ﻪ‬‫ﯾ‬‫ﺻـﺮف‬ ،‫اﺳﺖ‬ ‫ﮔﺮﻓﺘﻪ‬ ‫ﺻﻮرت‬ ‫ﻨﻔﻮرﻣﺖ‬‫ﻣـ‬ ‫ﻧﻈـﺮ‬‫ﯽ‬‫ﮐ‬‫ﻨـﺪ‬.‫اﺧ‬ ‫ﺻـﻮرت‬ ‫در‬‫ﯿـ‬‫ﺮ‬"W"‫در‬"W.d"‫ﺑﺎ‬‫ﯾـ‬‫ﺪ‬ ‫ﻧﻘﻄﻪ‬ ‫ﺷﺎﻣﻞ‬‫ی‬‫اﻋﺸﺎر‬‫ی‬‫ﺑﺎﺷﺪ‬. ‫ﺑﺮا‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﻧﻮ‬ ‫ﺮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ا‬ ،‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬"$W." ‫ﺑﻪ‬SAS‫ﻣـ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾـ‬‫ﺟـﺎر‬ ‫ﺳـﺘﻮن‬ ‫از‬ ‫ﺪ‬‫ی‬W‫ﺑﻌـﺪ‬ ‫ﺳـﺘﻮن‬‫ی‬‫ﻣﻘـﺪار‬ ‫ﻋﻨـﻮان‬ ‫ﺑـﻪ‬ ‫را‬ ‫ﻧﻮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﺑﺨﻮاﻧﺪ‬.‫ﺑﺮا‬‫ی‬‫ﻣﺜﺎل‬ INPUT @15 name $45.; ‫ﺑﻪ‬SAS‫ﻣ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾ‬‫ﺪ‬‫ﮐ‬‫ﺳﺘﻮن‬ ‫ﻪ‬‫ﻫﺎ‬‫ی‬۱۵‫اﻟ‬‫ﯽ‬۶۹ ‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫را‬‫ﯿ‬‫ﻧﻮ‬ ‫ﺮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬name‫ﺑﺨﻮاﻧﺪ‬.‫اﮔﺮ‬‫ﮐ‬‫ﺑﺨﻮاﻫﺪ‬ ‫ﺎرﺑﺮ‬‫ﮐ‬‫ﻪ‬ ‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮ‬name‫ﻓﺎﺻﻠﻪ‬ ‫ﺷﺎﻣﻞ‬‫ی‬‫ﺧﺎﻟ‬‫ﯽ‬‫ﺑﺎﺷﺪ‬)‫ﻣﺜﻼ‬‫ﺑـ‬ ‫ﻓﺎﺻﻠﻪ‬‫ﯿ‬‫ﻧـﺎم‬ ‫ﻦ‬‫ﮐ‬‫ﻮﭼـ‬‫ﮏ‬‫ﻓـﺎﻣ‬ ‫ﻧـﺎم‬ ‫و‬‫ﯿ‬‫ﻠ‬‫ﯽ‬(‫ﻣـ‬ ،‫ﯽ‬‫ا‬ ‫از‬ ‫ﺗﻮاﻧـﺪ‬‫ﯾ‬‫ﻨﻔﻮرﻣـﺖ‬ "$CHARW."‫اﺳﺘﻔﺎده‬‫ﮐ‬‫ﻨﺪ‬. ‫ﻓﺮض‬‫ﮐ‬‫ﻨ‬‫ﯿ‬‫ﺪ‬‫ﮐ‬‫ﻪ‬‫ﯾ‬‫ﮏ‬‫دا‬ ‫ﺧﻂ‬‫ده‬‫ای‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﺷﺎﻣﻞ‬‫ی‬‫ز‬‫ﯾ‬‫ﺑﺎﺷﺪ‬ ‫ﺮ‬. 0001TEH045507205 ‫ﮐ‬‫ﻪ‬۰۰۰۱‫ﺷﻤﺎره‬‫ی‬‫ﻧﻤﻮﻧﻪ‬ ‫ﺧﺎﻧﻮار‬‫ا‬‫ی‬،TEH‫ﻧﻤﺎ‬‫ﯾ‬‫ﺎﻧﮕﺮ‬‫ﺳ‬ ‫ﻣﺤﻞ‬ ‫اﺳﺘﺎن‬‫ﮑ‬‫ﺧﺎﻧﻮ‬ ‫ﻮﻧﺖ‬‫ﻧﻤﻮﻧﻪ‬ ‫ار‬‫ا‬‫ی‬،۵۵/۴‫ﻫﺰ‬ ‫ﻣﺠﻤﻮع‬‫ﯾ‬‫ﻨﻪ‬‫ﻫﺎ‬‫ی‬ ،‫ـﺘﻪ‬‫ـ‬‫ﮔﺬﺷ‬ ‫ـﺎه‬‫ـ‬‫ﻣ‬ ‫در‬ ‫ـﺎﻧﻮار‬‫ـ‬‫ﺧ‬۷۲/۰‫ﻫﺰ‬ ‫ـﺪ‬‫ـ‬‫درﺻ‬‫ﯾ‬‫ـﻪ‬‫ـ‬‫ﻨ‬‫ـﺎ‬‫ـ‬‫ﻫ‬‫ی‬‫ـﻮرا‬‫ـ‬‫ﺧ‬‫ﮐ‬‫ﯽ‬‫و‬ ،‫ـﺎﻧﻮار‬‫ـ‬‫ﺧ‬۵‫ـﺖ‬‫ـ‬‫اﺳ‬ ‫ـﺎﻧﻮار‬‫ـ‬‫ﺧ‬ ‫ـﺪ‬‫ـ‬‫ﺑﻌ‬.‫ﮔ‬‫ﯿ‬‫ﺮ‬‫ـ‬‫ـ‬‫ﯾ‬،‫ﺪ‬id،ostan، expenditure،percent‫و‬member‫ﻣﺘﻐ‬ ‫ﻧﺎم‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬‫ﺑﺎﺷﻨﺪ‬ ‫ﻣﺘﻨﺎﻇﺮ‬.‫ﯾ‬‫ﮏ‬‫ﻋﺒﺎرت‬INPUT‫ﺑـﺮا‬ ‫ﻣﻨﺎﺳـﺐ‬‫ی‬‫ﺧﻮاﻧـﺪن‬ ‫ﻣﻘﺪارﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ز‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯾ‬‫اﺳﺖ‬ ‫ﺮ‬:
  • 19.
    ۱۹ INPUT id 4.ostan $3. expenditure 4.2 percent 3.2 member 2.; ‫ﻓ‬‫ﺮض‬‫ﮐ‬‫ﻨ‬‫ﯿ‬‫ﺪ‬‫ﮐ‬‫ﺧﻂ‬ ‫ﻪ‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫دارا‬‫ی‬‫ز‬ ‫ﺻﻮرت‬‫ﯾ‬‫ﺑﺎﺷﻨﺪ‬ ‫ﺮ‬. 0001XXXXTEH155X072XXXXXX1390 ‫ﮐ‬‫ﻪ‬X‫ﺳﺘﻮن‬ ‫ﻫﺎ‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﻫﺴﺘﻨﺪ‬‫ﮐ‬‫ﻣﺎ‬ ‫ﻪ‬‫ﯾ‬‫ﻧ‬ ‫ﻞ‬‫ﯿ‬‫ﺴﺘ‬‫ﯿ‬‫ﺗﺤﻠ‬ ‫در‬ ‫ﻢ‬‫ﯿ‬‫ﻣﺸﺎر‬ ‫ﻞ‬‫ﮐ‬‫ﺖ‬‫ﮐ‬‫ﻨﻨﺪ‬.‫ﺑﺮا‬‫ی‬‫ﭘﺮ‬‫ﯾ‬‫ا‬ ‫از‬ ‫ﺪن‬‫ﯾ‬‫ﺳﺘﻮن‬ ‫ﻦ‬‫ﻣ‬ ‫ﻫﺎ‬‫ﯽ‬‫از‬ ‫ﺗﻮان‬ ‫ﻧﻤﺎد‬"@"‫و‬‫ﯾ‬‫ﻧﻤﺎ‬ ‫ﺎ‬‫د‬"+"‫اﺳﺘﻔﺎده‬‫ﮐ‬‫ﺮد‬.‫ﺑﺮا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫ﺧﻮاﻧﺪن‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫ﻣﺜﺎل‬‫ﯿ‬‫ﺮ‬id‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬‫ﯿ‬‫ﺮ‬ostan‫ﺳﺘﻮن‬ ‫از‬۹ ‫ﺑﺎ‬‫ﻧﻤﺎد‬ ‫از‬ ‫اﺳﺘﻔﺎده‬"@9"‫ﺷﺪه‬ ‫ﺧﻮاﻧﺪه‬‫ﺑﻌﺪ‬ ‫و‬‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬exp‫ﻣﯽ‬ ‫ﺧﻮاﻧﺪه‬‫ﺷﻮد‬‫و‬‫از‬ ‫ﺳﭙﺲ‬‫ﯾ‬‫ﮏ‬‫ﺑـﺎ‬ ‫ﺳﺘﻮن‬"+1"‫رد‬ ‫ﻣ‬‫ﯽ‬‫و‬ ‫ﺷﻮد‬‫ﻣﺘﻐﯿﺮﻫﺎی‬percent‫و‬year‫ﻣﯽ‬ ‫ﺧﻮاﻧﺪه‬‫ﺷﻮد‬.‫ﻋﺒﺎرت‬INPUT‫ز‬‫ﯾ‬‫ا‬ ‫ﺮ‬‫ﯾ‬‫ﺷ‬ ‫ﻦ‬‫ﯿ‬‫ﻮه‬‫ی‬‫را‬ ‫ﺧﻮاﻧﺪن‬‫ﻧﺸ‬‫ﻣ‬ ‫ﺎن‬‫ﯽ‬‫دﻫﺪ‬. INPUT id 4. @9 ostan $3. exp 3.2 +1 percent 3.2 @25 year 4.; ‫ﻧﻤﺎدﻫﺎ‬‫ی‬"@"،"+"‫ﻋﺒﺎرت‬ ‫در‬ ‫ﮐﻪ‬INPUT‫ﻣ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬‫ﯽ‬‫روﻧﺪ‬‫ﻧﺸﺎﻧﮕﺮﻫﺎ‬ ‫را‬‫ی‬‫ﮐﻨﺘﺮﻟ‬‫ﯽ‬‫ﻣ‬‫ﯽ‬‫ﮔﻮﯾﻨﺪ‬. ‫ﻣﺘﻐ‬ ‫ﻧﺎم‬‫ﯿ‬‫ا‬ ‫و‬ ‫ﺮﻫﺎ‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻪ‬INPUT‫ﺑﻪ‬‫ﮐ‬‫ﻣـ‬ ‫ﺎر‬‫ﯽ‬‫ﻣـ‬ ‫را‬ ‫روﻧـﺪ‬‫ﯽ‬‫ﻓﻬﺮﺳـﺖ‬ ‫دو‬ ‫در‬ ‫ﺗـﻮان‬‫درون‬ ‫و‬ ‫ﻣﺠـﺰا‬‫دو‬ ‫ﮐ‬‫ﮔﺮوه‬ ‫ﻤﺎن‬‫ﺑﻨﺪ‬‫ی‬‫ﮐ‬‫ﺮد‬.‫ﻋﺒﺎرت‬INPUT‫ﻣ‬ ‫را‬ ‫ﺑﺎﻻ‬‫ﯽ‬‫ﺗﻮان‬‫ز‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯾ‬‫ﻧﻮﺷﺖ‬ ‫ﺮ‬: INPUT (id ostan exp percent year) (4. @9 $3. 3.2 +1 3.2 @25 4.); ‫ا‬ ‫در‬‫ﯾ‬‫دﻧﺒﺎﻟﻪ‬ ‫ﻓﻬﺮﺳﺖ‬ ‫ﻦ‬‫ا‬‫ی‬‫ا‬ ‫ﻫﺮ‬‫ﯾ‬‫و‬ ‫ﻨﻔﻮرﻣﺖ‬‫ﯾ‬‫ﺗﺮ‬ ‫ﺎ‬‫ﮐ‬‫ﯿ‬‫ا‬ ‫ﺐ‬‫ﯾ‬‫ﻨ‬‫ﻔﻮرﻣﺖ‬-‫ﻧﺸﺎﻧﮕﺮ‬‫ﮐ‬‫ﻨﺘﺮﻟ‬‫ﯽ‬‫ﺑﺎ‬ ‫ﻣﺮﺗﺒﻂ‬‫ﯾ‬‫ﮏ‬‫ﻣﺘﻐ‬ ‫ﻧﺎم‬‫ﯿ‬‫اﺳﺖ‬ ‫ﺮ‬. INPUT‫ﺳﺘﻮﻧ‬‫ﯽ‬ ‫و‬‫ﻗﺘ‬‫ﯽ‬‫داده‬ ‫ﻣﻘﺪار‬‫ﻫﺎ‬‫ﺑﺎ‬‫ﺣﺪاﻗﻞ‬‫ﯾ‬‫ﮏ‬‫ﻓﺎﺻﻠﻪ‬)‫ﺧﺎﻟﯽ‬ ‫ی‬(‫و‬ ‫ﺑﺎﺷـﻨﺪ‬ ‫ﻧﺸﺪه‬ ‫ﺟﺪا‬ ‫ﻫﻢ‬ ‫از‬‫ﮐـ‬‫ﺎر‬‫ﺗـﺮﺟ‬ ‫ﺑﺮ‬‫ﯿ‬‫دﻫـﺪ‬ ‫ﺢ‬‫ﮐـ‬‫ا‬ ‫از‬ ‫ﻪ‬‫ﯾ‬‫ﻨﻔﻮرﻣـﺖ‬ ‫ﻧ‬ ‫اﺳﺘﻔﺎده‬‫ﮑ‬،‫ﻨﺪ‬INPUT‫ﺳﺘﻮﻧ‬‫ﯽ‬‫ﺑﺪ‬‫ﯾ‬‫ﻞ‬‫د‬‫ﯾ‬‫ﮕ‬‫ﺮ‬‫ی‬‫ﺑﺮا‬‫ی‬INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫اﺳﺖ‬.‫ا‬ ‫در‬‫ﯾ‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﺣﺎﻟﺖ‬ ‫ﻦ‬‫ﺑﺎﯾـﺪ‬‫ﺳـﺘﻮن‬‫ﻫـﺎ‬‫ی‬ ‫ﯾ‬‫ﮑ‬‫ﺧﻂ‬ ‫ﺗﻤﺎم‬ ‫در‬ ‫را‬ ‫ﺴﺎن‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫اﺷﻐﺎل‬‫ﮐ‬‫ﻨﻨﺪ‬.‫ا‬ ‫در‬‫ﯾ‬‫ﻦ‬‫روش‬‫دﻧﺒﺎل‬ ‫ﺑﻪ‬‫ﻣﺘﻐ‬ ‫ﻧـﺎم‬‫ﯿ‬‫ﻋﺒـﺎرت‬ ‫در‬ ‫ﺮﻫـﺎ‬INPUT‫ﺷـﻤﺎره‬‫ی‬ ‫ﺳﺘﻮن‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫ﻣﺘﻐ‬ ‫آن‬ ‫ﻪ‬‫ﯿ‬‫ﻣ‬ ‫اﺷﻐﺎل‬ ‫ﺮ‬‫ﯽ‬‫ﮐ‬‫ﺷﺮوع‬ ‫ﻋﺪد‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﻨﺪ‬–‫ﻣ‬ ‫آورده‬ ‫ﺧﺎﺗﻤﻪ‬ ‫ﻋﺪد‬‫ﯽ‬‫ﺷﻮد‬. ‫ﺑﺮا‬‫ی‬‫ﻓﺮض‬ ،‫ﻣﺜﺎل‬‫ﮐ‬‫ﻨ‬‫ﯿ‬‫ﺧﻂ‬ ‫ﺪ‬‫ﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ز‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯾ‬‫ﺑﺎﺷﻨﺪ‬ ‫ﺮ‬ 0001TEH1.55b 721390 ‫ا‬ ‫در‬‫ﯾ‬‫ﺻﻮرت‬ ‫ﻦ‬INPUT‫ﺳﺘﻮﻧ‬‫ﯽ‬‫ز‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯾ‬‫ﻣ‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﺮ‬‫ﯽ‬‫ﺷﻮد‬: INPUT id 1-4 ostan $5-7 exp 8-11 .2 percent 12-14 .2 year 15-18;
  • 20.
    ۲۰ ‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫ﺑﺎﻻ‬‫ﻋﺒﺎرت‬‫ﯿ‬‫ﺮ‬id‫ﺳﺘﻮن‬ ‫از‬ ‫را‬‫ﻫﺎ‬‫ی‬۱‫ﺗﺎ‬۴‫ﺻـﺤ‬ ‫ﻋـﺪد‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬‫ﯿ‬‫ﻣﺘﻐ‬ ‫ﻣﻘـﺪار‬ ،‫ﺢ‬‫ﯿـ‬‫ﺮ‬ostan‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ ‫را‬ ‫رﺷﺘﻪ‬‫ی‬‫ﻧﻮ‬‫ﯾ‬‫ﺴﻪ‬‫ا‬‫ی‬‫ﻣ‬ ‫ﺑﻌﺪ‬ ‫ﺳﺘﻮن‬ ‫دو‬ ‫از‬‫ﯽ‬‫ﺧﻮاﻧﺪ‬.‫ا‬ ‫در‬‫ﯾ‬‫ﻋﺒﺎرت‬ ‫ﻦ‬.2‫ﺑـﻪ‬SAS‫ﻣـ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾـ‬‫ﺪ‬‫ﮐـ‬‫ﻪ‬‫ﻣﻮﻗـﻊ‬‫ﻣ‬ ‫ﻣﻘـﺪار‬ ‫ﺧﻮاﻧـﺪن‬‫ﺘﻐ‬‫ﯿـ‬‫ﺮ‬ exp‫ﻧﻘﻄﻪ‬ ،‫ی‬‫اﻋﺸﺎر‬‫ی‬‫ﮐﺠﺎ‬‫ﺑﺎ‬‫ﯾ‬‫ﮔ‬ ‫ﻗﺮار‬ ‫ﺪ‬‫ﯿ‬‫ﺮد‬.‫ﻣﺜـﺎل‬ ‫ﺑﺮای‬‫داده‬ ‫ﺧـﻂ‬ ‫اﯾـﻦ‬ ‫از‬‫ای‬‫ﻣﺘﻐ‬ ‫ﻣﻘـﺪار‬‫ﯿـ‬‫ﺮ‬percent۷۲/۰‫ﺧﻮاﻧـﺪه‬ ‫ﻣ‬‫ﯽ‬‫ﺷﻮد‬. ‫ﺗﺮ‬‫ﮐ‬‫ﯿ‬‫روش‬ ‫ﺐ‬‫ﻫﺎ‬‫ی‬‫ﻣﺨﺘﻠﻒ‬ ‫ﻋﺒﺎرت‬INPUT‫ﻣ‬‫ﯽ‬‫ﺗﺮ‬ ‫ﺗﻮاﻧﺪ‬‫ﮐ‬‫ﯿ‬‫ﺒ‬‫ﯽ‬‫روش‬ ‫از‬‫ﻫﺎ‬‫ی‬‫ﺷﻮد‬ ‫ﺷﺎﻣﻞ‬ ‫را‬ ‫ﺑﺎﻻ‬.‫داده‬ ‫ﺧﻂ‬ ‫ﻣﺜﺎل‬ ‫ﺑﺮای‬‫ﺑﮕﯿﺮﯾﺪ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫زﯾﺮ‬ ‫ای‬. 0001TEH1.55 721390 ‫ﺗ‬ ‫ﺑﺎ‬‫ﺮ‬‫ﮐ‬‫ﯿ‬‫ﺐ‬INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫ﻓﻮرﻣﺖ‬ ،‫ﺳـﺘﻮﻧ‬ ‫و‬ ،‫ﺷﺪه‬‫ﯽ‬‫ﻣـ‬‫ﯽ‬‫ﻋﺒـﺎرت‬ ‫ﺗـﻮان‬INPUT‫ز‬‫ﯾـ‬‫ﺑـﺮا‬ ‫را‬ ‫ﺮ‬‫ی‬‫داده‬ ‫ﺧـﻂ‬‫ﻫـﺎ‬‫ی‬‫ﺑـﻪ‬ ‫ﺑـﺎﻻ‬ ‫ز‬ ‫ﺻﻮرت‬‫ﯾ‬‫ﻧﻮﺷﺖ‬ ‫ﺮ‬: INPUT id 1-4 ostan $3. exp percent 2.2 year 15-18; ‫ا‬ ‫در‬‫ﯾ‬،‫ﺣﺎﻟﺖ‬ ‫ﻦ‬SAS‫از‬INPUT‫ﺳﺘﻮﻧ‬‫ﯽ‬‫ﺑﺮا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫ﺧﻮاﻧﺪن‬‫ﯿ‬‫ﺮ‬id‫از‬ ،INPUT‫ﻓﻮ‬‫رﻣﺖ‬‫ﺑـﺮا‬ ‫ﺷﺪه‬‫ی‬‫ﻣﻘـﺪار‬ ‫ﺧﻮاﻧـﺪن‬ ‫ﻣﺘ‬‫ﻐ‬‫ﯿ‬‫ﺮ‬ostan ‫از‬ ،INPUT‫ﻓﻬﺮﺳﺘ‬‫ﯽ‬‫ﺑﺮا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫ﺧﻮاﻧﺪن‬‫ﯿ‬‫ﺮ‬exp‫ﻣ‬ ‫اﺳﺘﻔﺎده‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.‫ا‬ ‫در‬‫ﯾ‬‫ﻦ‬‫ﺷـﺪن‬ ‫ﺧﻮاﻧـﺪه‬ ‫از‬ ‫ﺑﻌـﺪ‬ ‫ﺟﺎ‬ ‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬‫ﯿ‬‫ﺮ‬exp‫ﺳﺘﻮن‬ ‫ﺑﻪ‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ،۱۳‫ﺑﺮا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﺧﻮاﻧﺪن‬‫ﯿ‬‫ﺮ‬percent‫ﻣ‬‫ﯽ‬‫رود‬.‫ز‬‫ﯾ‬‫ﺮا‬‫ﯾـ‬‫ﮏ‬‫ﺑﺎ‬ ‫ﻓﺎﺻـﻠﻪ‬‫ﯾـ‬‫ﺑـ‬ ‫ﺪ‬‫ﯿ‬‫ﻣﻘـﺪار‬ ‫ﻦ‬ ‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮ‬exp‫و‬percent‫ا‬ ‫ﺑﺮ‬ ‫ﺑﻨﺎ‬ ،‫ﺑﺎﺷﺪ‬‫ﯾ‬‫ﭘﻬﻨﺎ‬ ‫ﻦ‬‫ی‬‫ﻓ‬‫ﯿ‬‫ﻣﺘ‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﻠﺪ‬‫ﻐ‬‫ﯿ‬‫ﺮ‬percent‫ﺑﺎ‬‫ﯾ‬‫ﺪ‬۲‫ﺑﺎﺷﺪ‬. ۱-۵-۱-۲‫ﻋﺒﺎرت‬‫اﻧﺘﺴﺎب‬ ‫ﻫﺎی‬ ‫ﺳﺎده‬‫ﻣﻨﺘﺴﺐ‬ ‫ﺑﺮای‬ ‫راه‬ ‫ﺗﺮﯾﻦ‬‫ﮐ‬‫ﺮدن‬‫ﻓﻮرﻣﺖ‬‫ﯾ‬ ‫ﺑﻪ‬‫ﮏ‬‫اﺳﺖ‬ ‫اﯾﻦ‬ ‫ﻣﺘﻐﯿﺮ‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻪ‬PUT‫ﻓﻮرﻣـﺖ‬‫دﻧﺒـﺎل‬ ‫ﺑـﻪ‬ ‫ﻣـﻮردﻧﻈﺮ‬ ‫ﺷﻮد‬ ‫آورده‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻧﺎم‬.‫زﯾﺮ‬ ‫ﻣﺜﺎل‬ ‫در‬‫ﻓﻮرﻣﺖ‬DOLLAR.‫ﺑﻪ‬ ‫دﻻر‬ ‫ﺑﺮﺣﺴﺐ‬ ‫ﻋﺪدی‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﻧﻮﺷﺘﻦ‬ ‫ﺑﺮای‬‫ﮐ‬‫اﺳﺖ‬ ‫رﻓﺘﻪ‬ ‫ﺎر‬.  DATA money; Amount=1412.55; PUT amount DOLLAR10.2; RUN; ‫ﻋﺒﺎرت‬‫ﻣﻘﺪار‬ ‫ﺑﺎﻻ‬ ‫ﻫﺎی‬$1,412.55‫ﺗﻮﻟﯿﺪ‬ ‫را‬‫ﮐ‬‫ﭘﻨﺠﺮه‬ ‫در‬ ‫و‬ ‫ﺮده‬Log‫ﻣﯽ‬ ‫ﭼﺎپ‬‫ﮐ‬‫ﻨﺪ‬.  ‫در‬‫ﻓﻮرﻣﺖ‬DOLLAR10.2‫ﻣﻘﺎدﯾﺮ‬۱۰‫و‬۲‫ﻫﺴﺘﻨﺪ‬ ‫اﯾﻦ‬ ‫ﻧﻤﺎﯾﺎﻧﮕﺮ‬‫ﮐ‬‫ﺣﺪا‬ ‫ﻪ‬‫ﮐ‬‫ﺜﺮ‬۱۰‫دارد‬ ‫وﺟـﻮد‬ ‫داده‬ ‫ﻣﻘـﺪار‬ ‫ﺑـﺮای‬ ‫ﺳﺘﻮن‬ ‫ﮐ‬‫ﻪ‬۲‫اﺳ‬ ‫اﻋﺸﺎری‬ ‫ﻗﺴﻤﺖ‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫آن‬ ‫ﺳﺘﻮن‬‫از‬ ‫و‬ ‫ﺖ‬۸‫ﯾ‬ ‫دﯾﮕﺮ‬ ‫ﺳﺘﻮن‬‫ﮏ‬‫ﯾـ‬ ،‫اﻋﺸـﺎری‬ ‫ﻧﻘﻄـﻪ‬ ‫ﺑﺮای‬ ‫ﺳﺘﻮن‬‫ﮏ‬‫ﺳـﺘﻮن‬
  • 21.
    ۲۱ ‫واو‬ ‫ﺑﺮای‬‫ک‬‫ﯾ‬ ،‫ﮏ‬‫و‬‫داده‬ ‫ﻣﻘﺪار‬ ‫ﺻﺤﯿﺢ‬ ‫ﻗﺴﻤﺖ‬ ‫ﺑﺮای‬ ‫ﺳﺘﻮن‬ ‫ﭼﻬﺎر‬ ،‫دﻻر‬ ‫ﻋﻼﻣﺖ‬ ‫ﺑﺮای‬ ‫ﺳﺘﻮن‬)‫ﺑﺎﺷـﺪ‬ ‫ﻣﻨﻔـﯽ‬ ‫ﻋـﺪد‬ ‫اﮔﺮ‬( ‫ﯾ‬‫ﮏ‬‫ﻧﮕﻪ‬ ‫ﻣﻨﻔﯽ‬ ‫ﻋﻼﻣﺖ‬ ‫ﺑﺮای‬ ‫ﺳﺘﻮن‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫داﺷﺘﻪ‬.  ‫ﻣﺜﺎل‬۱-۲‫ﻓﺮض‬‫ﮐ‬‫ﻣﻘﺪار‬ ‫ﻨﯿﺪ‬NETPAY‫ﺑﺮاﺑـﺮ‬۶۵/۵۷۲۱‫ﻣـﯽ‬ ‫و‬ ‫اﺳـﺖ‬ ‫دﻻر‬‫ﺧـﻮاﻫﯿﻢ‬‫آن‬‫ﺳـﺘﻮﻧﻬﺎی‬ ‫در‬ ‫را‬۱۵‫ﺗـﺎ‬۲۴ ‫ﭼﺎپ‬ ‫ﺧﺮوﺟﯽ‬ ‫ﺧﻂ‬‫ﮐ‬‫ﻨﯿﻢ‬.‫ﻣﻘﺪار‬ ‫زﯾﺮ‬ ‫ﻋﺒﺎرت‬$5,721.65‫ﻣﯽ‬ ‫ﭼﺎپ‬ ‫را‬‫ﮐ‬‫ﻨﺪ‬.  PUT @15 netpay DOLLAR10.2; ‫اﻧﺘﺴﺎب‬ ‫دﯾﮕﺮ‬ ‫روش‬‫داده‬ ‫ﻣﻘﺪار‬ ‫ﺗﻐﯿﯿﺮ‬ ‫و‬ ‫ﺟﺪﯾﺪ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫اﯾﺠﺎد‬ ‫ﺑﺮای‬‫ﻣﻮﺟﻮد‬ ‫ﻫﺎی‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬. ‫ﻣﺘﻐﯿﺮ‬ ‫ﻧﺎم‬ = ‫ﻣﺤﺎﺳﺒﺎﺗﯽ‬ ‫ﻋﺒﺎرت‬; ‫ﻣﯽ‬ ‫را‬ ‫ﺟﺪﯾﺪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬‫ﺑ‬ ‫ﺗﻮان‬‫ﻋﺒﺎرت‬ ‫ﻃﺮﯾﻖ‬ ‫از‬ ‫ﻣﻮﺟﻮد‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﭼﻨﺪ‬ ‫ﯾﺎ‬ ‫ﯾﮏ‬ ‫ﺗﺮﮐﯿﺐ‬ ‫ﺎ‬‫ﮐﺮد‬ ‫اﯾﺠﺎد‬ ‫ﻣﺤﺎﺳﺒﺎﺗﯽ‬ ‫ﻫﺎی‬.‫اﯾﻦ‬‫ﮐﺎر‬ ‫ـﺘﻔﺎده‬‫ـ‬‫اﺳ‬ ‫ﺑـﺎ‬‫ﻋﻤﻞ‬ ‫از‬ ‫ﺗﺮﮐﯿﺒـﯽ‬ ‫ی‬‫ـﺎﺑﻊ‬‫ـ‬‫ﺗ‬ ،‫رﯾﺎﺿـﯽ‬ ‫ـﺎی‬‫ـ‬‫ﮔﺮﻫ‬‫ـﺎی‬‫ـ‬‫ﻫ‬SAS‫ـﺎرت‬‫ـ‬‫ﻋﺒ‬ ‫ﺳـﺎﯾﺮ‬ ‫و‬‫و‬ ‫ـﺎن‬‫ـ‬‫ﮐﻤ‬ ‫دو‬ ‫درون‬ ‫ـﺒﺎﺗﯽ‬‫ـ‬‫ﻣﺤﺎﺳ‬ ‫ﻫـﺎی‬ ‫ﻧﺘﯿﺠﻪ‬ ‫اﻧﺘﺴﺎب‬‫ی‬‫آ‬‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ،‫ﺟﺪﯾﺪ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﯾﮏ‬ ‫ﺑﻪ‬ ‫ن‬‫ﺷﻮد‬. ‫ﻣﺜﺎل‬۱-۳‫ﮔﺎم‬DATA‫ﺻﻮ‬ ‫ﭼﻨﺪ‬ ‫ﺷﺎﻣﻞ‬ ‫زﯾﺮ‬ ‫ی‬‫ﻋﺒﺎرت‬ ‫از‬ ‫رت‬‫اﺳﺖ‬ ‫اﻧﺘﺴﺎب‬ ‫ﻫﺎی‬. DATA exp1_3; INPUT (x1-x7)(@5 3*5.1 4*6.2); y1=x1+x2**2; y2=SQRT(x3); y3=LOG(x7); x5=ABS(x5); DATALINES; ‫ﺧﻂ‬‫داده‬ ‫ﻫﺎی‬‫ﻫ‬‫ﺎ‬ ; RUN; ‫ﮔﺎم‬DATA‫ﺟﺪﯾﺪ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﺳﻪ‬ ‫ﺑﺎﻻ‬ ‫ی‬y1،y2‫و‬ ،y3‫ﻣﯽ‬ ‫اﯾﺠﺎد‬ ‫را‬‫ﮐﻨﺪ‬.‫ﻣﻘﺪار‬y1‫ﻣﺸﺎﻫﺪ‬ ‫ﻫﺮ‬ ‫ﺑﺮای‬‫ﺣﺎﺻﻞ‬ ،‫ه‬‫ﻣﻘـﺪار‬ ‫ﺟﻤـﻊ‬ x1‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ‫دوم‬ ‫ﺗﻮان‬ ‫و‬x2‫ی‬‫آن‬‫ﻣﺸﺎﻫﺪه‬‫اﺳﺖ‬.‫ﻣﻘﺪار‬y2‫رﯾﺸـﻪ‬ ‫ﻣﺸـﺎﻫﺪه‬ ‫ﻫـﺮ‬ ‫ﺑﺮای‬‫ﻣﻘـﺪار‬ ‫دوم‬ ‫ی‬x3‫ﻣﻘـﺪار‬ ‫و‬ y3‫ﻣﻘﺪار‬ ‫ﻃﺒﯿﻌﯽ‬ ‫ﻟﮕﺎرﯾﺘﻢ‬x7‫اﺳﺖ‬ ‫ﻣﺸﺎﻫﺪه‬ ‫آن‬.‫ﮔﺎم‬ ‫اﯾﻦ‬ ‫در‬DATA‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ‫ﻫﺮ‬ ،x5‫ﻫـﺮ‬ ‫ﺑـﺮای‬ ‫آن‬ ‫ﻗـﺪرﻣﻄﻠﻖ‬ ‫ﺑﺎ‬ ‫ـﯽ‬‫ـ‬‫ﻣ‬ ‫ـﺎﯾﮕﺰﯾﻦ‬‫ـ‬‫ﺟ‬ ‫ـﺎﻫﺪه‬‫ـ‬‫ﻣﺸ‬‫ـﻮد‬‫ـ‬‫ﺷ‬.‫ـﺎم‬‫ـ‬‫ﮔ‬ ‫در‬DATA،‫ـﺎﻻ‬‫ـ‬‫ﺑ‬ ‫ی‬‫ـﺎی‬‫ـ‬‫ﻧﻤﺎدﻫ‬SQRT،LOG‫و‬ ،ABS‫ـﺎﺑﻊ‬‫ـ‬‫ﺗ‬‫ـﺎی‬‫ـ‬‫ﻫ‬SAS‫ـﻪ‬‫ـ‬‫ﮐ‬ ‫ـﺘﻨﺪ‬‫ـ‬‫ﻫﺴ‬ ‫ﺷﻨﺎﺳﻪ‬‫ﻫﺎ‬‫ﺗﺎﺑﻊ‬ ‫اﯾﻦ‬ ‫ی‬‫ﮐ‬ ‫دو‬ ‫داﺧﻞ‬ ‫در‬ ‫ﻫﺎ‬‫ﻤ‬‫ﺎن‬‫آ‬‫ﺷﺪه‬ ‫ورده‬‫اﻧﺪ‬.
  • 22.
    ۲۲ ‫ﻋﺒﺎرت‬‫ﻗﺎﻋﺪه‬ ‫ﺑﺎ‬ ‫ﻣﻄﺎﺑﻖ‬‫رﯾﺎﺿﯽ‬ ‫ﻫﺎی‬‫ﻗﺎﻋﺪه‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫ﻣﯽ‬ ‫ﮔﻔﺘﻪ‬ ‫ﺗﻘﺪم‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ،‫ﺷﻮﻧﺪ‬‫ﮔﯿﺮﻧﺪ‬.‫ﻗﺎﻋـﺪه‬ ‫اﯾﻦ‬‫زﯾـﺮ‬ ‫در‬ ‫ﻫـﺎ‬ ‫ﺷﺪه‬ ‫آورده‬‫اﻧﺪ‬: ‫ﻗﺎﻋﺪه‬‫ی‬۱.‫ﻋﺒﺎرت‬ ‫اول‬‫ﮐﻤ‬ ‫دو‬ ‫درون‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ‫ﺎن‬،‫ﺷﻮﻧﺪ‬ ‫ﻗﺎﻋﺪه‬‫ی‬۲.‫ﻋﻤﻞ‬‫ﮔﺮوه‬ ‫در‬ ‫ﮔﺮﻫﺎ‬‫رﺗﺒﻪ‬ ‫ﺑﺎ‬ ‫ﻫﺎی‬‫ﺑﺮای‬ ‫ﺑﺎﻻﺗﺮی‬ ‫اوﻟﻮﯾﺖ‬ ،‫زﯾﺮ‬ ‫ﺑﺎﻻی‬ ‫ی‬‫اﺟﺮا‬‫دارﻧﺪ‬ ‫ﺷﺪن‬. ‫ﮔﺮوه‬I**،+،‫ﭘﯿﺸﻮﻧﺪ‬ ‫ی‬-،‫ﭘﯿﺸﻮﻧﺪ‬ ‫ی‬)NOT(،><،<> ‫ﮔﺮوه‬II*،/ ‫ﮔﺮوه‬III+‫ﭘ‬ ‫ی‬‫ﺴ‬،‫ﻮﻧﺪ‬-‫ی‬‫ﭘﺴﻮﻧﺪ‬ ‫ﮔﺮوه‬IV|| ‫ﮔﺮوه‬V<،<=،=،>=،>  ‫ﮔﺮوه‬VI&)AND( ‫ﮔﺮوه‬VIII|)OR( ‫ﻗﺎﻋﺪه‬‫ی‬۳.‫ﻋﻤﻞ‬‫ﯾﮑﺴﺎن‬ ‫اوﻟﻮﯾﺖ‬ ‫ﺑﺎ‬ ‫ﮔﺮﻫﺎ‬)‫ﮔﺮوه‬ ‫ﯾﮏ‬ ‫در‬(‫ﻣﯽ‬ ‫ﻣﺤﺎﺳﺒﻪ‬ ‫ﻋﺒﺎرت‬ ‫راﺳﺖ‬ ‫ﺑﻪ‬ ‫ﭼﭗ‬ ‫ﺳﻤﺖ‬ ‫از‬‫ﺷـﻮﻧﺪ‬،‫ﺑـﻪ‬‫ﺟـﺰ‬ ‫ﻋﻤﻞ‬‫ﮔﺮوه‬ ‫ﮔﺮﻫﺎی‬I‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ‫ﭼﭗ‬ ‫ﺑﻪ‬ ‫راﺳﺖ‬ ‫ﺳﻤﺖ‬ ‫از‬ ‫ﮐﻪ‬‫ﺷﻮﻧﺪ‬. ‫ﻗﺎﻋﺪه‬ ‫در‬‫ﻧﻤﺎدﻫﺎی‬ ‫ﺑﻪ‬ ‫ﺑﺎﻻ‬ ‫ﻫﺎی‬&‫و‬|‫ﻋﻤﻞ‬‫ﻣﯽ‬ ‫ﻣﻨﻄﻘﯽ‬ ‫ﮔﺮﻫﺎی‬‫ﮔﻮﯾﻨﺪ‬.‫ﻋﻤﻞ‬‫ﮔﺮ‬||‫ﮐ‬ ‫را‬ ‫ﻣﺘﻐﯿﺮﻫﺎﯾﯽ‬ ‫ﻣﻘﺪارﻫﺎی‬‫ﻃـﺮف‬ ‫در‬ ‫ﻪ‬ ‫ﻣﯽ‬ ‫ﻗﺮار‬ ‫آن‬ ‫راﺳﺖ‬ ‫و‬ ‫ﭼﭗ‬‫ﻣﯽ‬ ‫ﻗﺮار‬ ‫ﻫﻢ‬ ‫ﮐﻨﺎر‬ ‫در‬ ،‫ﮔﯿﺮﻧﺪ‬‫دﻫـﺪ‬.‫ﻋﻤﻞ‬‫ﮔﺮﻫـﺎی‬ >=‫و‬<=‫ﺑﺰرگ‬ ‫ﻧﻤﺎﯾـﺎﻧﮕﺮ‬ ‫ﺗﺮﺗﯿـﺐ‬ ‫ﺑـﻪ‬‫ﯾـﺎ‬ ‫ﺗـﺮ‬ ‫ﮐﻮﭼﮏ‬ ‫و‬ ‫ﺑﺮاﺑﺮ‬‫ﻣﯽ‬ ‫ﺑﺮاﺑﺮ‬ ‫ﯾﺎ‬ ‫ﺗﺮ‬‫ﺑﺎﺷﻨﺪ‬. ۱-۵-۱-۳‫ﺷﺮﻃﯽ‬ ‫اﺟﺮاﻫﺎی‬ ‫ﻋﺒﺎرت‬‫ﻫﺎی‬IF‐THEN‫و‬ELSE‫ﻣﯽ‬ ‫را‬‫ﻋﺒﺎرت‬ ‫اﺟﺮای‬ ‫ﺑﺮای‬ ‫ﺗﻮان‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎی‬‫ای‬SAS،‫ﻋﺒـﺎرت‬ ‫ﻣﻘﺪار‬ ‫ﺑﻪ‬ ‫ﺑﺴﺘﻪ‬‫ﮐـﺎر‬ ‫ﺑـﻪ‬ ‫ﺑﺮد‬.‫دﺳﺘﻮری‬ ‫ﺷﮑﻞ‬‫اﯾﻦ‬‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬: IF ‫ﺟﻤﻠﻪ‬ THEN ‫ﻋﺒﺎرت‬; <ELSE ‫ﻋﺒﺎرت‬>; ،‫ﺑﺎﻻ‬ ‫دﺳﺘﻮری‬ ‫ﺷﮑﻞ‬ ‫در‬‫ﻧﺘﯿﺠﻪ‬‫ی‬‫ﻣﻘﺎﯾﺴﻪ‬ ‫ﻋﺒﺎرت‬ ‫ﯾﮏ‬‫ﻣﻘﺪار‬ ‫ای‬۱‫ﻣﯽ‬ ‫ﺻﻔﺮ‬ ‫ﯾﺎ‬‫ﮔﯿـﺮد‬.‫ﻣﻘـﺪار‬۱‫ﻧﺸـﺎﻧﮕﺮ‬‫ﺑـﻮدن‬ ‫درﺳـﺖ‬ ‫ﻣﻘﺎﯾﺴﻪ‬‫آن‬ ‫ﺑـﻮدن‬ ‫ﻧﺎدرﺳـﺖ‬ ‫ﻧﺸـﺎﻧﮕﺮ‬ ‫ﺻـﻔﺮ‬ ‫ﻣﻘـﺪار‬ ‫و‬ ‫اﺳـﺖ‬.‫ﻣﻘﺎﯾﺴـﻪ‬ ‫ﻋﺒـﺎرت‬ ‫ﯾـﮏ‬‫ﺷـﺎﻣ‬ ‫ای‬‫ﻣﻘﺎﯾﺴـﻪ‬ ‫ﻞ‬‫و‬ ‫ﻋـﺪدی‬ ‫ﻫـﺎی‬ ‫ﻧﻮﯾﺴﻪ‬‫ﻋﻤﻞ‬ ‫ﺑﺎ‬ ‫ای‬‫ﻣﻘﺎﯾﺴﻪ‬ ‫ﮔﺮﻫﺎی‬‫ﻣﺜﻞ‬ ‫ای‬AND)&(‫ﯾﺎ‬OR)|(‫اﺳﺖ‬.،‫ﺑﺎﻻ‬ ‫دﺳﺘﻮری‬ ‫ﺷﮑﻞ‬ ‫در‬‫ﻣﯽ‬‫ﺗﻮاﻧﺪ‬‫ﻋﺒـﺎرت‬ ‫ﻫـﺮ‬ ‫اﺟﺮاﯾﯽ‬SAS‫ﺑﺎﺷﺪ‬.
  • 23.
    ۲۳ ‫ﻣﺜﺎل‬۱-۴ IF exp <.8 THEN PUT id "Below Poverty Line" ; ELSE PUT id "Above Poverty Line"; ،‫ﺑﺎﻻ‬ ‫ﻣﺜﺎل‬ ‫در‬‫ﻧﺘﯿﺠﻪ‬‫ی‬‫ﺟﻤﻠﻪ‬‫ی‬exp < .8‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ‫اﮔﺮ‬ ‫اﺳﺖ‬ ‫ﯾﮏ‬exp‫ﻣﺸﺎﻫﺪه‬ ‫ی‬‫از‬ ‫ﮐﻤﺘـﺮ‬ ‫ﺟﺎری‬ ‫ی‬۸۰/۰‫ﺑﺎﺷـﺪ‬. ‫اﯾﻦ‬ ‫در‬‫ﺻﻮرت‬‫ﻋﺒﺎرت‬"Below Poverty Line"‫ﻣﻘﺎﺑﻞ‬ ‫در‬id‫ی‬‫ﻣﯽ‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﺟﺎری‬‫اﯾـﻦ‬ ‫ﻏﯿـﺮ‬ ‫در‬ ،‫ﺷـﻮد‬‫ﻣﻘـﺪار‬ ‫ﺻـﻮرت‬ ‫ﻋﺒﺎرت‬ ‫و‬ ‫اﺳﺖ‬ ‫ﺻﻔﺮ‬ ‫ﺟﻤﻠﻪ‬"Above Poverty Line"‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺎﺑﻞ‬ ‫در‬id‫ﻣﯽ‬ ‫ﻧﻮﺷﺘﻪ‬‫ﺷﻮد‬. ‫ﻣﺜﺎل‬۱-۵ IF ostan='TEH' | ostan='QUM' THEN region='MARKAZI'; ‫ﺑﺎﻻ‬ ‫ﻋﺒﺎرت‬‫آن‬ ‫ﻣﻘﺪار‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫ﻣﻨﻄﻘﯽ‬ ‫ﻋﺒﺎرت‬ ‫ﯾﮏ‬۱‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ‫اﮔﺮ‬ ‫اﺳﺖ‬ostan‫ﻣﺸﺎﻫﺪه‬ ‫ﺑﺮای‬‫ﺟﺎری‬ ‫ی‬"TEH" ‫ﯾﺎ‬"QUM"،‫ﺑﺎﺷﺪ‬‫و‬‫اﯾﻦ‬ ‫ﻏﯿﺮ‬ ‫در‬‫ﺻـﻮرت‬‫اﺳـﺖ‬ ‫ﺻـﻔﺮ‬.‫ﻣﺘﻐﯿـﺮ‬ ‫ﻣﻘـﺪار‬ ‫اﯾـﻦ‬ ‫ﺑـﺮ‬ ‫ﺑﻨـﺎ‬region‫ﻣﺸـﺎﻫﺪه‬‫رﺷـﺘﻪ‬ ‫ﺟـﺎری‬ ‫ی‬ ‫ﻧﻮﯾﺴﻪ‬‫ای‬"MARKAZI"‫ﻣﯽ‬ ‫را‬‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ‫اﮔﺮ‬ ‫ﮔﯿﺮد‬ostan‫ﻣﺸـﺎﻫﺪه‬‫ﺟـﺎری‬ ‫ی‬"TEH"‫ﯾـﺎ‬"QUM"‫ﺑﺎﺷـﺪ‬.‫ﻏﯿـﺮ‬ ‫در‬ ‫اﯾﻦ‬‫ﻣﻘﺪار‬ ‫ﺻﻮرت‬region‫ﻣﯽ‬ ‫ﺧﺎﻟﯽ‬ ‫ﯾﺎ‬‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ ‫ﯾﺎ‬ ‫و‬ ‫ﻣﺎﻧﺪ‬IF‐THEN‫ﻣﯽ‬ ‫ﻣﺸﺨﺺ‬ ‫دﯾﮕﺮ‬‫ﺷﻮد‬. ‫ﻣﺜﺎل‬۱-۶‫ﺟﻤﻠﻪ‬ ‫ﻣﻘﺪار‬ ‫ﺑﻪ‬ ‫ﻣﺸﺮوط‬ ‫اﺳﺖ‬ ‫ﻻزم‬ ‫اوﻗﺎت‬ ‫ﮔﺎﻫﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻋﺒﺎرت‬ ‫ﭼﻨﺪ‬ ‫ای‬‫ای‬SAS‫ﻧﺸﻮد‬ ‫اﺟﺮا‬.‫ﻋﺒﺎرت‬‫ﻫـﺎی‬ ‫ﻧﺤﻮه‬ ‫زﯾﺮ‬‫ی‬‫ﻋﺒﺎرت‬ ‫ﺑﺮﺧﯽ‬ ‫اﺟﺮای‬ ‫از‬ ‫ﺟﻠﻮﮔﯿﺮی‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎی‬‫ﻫﺎی‬SAS‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬‫دﻫﺪ‬. IF 0.0 <= exp <=0.8 THEN GO TO poverty; ‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬‫ا‬‫ی‬SAS poverty: inc=(person*min)+2; ‫ﻋﺒﺎرت‬‫ﻫﺎ‬‫ی‬‫ﺑﺮﻧﺎﻣﻪ‬‫ا‬‫ی‬SAS ‫ﻋﺒﺎرت‬ ‫در‬‫ﮐﻠﻤﻪ‬ ‫ﺑﺎﻻ‬ ‫ﻫﺎی‬‫ی‬poverty‫اﺳﺖ‬ ‫ﺑﺮﭼﺴﺐ‬ ‫ﯾﮏ‬.‫ﺻﻮرﺗﯽ‬ ‫در‬‫ﻋﺒﺎرت‬ ‫ﮐﻪ‬0.0<= exp <=0.8 ،‫ﺑﺎﺷـﺪ‬ ‫درﺳـﺖ‬ SAS‫اﺟﺮای‬ ‫از‬"‫ﻋﺒﺎرت‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎی‬‫ای‬SAS"‫اول‬‫ﻋﺒﺎرت‬ ،‫ﮐﺮده‬ ‫ﺟﻠﻮﮔﯿﺮی‬inc=(person*min)+2;‫ﻣﯽ‬ ‫اﺟﺮا‬ ‫را‬‫ﮐﻨﺪ‬. ‫ﮔﺮوه‬ ‫از‬DO‐END‫ﻋﺒﺎرت‬ ‫ﭼﻨﺪ‬ ‫اﺟﺮای‬ ‫ﺑﺮای‬ ‫ﻧﯿﺰ‬SAS‫ﻣﯽ‬ ‫ﻧﯿﺰ‬‫ﮐﺮد‬ ‫اﺳﺘﻔﺎده‬ ‫ﺗﻮان‬.‫ﻧﺤـﻮه‬ ‫زﯾـﺮ‬ ‫ﻣﺜـﺎل‬‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ی‬DO‐ END‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬‫دﻫﺪ‬. ‫ﻣﺜﺎل‬۱-۷ IF inc < 0.8 THEN DO; n = n+1; pexp = exp/n;
  • 24.
    ۲۴ weight = .4; END; ELSEweight = .2; ‫ﻣﺜﺎل‬۱-۸‫ﻧﺤﻮه‬ ‫ﻣﺜﺎل‬ ‫اﯾﻦ‬‫ی‬‫ﻋﺒﺎرت‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﺟﺪﯾﺪ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﯾﮏ‬ ‫ﺳﺎﺧﺘﻦ‬‫ﻫﺎی‬IF‐THEN/ELSE‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬‫دﻫﺪ‬. DATA group1; INPUT id score @@; DATALINES; 01 18 02 14 03 09 04 13 05 17 06 12 07 19 08 11 09 10 10 10 ; RUN; DATA group2; SET group1; IF 0 <= score < 10 THEN scoregroup = 'F'; IF 10 <= score < 12 THEN scoregroup = 'D'; IF 12 <= score < 14 THEN scoregroup = 'C'; IF 14 <= score < 17 THEN scoregroup = 'B'; IF score >= 17 THEN scoregroup = 'A'; RUN; PROC PRINT DATA=group2; RUN; DATA group3; SET group2; IF scoregroup='F' THEN PUT id='NOT PASSED'; RUN; PROC PRINT; RUN; ‫ﻧﻤﺎد‬ ‫ﺑﺎﻻ‬ ‫ﻣﺜﺎل‬ ‫در‬"@@"‫ﻣﯽ‬ ‫اﺟﺎزه‬ ‫ﮐﺎرﺑﺮ‬ ‫ﺑﻪ‬‫دا‬ ‫ﺧﻂ‬ ‫ﻫﺮ‬ ‫در‬ ‫ﮐﻪ‬ ‫دﻫﺪ‬‫ده‬‫ای‬‫ﺷـﻮد‬ ‫وارد‬ ‫ﻣﺸﺎﻫﺪه‬ ‫ﯾﮏ‬ ‫از‬ ‫ﺑﯿﺶ‬ ‫ﻣﻘﺪارﻫﺎی‬. ‫اﯾﻦ‬ ‫ﻏﯿﺮ‬ ‫در‬‫داده‬ ‫ﺳﻄﺮ‬ ‫ﻫﺮ‬ ‫در‬ ‫ﺻﻮرت‬‫ﺷﻮد‬ ‫وارد‬ ‫ﻣﺸﺎﻫﺪه‬ ‫ﯾﮏ‬ ‫ﺑﺎﯾﺪ‬ ‫ای‬.‫ﻋﺒﺎرت‬SET‫ﻋﺒﺎرت‬ ‫از‬‫ﮔـﺎم‬ ‫در‬ ‫ﮐـﻪ‬ ‫اﺳـﺖ‬ ‫ﻫـﺎﯾﯽ‬ DATA‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬‫ﺑﻪ‬ ‫و‬ ‫رود‬SAS‫ﻣـﯽ‬‫داده‬ ‫ﮐـﻪ‬ ‫ﮔﻮﯾـﺪ‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﻫـﺎی‬‫ی‬‫داده‬‫از‬ ‫ﺑﻌـﺪ‬ ‫ﻧـﺎﻣﺶ‬ ‫ﮐـﻪ‬ ‫ﻫـﺎﯾﯽ‬SET‫ﻣـﯽ‬‫در‬ ‫را‬ ‫آﯾـﺪ‬ ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻋﺒﺎرت‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫ﮐﻪ‬ ‫ﻧﺎﻣﯽ‬ ‫ﺑﺎ‬ ‫ﻫﺎﯾﯽ‬DATA‫ﻣﯽ‬‫ﻋﺒـﺎرت‬ ‫اﻋﻤﺎل‬ ‫ﺑﺎ‬ ‫آﯾﺪ‬‫ﻋﺒـﺎرت‬ ‫دﻧﺒـﺎل‬ ‫ﺑـﻪ‬ ‫ﮐـﻪ‬ ‫ﺷـﺮﻃﯽ‬ ‫ﻫـﺎی‬
  • 25.
    ۲۵ SET‫ﻣﯽ‬‫ﺑﺮﯾﺰد‬ ،‫آﯾﻨﺪ‬.‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﻣﺜﺎل‬‫ﺑﺮای‬‫داده‬ ‫ی‬‫ﻫـﺎی‬group3‫ﺷـﺎﻣﻞ‬‫ﻣﺸـﺎﻫﺪه‬‫ﻫﺎی‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎی‬group2 ‫ﻧﻤﺮه‬ ‫ﻣﻘﺎﺑﻞ‬ ‫در‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬‫ﻫﺎی‬F‫آن‬‫ﻫﺎ‬‫ﻋﺒﺎرت‬"NOT PASSED"‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻧﻮﺷﺘﻪ‬. ‫ﺧﺮوﺟﯽ‬‫ﻣﺜﺎل‬۱-۸‫ﺷﮑﻞ‬ ‫در‬‫ﻫﺎی‬۱-۳‫و‬۱-۴‫اﺳـﺖ‬ ‫ﺷﺪه‬ ‫داده‬ ‫ﻧﻤﺎﯾﺶ‬.‫ﮔـﺎم‬ ‫ﺳـﻪ‬ ‫ﻣﺜـﺎل‬ ‫اﯾـﻦ‬ ‫در‬DATA‫ﻣﺨﺘﻠـﻒ‬ ‫ی‬ ‫ﻣﯽ‬ ‫دﯾﺪه‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﺗﺮﺗﯿﺐ‬ ‫ﺑﻪ‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬‫داده‬ ‫ی‬‫ﻣﻮﻗـﺖ‬ ‫ﻫـﺎی‬SAS‫ﻧـﺎم‬ ‫ﺑـﻪ‬‫ﻫـﺎی‬group1،group2،‫و‬group3‫اﯾﺠـﺎد‬ ‫را‬ ‫ﻣﯽ‬‫ﮐﻨﻨﺪ‬. ‫ﮔﺎم‬ ‫در‬DATA‫او‬ ‫ی‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ل‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬group1‫ﺑﺎ‬۱۰‫ﻣﯽ‬ ‫ﺳﺎﺧﺘﻪ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫دو‬ ‫و‬ ‫ﻣﺸﺎﻫﺪه‬‫ﺷﻮد‬.‫ﮔـﺎم‬ ‫در‬ DATA‫ـﻪ‬‫ـ‬‫ﻣﺠﻤﻮﻋ‬ ‫دوم‬ ‫ی‬‫داده‬ ‫ی‬‫ـﺎی‬‫ـ‬‫ﻫ‬SAS‫ـﺎم‬‫ـ‬‫ﻧ‬ ‫ـﺎ‬‫ـ‬‫ﺑ‬group2‫ـﺎﻫﺪه‬‫ـ‬‫ﻣﺸ‬ ‫از‬ ‫ـﺘﻔﺎده‬‫ـ‬‫اﺳ‬ ‫ـﺎ‬‫ـ‬‫ﺑ‬‫در‬ ‫ـﺎ‬‫ـ‬‫ﻫ‬group1‫ـﺮ‬‫ـ‬‫ﻣﺘﻐﯿ‬ ‫ـﮏ‬‫ـ‬‫ﯾ‬ ‫ـﺎ‬‫ـ‬‫ﺑ‬ ‫ﻧﻮﯾﺴﻪ‬‫ﻧﺎم‬ ‫ﺑﻪ‬ ‫اﺿﺎﻓﻪ‬ ‫ای‬scoregroup‫ﻣﻘﺪار‬ ‫ﺑﻪ‬ ‫ﺗﻮﺟﻪ‬ ‫ﺑﺎ‬ ‫ﻣﺸﺎﻫﺪه‬ ‫ﻫﺮ‬ ‫ﺑﺮای‬ ‫آن‬ ‫ﻣﻘﺪار‬ ‫ﮐﻪ‬score‫ﻣﯽ‬ ‫ﺗﻌﯿﯿﻦ‬‫اﯾﺠـﺎد‬ ،‫ﺷﻮد‬ ‫ﻣﯽ‬‫ﺷﻮد‬.‫ﮔﺎم‬ ‫در‬DATA‫ﻣﺠﻤﻮﻋﻪ‬ ،‫ﺳﻮم‬ ‫ی‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬group3‫اﺿﺎﻓﯽ‬ ‫اﻃﻼع‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬"NOT PASSED"  ‫ﺑﺮای‬id‫ﻧﻤﺮه‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫ی‬F‫ﮔﺮﻓﺘﻪ‬‫ﻣﯽ‬ ‫ﺳﺎﺧﺘﻪ‬ ‫اﻧﺪ‬‫ﺷﻮد‬)‫ﺷﮑﻞ‬۱-۴(. Obs id score scoregroup 1 1 18 A 2 2 14 B 3 3 09 F 4 4 13 C 5 5 17 A 6 6 12 C 7 7 19 A 8 8 11 D 9 9 10 D 10 10 10 D ‫ﺷﮑﻞ‬۱-۳ ‫ﺷﮑﻞ‬۱-۴ ‫ﻋﻤﻞ‬‫ﮔﺮ‬IN ‫اﯾﻦ‬ ‫ﺑﺮای‬‫ﻋﻤـﻞ‬ ‫ﻫﻤـﺮاه‬ ‫ﺑـﻪ‬ ‫ﻣﻘﺎﯾﺴـﻪ‬ ‫ﭼﻨـﺪﯾﻦ‬ ‫از‬ ‫ﻧﺎﭼﺎرﯾـﺪ‬ ‫ﮐﻨﯿـﺪ‬ ‫ﻣﻘﺎﯾﺴـﻪ‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫از‬ ‫ﻓﻬﺮﺳﺘﯽ‬ ‫ﺑﺎ‬ ‫را‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﯾﮏ‬ ‫ﻣﻘﺪار‬ ‫ﮐﻪ‬‫ﮔﺮ‬ ‫ﻣﻨﻄﻘﯽ‬OR‫ﺑﮕﯿﺮﯾﺪ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫زﯾﺮ‬ ‫دﺳﺘﻮر‬ ،‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬: IF a = 2 OR a = 5 OR a = 7 OR a = 9 THEN b = 1; ‫ﻣﻮرد‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﺗﻌﺪاد‬ ‫ﮐﻪ‬ ‫زﻣﺎﻧﯽ‬‫ﻧﻤﯽ‬ ‫ﻧﻈﺮ‬ ‫ﺑﻪ‬ ‫ﻣﻨﻄﻘﯽ‬ ‫ﺑﺎﻻ‬ ‫دﺳﺘﻮری‬ ‫ﺷﮑﻞ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺷﻮد‬ ‫زﯾﺎد‬ ‫ﻣﻘﺎﯾﺴﻪ‬‫ﻣﻮارد‬ ‫اﯾﻦ‬ ‫در‬ ،‫رﺳﺪ‬ ‫ﻣﯽ‬‫ﻋﻤﻠﮕﺮ‬ ‫از‬ ‫ﺗﻮاﻧﯿﺪ‬IN‫ﺑﻪ‬‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬: IF a IN(2, 5, 7, 9) THEN b = 1;
  • 26.
    ۲۶ ‫ﻣﯽ‬ ‫را‬ ‫ﻧﻈﺮ‬‫ﻣﻮرد‬ ‫ﻓﻬﺮﺳﺖ‬ ‫در‬ ‫ﻣﻮﺟﻮد‬ ‫ﻣﻘﺎدﯾﺮ‬‫ﻓﺎﺻﻠﻪ‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﺗﻮاﻧﯿﺪ‬‫ﮐﻨﯿـﺪ‬ ‫ﺟﺪا‬ ‫ﻫﻢ‬ ‫از‬ ‫واوک‬ ‫ﯾﮏ‬ ‫ﯾﺎ‬ ‫ﺧﺎﻟﯽ‬ ‫ی‬.‫ﻣﺜـﺎ‬ ‫ﺑـﺮای‬‫ل‬ ‫ﺑﺒﯿﻨﯿﺪ‬ ‫را‬ ‫زﯾﺮ‬ ‫دﺳﺘﻮر‬: IF Province IN('Tehran' 'Isfahan' 'Shiraz' 'Alborz') THEN ...   ۱-۵-۱-۴‫ﻣﺤﺎﺳﺒﻪ‬‫ﻣﮑﺮر‬ ‫ﻫﺎی‬ ‫اﻧﺠﺎم‬‫ﻣﺤﺎﺳﺒﻪ‬‫ﺑﺮ‬ ‫ﻋﻼوه‬ ‫ﺗﮑﺮاری‬ ‫ﻫﺎی‬‫از‬ ‫اﺳﺘﻔﺎده‬‫ﻋﺒﺎرت‬DO‐END‫ﻣﯽ‬‫ﺗﻮاﻧﺪ‬‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬‫ﻋﺒﺎرت‬‫ﻫﺎی‬DO‫اﻧﺠﺎم‬ ‫ﻧﯿﺰ‬ ‫ﺷﻮ‬‫ﻧ‬‫ﺪ‬.‫ﻋﺒﺎرت‬‫ﻫﺎی‬DO‫ی‬‫ﻣﮑﺮر‬،DO WHILE‫و‬DO UNTIL‫اﯾﻦ‬ ‫و‬ ‫ﻣﺘﻨﻮع‬ ‫ﮐﺎرﺑﺮدﻫﺎی‬ ‫دﻟﯿﻞ‬ ‫ﺑﻪ‬‫ﻣـﯽ‬ ‫ﮐﻪ‬‫آن‬ ‫ﺗـﻮان‬‫را‬ ‫ﻫـﺎ‬ ‫اﻧﻌﻄﺎف‬ ،‫ﮐﺮد‬ ‫ادﻏﺎم‬‫دارﻧﺪ‬ ‫ﺑﯿﺸﺘﺮی‬ ‫ﭘﺬﯾﺮی‬. ‫ﻣﺜﺎل‬۱-۹‫ﮐﺎرﺑﺴﺖ‬ ‫از‬ ‫ﻧﻤﺎﯾﺸﯽ‬ ‫ﻣﺜﺎل‬ ‫اﯾﻦ‬DO‫ﻋﺒﺎرت‬ ‫و‬ ‫ﺗﮑﺮاری‬ ‫ی‬ARRAY‫را‬‫اراﺋﻪ‬‫ﻣﯽ‬‫دﻫﺪ‬: DATA exam; INPUT hw1-hw6 test1-test3; ARRAY exam(9) hw1-hw6 test1-test3; DO i=1 to 8; IF exam{i}=. THEN exam{i}=0; END; DATALINES; ‫ﺧﻂ‬‫داده‬ ‫ﻫﺎی‬‫ای‬ ; RUN; ‫ﮐﻠﯽ‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬Do‫ی‬‫ﻣﮑﺮر‬‫دﻧﺒﺎﻟﻪ‬ ‫روی‬ ‫ﯾﮑﺴﺎن‬ ‫ﻋﻤﻠﯿﺎت‬ ‫اﻧﺠﺎم‬ ‫ﺑﺮای‬‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫از‬ ‫ای‬‫رود‬.‫دﻧﺒﺎﻟـﻪ‬ ‫ﻣﻌﺮﻓﯽ‬‫از‬ ‫ای‬ ‫ﻋﺒﺎرت‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ARRAY‫ﻣﯽ‬ ‫ﺻﻮرت‬‫ﮔﯿﺮد‬.‫ﮔ‬ ‫در‬ ‫ﻋﺒﺎرت‬ ‫اﯾﻦ‬‫ﺎم‬DATAً‫ﻻ‬‫ﻣﻌﻤﻮ‬‫ﻣﺘﻐﯿﺮﻫـﺎ‬ ‫ﻣﻌﺮﻓـﯽ‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫ﻣﯽ‬ ‫آورده‬‫ﺷﻮد‬.‫ﻋﺒﺎرت‬ARRAY‫ﻣﯽ‬ ‫اﺟﺎزه‬ ‫ﮐﺎرﺑﺮ‬ ‫ﺑﻪ‬‫ﻋﻨﺼـﺮﻫﺎی‬ ‫ﺑﺎ‬ ‫ﻣﺘﻨﺎﻇﺮ‬ ‫ﮐﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎﯾﯽ‬ ‫ﺑﻪ‬ ‫ﮐﻪ‬ ‫دﻫﺪ‬ARRAY،‫ﻫﺴـﺘﻨﺪ‬ ‫دﻫﺪ‬ ‫ارﺟﺎع‬. ‫ﻣﺜﺎل‬ ‫در‬۱-۹‫ﻣﺘﻐﯿﺮﻫﺎی‬hw1‐hw6‫و‬test1‐test3‫ﻋﻨﺼﺮﻫﺎی‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ARRAY‫ﻧﺎم‬ ‫ﺑﺎ‬exam‫ﺷـﺪه‬ ‫ﻣﻌﺮﻓﯽ‬‫اﻧـﺪ‬. ‫ﻫﻨﮕﺎﻣﯽ‬‫از‬ ‫ﺷﺎﺧﺺ‬ ‫ﮐﻪ‬۱‫ﺗﺎ‬۸،‫اﺳﺖ‬‫ﺣﻠﻘﻪ‬ ‫در‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬‫ی‬DO‫ﺑـﺎ‬ ‫ﺗﺮﺗﯿـﺐ‬ ‫ﺑـﻪ‬exam{1}‫ﺗـﺎ‬exam{8}‫ارﺟـﺎع‬ ‫داده‬‫ﻣﯽ‬‫ﺷﻮد‬.‫ﺣﻠﻘﻪ‬ ‫داﺧﻞ‬‫ی‬DO‫از‬‫ﺷﺎﺧﺺ‬i‫ﺷﻤﺎرش‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫اﺳﺘﻔﺎده‬ ‫ﮔﺮ‬. ‫از‬ ‫ﻣﺜﺎل‬ ‫اﯾﻦ‬ ‫در‬DO‫ی‬‫ﻣﮑﺮر‬‫داده‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺮای‬‫ﮔﻢ‬ ‫ﻫﺎی‬‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ﺑـﺮای‬ ‫ﺻـﻔﺮ‬ ‫ﺑﻪ‬ ‫ﺷﺪه‬hw1‐hw6‫و‬test1‐test3‫در‬ ‫ﺧﻂ‬‫داده‬ ‫ﻫﺎی‬‫ﻋﺒﺎرت‬ ‫از‬ ‫و‬ ‫ای‬ARRAY‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬ ‫ارﺟﺎع‬ ‫ﺑﺮای‬.
  • 27.
    ۲۷ ‫ﻋﺒﺎرت‬ ‫ﮐﻠﯽ‬ ‫ﺷﮑﻞ‬ARRAY‫اﺳﺖ‬‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬: ARRAY ‫ﻧﺎم‬‫آراﯾﻪ‬ {n} ‫ﻋﻨﺼﺮﻫﺎی‬ ‫ﻧﺎم‬‫آراﯾﻪ‬ ‫آﻏﺎزﯾﻦ‬ ‫ﻣﻘﺪارﻫﺎی‬ ; ‫ﮐﻪ‬{n}‫ﻋﻨﺼﺮﻫﺎی‬ ‫ﺗﻌﺪاد‬‫آراﯾﻪ‬،»‫ﻧـﺎم‬‫ﻋﻨﺼـﺮﻫﺎی‬‫آراﯾـﻪ‬«‫و‬ ،‫اﺳـﺖ‬ ‫ﻣﺘﻐﯿﺮﻫـﺎ‬ ‫ﻧـﺎم‬ ‫از‬ ‫ﻓﻬﺮﺳـﺘﯽ‬»‫ﻣﻘـ‬‫ﺪا‬‫آﻏـﺎزﯾﻦ‬ ‫رﻫﺎی‬« ‫ﻧﻮﯾﺴﻪ‬ ‫ﯾﺎ‬ ‫و‬ ‫ﻋﺪدی‬ ‫ﺷﺮوع‬ ‫ﻣﻘﺪارﻫﺎی‬‫ﻋﻨﺼﺮﻫﺎی‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ای‬‫آراﯾﻪ‬‫اﺳﺖ‬. ‫ﻣﺜﺎل‬۱-۱۰ DATA set1; INPUT d1-d7; ARRAY day{7} d1-d7; ARRAY hour{7} h1-h7; DO i=1 to 7; IF day{i}=999 THEN day{i}=. ; hour{i}=day{i}*12; END; DATALINES; ‫ﺧﻂ‬‫داده‬ ‫ﻫﺎی‬‫ای‬ ; RUN; ‫ﻣﺜﺎل‬ ‫اﯾﻦ‬ ‫در‬‫اراﺋﻪ‬‫ی‬day‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺎ‬ ‫ﻣﺮﺗﺒﻂ‬d1‫ﺗﺎ‬d7‫و‬‫اراﺋـﻪ‬‫ی‬hour ‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ﺑـﺎ‬ ‫ﻣـﺮﺗﺒﻂ‬h1‫ﺗـﺎ‬h7‫ﺗﻌﺮﯾـﻒ‬ ‫ﺷﺪه‬‫اﻧﺪ‬.‫ﺣﻠﻘﻪ‬ ‫در‬‫ی‬DO‫ﻣﺘﻐﯿﺮ‬ ‫ﻫﺮ‬ ‫ﻣﻘﺪار‬d1‫ﺗﺎ‬d7‫ﻣﻘﺪار‬ ‫اﮔﺮ‬۹۹۹‫ﮔﻢ‬ ‫ﻣﻘﺪار‬ ‫ﺑﻪ‬ ‫ﺑﺎﺷﻨﺪ‬ ‫داﺷﺘﻪ‬‫ﻣـﯽ‬ ‫ﺗﺒـﺪﯾﻞ‬ ‫ﺷـﺪه‬‫ﺷـﻮﻧﺪ‬. ‫ﻣﺘﻐﯿﺮ‬ ‫ﻫﺮ‬ ‫ﺟﺎری‬ ‫ﻣﻘﺪار‬ ‫ﺳﭙﺲ‬h1‫ﺗﺎ‬h7‫ﻣﻘﺪار‬ ‫ﺑﺎ‬d1‫ﺗﺎ‬d7‫در‬ ‫ﺿﺮب‬۱۲‫ﻣﯽ‬ ‫ﺗﻨﻈﯿﻢ‬‫ﺷﻮد‬. ‫ﻣﺜﺎل‬۱-۱۱ DATA IDO; DO i=1 to 4; DO j=2,4,6,8; k=(i-1)*5+j; OUTPUT; END; END; RUN; PROC PRINT DATA=IDO; TITLE 'Iterative DO Loop in a Single DATA Step'; RUN;
  • 28.
    ۲۸ ‫ﻧﻤﺎﯾﺸﯽ‬ ‫ﻣﺜﺎل‬ ‫اﯾﻦ‬‫ﺑﺮﻧﺎﻣﻪ‬‫از‬‫ﺣﻠﻘﻪ‬ ‫ﯾﮏ‬ ‫ﺷﺎﻣﻞ‬ ‫ای‬‫ی‬DO‫آﺷﯿﺎﻧﻪ‬ ‫ی‬‫ای‬‫اراﺋﻪ‬‫ﻣﯽ‬‫دﻫﺪ‬.‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬‫ﻣﺘﻐﯿﺮﺟﺪﯾـﺪ‬ ‫ﺑـﺎﻻ‬ ‫ی‬k‫ﺑـﺎ‬ ‫ﻋﺒﺎرت‬ ‫از‬ ‫اﺳﺘﻔﺎده‬‫ﻫﺎی‬DO‫ﺷﻤﺎرﺷﯽ‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫و‬i‫و‬j‫ﻣﯽ‬ ‫اﯾﺠﺎد‬‫ﺷﻮد‬.‫ﺳﻄﺢ‬ ‫ﺳﺎﺧﺘﻦ‬ ‫ﺑﺮای‬ ‫ﻓﻦ‬ ‫اﯾﻦ‬‫در‬ ‫ﻋـﺎﻣﻠﯽ‬ ‫ﻫﺎی‬ ‫ﻋﺎﻣﻞ‬ ‫ﺑﺎ‬ ‫ﺗﺮﮐﯿﺐ‬‫ﺗﻘﺎﻃﻊ‬ ‫ﯾﺎ‬ ‫ﻫﺎ‬‫آزﻣﺎﯾﺶ‬ ‫در‬ ‫ﻫﺎ‬‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬ ‫ﻋﺎﻣﻠﯽ‬ ‫ﻫﺎی‬‫رود‬.‫ﻋﺒﺎرت‬OUTPUT‫ﺣﻠﻘﻪ‬ ‫داﺧﻞ‬‫ی‬DO‫ﻣﻮﺟـﺐ‬ ‫ﺟﺪﯾﺪ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﺷﺪن‬ ‫ﻧﻮﺷﺘﻪ‬k‫در‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﮐﻪ‬ ‫ی‬‫ﺷـﺪ‬ ‫ﺧﻮاﻫﺪ‬،‫ﻣﯽ‬‫ﺷـﻮد‬.‫ﺑﺮﻧﺎﻣـﻪ‬ ‫اﺟـﺮای‬‫ی‬SAS‫ﺑـﺎﻻ‬۱۶ ‫ﻣﯽ‬ ‫ﺗﻮﻟﯿﺪ‬ ‫ﻣﺸﺎﻫﺪه‬‫ﮐﻨﺪ‬.‫ﺧﺮوﺟﯽ‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬. Obs i j k 1 1 2 2 2 1 4 4 3 1 6 6 4 1 8 8 5 2 2 7 6 2 4 9 7 2 6 11 8 2 8 13 9 3 2 12 10 3 4 14 11 3 6 16 12 3 8 18 13 4 2 17 14 4 4 19 15 4 6 21 16 4 8 23  ‫ﺷﮑﻞ‬۱-۵‫ﺑﺮو‬‫ﻣ‬ ‫داد‬‫ﺜﺎل‬۱-۱۱ ‫ﺣﻠﻘﻪ‬‫ﻫﺎ‬‫ی‬‫ﺗﮑﺮار‬DO WHILE‫و‬DO UNTIL DO UNTIL(condition); SAS-statements END; DO WHILE(condition); SAS-statements END; ‫ـﻪ‬‫ـ‬‫ﺣﻠﻘ‬‫ی‬DO WHILE‫ﻋﺒﺎرت‬‫ﻣﯽ‬ ‫ـﺮا‬‫ـ‬‫اﺟ‬ ‫ـﺖ‬‫ـ‬‫اﺳ‬ ‫ـﺮار‬‫ـ‬‫ﺑﺮﻗ‬ ‫ـﺮ‬‫ـ‬‫ﻧﻈ‬ ‫ـﻮرد‬‫ـ‬‫ﻣ‬ ‫ـﺮط‬‫ـ‬‫ﺷ‬ ‫ـﻪ‬‫ـ‬‫ﮐ‬ ‫ـﯽ‬‫ـ‬‫وﻗﺘ‬ ‫ـﺎ‬‫ـ‬‫ﺗ‬ ‫را‬ ‫ـﻮط‬‫ـ‬‫ﻣﺮﺑ‬ ‫ـﺎی‬‫ـ‬‫ﻫ‬‫ـﺪ‬‫ـ‬‫ﮐﻨ‬.‫ـﻪ‬‫ـ‬‫ﺣﻠﻘ‬‫ی‬ DO UNTIL‫ﻋﺒﺎرت‬‫ﺑﺮ‬ ‫ﺗﺎ‬ ‫را‬ ‫ﻣﺮﺑﻮط‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫اﺟﺮا‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﺷﺮط‬ ‫ﺷﺪن‬ ‫ﻗﺮار‬‫ﮐﻨﺪ‬.‫ﻧﻈـﺮ‬ ‫ﻣـﻮرد‬ ‫ﺷـﺮط‬ ،‫دﯾﮕﺮ‬ ‫ﻋﺒﺎرت‬ ‫ﺑﻪ‬ ‫در‬DO WHILE‫در‬ ‫ﺷـﺮط‬ ‫اﯾـﻦ‬ ‫ﮐـﻪ‬ ‫ﺣـﺎﻟﯽ‬ ‫در‬ ،‫اﺳـﺖ‬ ‫ﺣﻠﻘـﻪ‬ ‫اﺟﺮای‬ ‫ﺷﺮط‬DO UNTIL‫اﺳـﺖ‬ ‫ﺣﻠﻘـﻪ‬ ‫ﺗﻮﻗـﻒ‬ ‫ﺷـﺮط‬.‫در‬ DO WHILE‫ﺣﻠﻘﻪ‬ ‫اﺑﺘﺪای‬ ‫در‬ ‫ﺷﺮط‬ ،‫ﺑﺮرﺳﯽ‬‫ﻣﯽ‬‫در‬ ‫ﮐـﻪ‬ ‫ﺣـﺎﻟﯽ‬ ‫در‬ ،‫ﺷﻮد‬DO UNTIL‫ﺣﻠﻘـﻪ‬ ‫اﻧﺘﻬـﺎی‬ ‫در‬ ‫ﺷـﺮط‬ ،‫ﺑﺮرﺳـﯽ‬ ‫ﻣﯽ‬‫ﺷﻮد‬.‫ﻋﺒﺎرت‬ ‫ﺑﻪ‬‫ﺣﻠﻘﻪ‬ ،‫دﯾﮕﺮ‬‫ی‬DO WHILE‫ﻫﯿﭻ‬ ‫اﺳﺖ‬ ‫ﻣﻤﮑﻦ‬‫ﺣﻠﻘﻪ‬ ‫وﻟﯽ‬ ،‫ﻧﺸﻮد‬ ‫اﺟﺮا‬ ‫ﮔﺎه‬‫ی‬DO UNTIL‫اﻗـﻞ‬ ّ‫ﺪ‬‫ﺣـ‬ ‫ﻣﯽ‬ ‫اﺟﺮا‬ ‫ﺑﺎر‬ ‫ﯾﮏ‬‫ﺷﻮد‬. ‫ﻣﺜﺎل‬:‫ﻣﺠﻤﻮﻋﻪ‬ ‫دو‬‫ﻣﯽ‬ ‫ﺗﻮﻟﯿﺪ‬ ‫ﯾﮑﺴﺎﻧﯽ‬ ‫ﺧﺮوﺟﯽ‬ ،‫زﯾﺮ‬ ‫دﺳﺘﻮرات‬ ‫ی‬‫ﮐﻨﻨﺪ‬:
  • 29.
    ۲۹ DATA _NULL_; n =1; DO UNTIL(n >= 5); PUT n=; n + 1; END; RUN; DATA _NULL_; n = 1; DO WHILE(n < 5); PUT n=; n + 1; END; RUN; ۱-۵-۲‫ﺗﺎﺑﻊ‬‫ﻫﺎی‬SAS  ‫ﺗﺎﺑﻊ‬‫ﻫﺎی‬SAS‫ﺗﺒﺪﯾﻞ‬ ‫ﯾﺎ‬ ‫ﻣﺤﺎﺳﺒﺎت‬‫ﺑﻪ‬ ‫ﮐﻪ‬ ‫ﻣﻘﺎدﯾﺮی‬ ‫روی‬ ‫را‬ ‫ﻫﺎﯾﯽ‬‫ﻣﯽ‬ ‫درﯾﺎﻓﺖ‬ ‫ﺷﻨﺎﺳﻪ‬ ‫ﻋﻨﻮان‬‫ﻣﯽ‬ ‫اﻧﺠـﺎم‬ ‫ﮐﻨﻨـﺪ‬‫دﻫﻨـﺪ‬.‫ﻫـﺮ‬ ‫ﺷﻨﺎﺳﻪ‬ ‫اﯾﻦ‬ ‫از‬ ‫ﯾﮏ‬‫ﻣﯽ‬ ‫ﻫﺎ‬‫ﻣﺤﺎ‬ ‫ﻋﺒـﺎرت‬ ‫ﯾـﮏ‬ ‫ﯾـﺎ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻧﺎم‬ ،‫ﺛﺎﺑﺖ‬ ‫ﻣﻘﺪار‬ ‫ﺗﻮاﻧﺪ‬‫ﺑﺎﺷـﺪ‬ ‫ﺳـﺒﺎﺗﯽ‬.‫ﺗﺎﺑﻊ‬ ‫ﺑﺮﺧـﯽ‬‫ﻫـﺎی‬SAS‫در‬ ‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻓﻬﺮﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺟﺪول‬: ‫ﺗﺎﺑﻊ‬‫ﺷﺮح‬‫ﻣﺜﺎل‬‫ﻧﺘﯿﺠﻪ‬ ‫ﺗﺎﺑﻊ‬‫ﻧﻮﯾﺴﻪ‬ ‫ﻫﺎی‬‫ای‬ CAT(arg1, arg2, …) ‫رﺷﺘﻪ‬ ‫ﭼﻨﺪ‬ ‫ﯾﺎ‬ ‫دو‬‫ﻧﻮﯾﺴﻪ‬ ‫ی‬‫ﺑـﻪ‬ ‫را‬ ‫ای‬ ‫ﻣﯽ‬ ‫ﻫﻢ‬‫ﭼﺴﺒﺎﻧﺪ‬. a = ‘  cat  ‘;  b = ‘dog’;  c = CAT(a, b);  c = ‘  cat  dog’ CATS(arg1, arg2, …)‫رﺷـﺘ‬ ‫ـﺪ‬‫ـ‬‫ﭼﻨ‬ ‫ﯾـﺎ‬ ‫دو‬‫ﻪ‬‫ـﻪ‬‫ـ‬‫ﻧﻮﯾﺴ‬ ‫ی‬،‫را‬ ‫ای‬ ‫ـﻠﻪ‬‫ـ‬‫ﻓﺎﺻ‬ ‫ـﺬف‬‫ـ‬‫ﺣ‬ ‫از‬ ‫ـﺲ‬‫ـ‬‫ﭘ‬‫ـﺎﻟﯽ‬‫ـ‬‫ﺧ‬ ‫ﻫﺎی‬ ‫آن‬ ‫ــﺎی‬‫ـ‬‫اﻧﺘﻬ‬ ‫و‬ ‫ــﺪا‬‫ـ‬‫اﺑﺘ‬‫ــﻢ‬‫ـ‬‫ﻫ‬ ‫ــﻪ‬‫ـ‬‫ﺑ‬ ،‫ــﺎ‬‫ـ‬‫ﻫ‬ ‫ﻣﯽ‬‫ﭼﺴﺒﺎﻧﺪ‬. a = ‘  cat  ‘;  b = ‘dog’;  c = CATS(a, b); c = ‘catdog’ CATX(‘separator’,  arg1, arg2, …) ‫رﺷـﺘﻪ‬ ‫ـﺪ‬‫ـ‬‫ﭼﻨ‬ ‫ﯾـﺎ‬ ‫دو‬‫ـﻪ‬‫ـ‬‫ﻧﻮﯾﺴ‬ ‫ی‬،‫را‬ ‫ای‬ ‫ـﻠﻪ‬‫ـ‬‫ﻓﺎﺻ‬ ‫ـﺬف‬‫ـ‬‫ﺣ‬ ‫از‬ ‫ـﺲ‬‫ـ‬‫ﭘ‬‫ـﺎﻟﯽ‬‫ـ‬‫ﺧ‬ ‫ﻫﺎی‬ ‫آن‬ ‫اﻧﺘﻬـﺎی‬ ‫و‬ ‫اﺑﺘﺪا‬‫دان‬ ‫ﻗـﺮار‬ ‫و‬ ‫ﻫـﺎ‬ ‫آن‬ ‫ﺑـــﯿﻦ‬ ‫ﺟـــﺪاﮔﺮ‬‫ـــﻢ‬‫ـ‬‫ﻫ‬ ‫ﺑـــﻪ‬ ،‫ـــﺎ‬‫ـ‬‫ﻫ‬ ‫ﻣﯽ‬‫ﭼﺴﺒﺎﻧﺪ‬. a = ‘  cat  ‘;  b = ‘dog’;  c = CATX(‘ ’, a, b); c = ‘cat dog’
  • 30.
    ۳۰ ‫ﺗﺎﺑﻊ‬‫ﺷﺮح‬‫ﻣﺜﺎل‬‫ﻧﺘﯿﺠﻪ‬ COMPRESS(arg,  ‘chars’) ‫ــﻠﻪ‬‫ـ‬‫ﻓﺎﺻ‬‫ــﻪ‬‫ـ‬‫ﻧﻮﯾﺴ‬ ‫ــﺎ‬‫ـ‬‫ﯾ‬ ‫ــﺎﻟﯽ‬‫ـ‬‫ﺧ‬‫ی‬‫ﻫﺎی‬ ‫ﻣﺸﺨﺺ‬‫رﺷــﺘﻪ‬ ‫ﯾــﮏ‬ ‫از‬ ‫را‬ ‫ﺷــﺪه‬‫ی‬ ‫ﻧﻮﯾﺴﻪ‬‫ﻣﯽ‬ ‫ﺣﺬف‬ ‫ای‬‫ﮐﻨﺪ‬. a = ‘cat & dog’;  b = compress(a);  c = compress(a, ‘&’); b = ‘cat&dog’  c = ‘cat  dog)’ LENGTH(arg)‫رﺷــﺘﻪ‬ ‫ﯾــﮏ‬ ‫ﻃــﻮل‬‫ﻧﻮﯾﺴــﻪ‬ ‫ی‬‫را‬ ‫ای‬ ‫ﺑﺮﻣﯽ‬‫ﮔﺮداﻧﺪ‬.‫ﻓﺎﺻـﻠﻪ‬ ‫ﺗﺎﺑﻊ‬ ‫اﯾﻦ‬‫ﻫﺎی‬ ‫ﻧﻤﯽ‬ ‫را‬ ‫رﺷـﺘﻪ‬ ‫اﻧﺘﻬﺎی‬ ‫ﺧﺎﻟﯽ‬‫ﺷـﻤﺎرد‬ ‫رﺷــﺘﻪ‬ ‫ﯾــﮏ‬ ‫ـﻮل‬‫ـ‬‫ﻃ‬ ‫و‬‫را‬ ‫ﭘــﻮچ‬ ‫ی‬۱ ‫ﺑﺮﻣﯽ‬‫ﮔﺮداﻧﺪ‬. a = ‘  My cat   ’;  b = LENGTH(a); b = 8 SUBSTR(arg, p, n)‫ــﺘﻪ‬‫ـ‬‫زﯾﺮرﺷ‬‫از‬ ‫را‬ ‫ــﺘﻪ‬‫ـ‬‫رﺷ‬ ‫ــﮏ‬‫ـ‬‫ﯾ‬ ‫از‬ ‫ای‬ ‫ﻣﮑﺎن‬p‫و‬‫ﻃﻮل‬ ‫ﺑﻪ‬n‫ﺑﺮﻣﯽ‬‫ﮔﺮدﻧﺪ‬. a = ‘(9821) 8863  0442)’;  b = SUBSTR(a, 8, 4);  b = ‘8863’ TRANSLATE(arg, to1,  from1, …)  ‫ﻧﻮﯾﺴــــــﻪ‬‫ﻫﺎی‬to‫ﺟــــــﺎﯾﮕﺰﯾﻦ‬ ‫را‬ ‫ـﻪ‬‫ـ‬‫ﻧﻮﯾﺴ‬‫ﻫﺎی‬from‫در‬ ‫ـﻮد‬‫ـ‬‫ﻣﻮﺟ‬arg ‫ﻣﯽ‬‫ﮐﻨــﺪ‬.‫ﻃــﻮل‬to‫و‬from‫ﺑﺎﯾــﺪ‬ ‫ﺑﺎﺷﺪ‬ ‫ﯾﮑﺴﺎن‬. a = ‘19/05/85’;  b = TRANSLATE(a, ‘‐’,  ‘/’);  b = ’19‐05‐85’  TRANWRD(arg, target,  replacement)  replacement‫ﺟـــــــــﺎﯾﮕﺰﯾﻦ‬ ‫را‬ target‫در‬ ‫ﻣﻮﺟﻮد‬arg‫ﻣﯽ‬‫ﮐﻨﺪ‬. a = ‘Mrs. Smith’;  b = TRANWRD(a,  ‘Mrs.’, ‘Ms.’);  b = ‘Ms.  Smith’  UPCASE(arg) ‫در‬ ‫ﻣﻮﺟـﻮد‬ ‫ﻻﺗﯿﻦ‬ ‫ﺣﺮوف‬ ‫ﺗﻤﺎم‬arg ‫ﻣﯽ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺰرگ‬ ‫ﺷﮑﻞ‬ ‫ﺑﻪ‬ ‫را‬‫ﮐﻨﺪ‬. a = ‘My cat’;  b = UPCASE(a);  b = ‘MY CAT’  ‫ﺗﺎﺑﻊ‬‫ﻋﺪدی‬ ‫ﻫﺎی‬  INT(arg)   ‫ﺻــــــــــﺤﯿﺢ‬ ‫ﺑﺨــــــــــﺶ‬arg‫را‬ ‫ﺑﺮﻣﯽ‬‫ﮔﺮداﻧﺪ‬. a = INT(2.3);  b = INT(‐2.3)  a = 2  b = ‐2 
  • 31.
    ۳۱ ‫ﺗﺎﺑﻊ‬‫ﺷﺮح‬‫ﻣﺜﺎل‬‫ﻧﺘﯿﺠﻪ‬ CEIL(arg) ‫ﮐﻮﭼﮏ‬‫ﺑﺰرگ‬ ‫ﺻﺤﯿﺢ‬ ‫ﻋﺪد‬‫ﺗﺮﯾﻦ‬‫ﺗـﺮ‬ ‫ﻣﺴﺎوی‬ ‫ﯾﺎ‬arg‫ﺑﺮﻣﯽ‬ ‫را‬‫ﮔﺮداﻧﺪ‬. a = CEIL(2.3);  b = CEIL(‐2.3);  a = 3  b = ‐2  FLOOR(arg) ‫ﺑﺰرگ‬‫ﮐﻮﭼﮏ‬ ‫ﺻﺤﯿﺢ‬ ‫ﻋﺪد‬ ‫ﺗﺮﯾﻦ‬‫ﺗـﺮ‬ ‫ﻣﺴﺎوی‬ ‫ﯾﺎ‬arg‫ﺑﺮﻣﯽ‬ ‫را‬‫ﮔﺮداﻧﺪ‬. a = FLOOR(2.3);  b = FLOOR(‐2.3);  a = 2;  b = ‐3;  ROUND(arg, rounding‐ unit)  arg‫ﻣﯽ‬ ‫ﮔﺮد‬ ‫را‬‫ﮐﻨﺪ‬a = ROUND(3.7);  b = ROUND(3.275,  .01);  a = 4  B = 3.28  MIN(arg1, arg2, …) ‫ﻣﻘﺎدﯾﺮ‬ ‫ﻣﯿﻨﯿﻤﻢ‬ a = MIN(2, 7, ., 1); a = 1  MAX(arg1, arg2, …) ‫ﻣﻘﺎدﯾﺮ‬ ‫ﻣﺎﮐﺴﯿﻤﻢ‬a = MAX(2, 7, ., 1); a = 7  N(arg1, arg2, …) ‫ﮔﻢ‬ ‫ﻏﯿﺮ‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﺗﻌﺪاد‬‫ﺷﺪه‬a = N(2, 7, ., 1); a = 3  NMISS(arg1, arg2, …) ‫ﮔﻢ‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﺗﻌﺪاد‬‫ﺷﺪه‬a = NMISS(2, 7, ., 1); a = 1  SUM(arg1, arg2, …) ‫ﮔﻢ‬ ‫ﻏﯿﺮ‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﻣﺠﻤﻮع‬‫ﺷﺪه‬a = SUM(2, 7, ., 1); a = 10  MEAN(arg1, arg2, …) ‫ﮔﻢ‬ ‫ﻏﯿﺮ‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﻣﯿﺎﻧﮕﯿﻦ‬‫ﺷﺪه‬a = MEAN(2, 7, ., 1); a = 3.33  ‫ﺗﺒﺪ‬‫ﯾﻞ‬‫داده‬‫ﻫﺎ‬‫ی‬‫ﻧﻮ‬‫ﯾﺴﻪ‬‫ای‬‫ﻋﺪد‬ ‫ﺑﻪ‬‫ی‬‫ﺑﺮﻋﮑﺲ‬ ‫و‬  INPUT(arg, informat) ‫ـــﺘﻪ‬‫ـ‬‫رﺷ‬‫ی‬arg‫ـــﻪ‬‫ـ‬‫ﺑ‬ ‫ـــﻪ‬‫ـ‬‫ﺗﻮﺟ‬ ‫ـــﺎ‬‫ـ‬‫ﺑ‬ ‫را‬ ‫ﻣﺸﺨﺺ‬ ‫ـﺖ‬‫ـ‬‫اﯾﻨﻔﻮرﻣ‬‫ـﮏ‬‫ـ‬‫ﯾ‬ ‫ـﻪ‬‫ـ‬‫ﺑ‬ ‫ـﺪه‬‫ـ‬‫ﺷ‬ ‫ﻣﯽ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﻋﺪدی‬ ‫ﻣﻘﺪار‬‫ﮐﻨﺪ‬. a = ‘$32,275’;  b = INPUT(a,  comma7.);  b = 32275  PUT(arg, format) ‫ﻋﺪد‬arg‫ﻓﻮرﻣـﺖ‬ ‫ﺑـﻪ‬ ‫ﺗﻮﺟـﻪ‬ ‫ﺑـﺎ‬ ‫را‬ ‫ﻣﺸﺨﺺ‬‫ﻣﻘـــﺪار‬ ‫ﯾـــﮏ‬ ‫ﺑـــﻪ‬ ‫ﺷـــﺪه‬ ‫ﻧﻮﯾﺴﻪ‬‫ﻣﯽ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ای‬‫ﮐﻨﺪ‬. a = 275;  b = PUT(a, z5.);  b = ‘00275’;  ‫ﻧﮑﺘﻪ‬:‫ﺑﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫از‬ ‫ﻓﻬﺮﺳﺘﯽ‬ ‫روی‬ ‫ﺗﻮاﺑﻊ‬ ‫اﯾﻦ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺮای‬‫ﮐﻨﯿﺪ‬ ‫ﻋﻤﻞ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬: a = SUM(of x1-x10); b = MIN(of zar:); ۱-۵-۳‫ﻋﺒﺎرت‬RETAIN
  • 32.
    ۳۲ ‫ﺑﻪ‬‫ﭘﯿﺶ‬ ‫ﺻﻮرت‬‫ﮔﺎم‬ ‫ﺗﮑﺮار‬‫ﻫﺮ‬ ‫در‬ ‫ﻓﺮض‬DATA‫ﮔﻢ‬ ‫ﻣﻘﺪار‬ ‫ﺑﻪ‬ ‫اﺑﺘﺪا‬ ‫ﺟﺪﯾﺪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﻣﻘﺪار‬ ،‫ﻣﯽ‬ ‫ﺗﻐﯿﯿـﺮ‬ ‫ﺷﺪه‬‫ﺳـﭙﺲ‬ ،‫ﯾﺎﺑـﺪ‬ ‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ‫ﻣﺮﺑﻮط‬ ‫ﻣﺤﺎﺳﺒﺎت‬‫ﻣﯽ‬ ‫ﺑﺎﻋﺚ‬ ‫ﻋﻤﻞ‬ ‫اﯾﻦ‬ ،‫ﺷﻮد‬‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫اﯾﻦ‬ ‫ﭘﯿﺸﯿﻦ‬ ‫ﻣﻘﺪار‬ ‫ﺑﻪ‬ ‫ﻣﺎ‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬)‫ﮔـﺎم‬ ‫ﻗﺒﻠﯽ‬ ‫ﺗﮑﺮار‬ ‫در‬ DATA(‫ﺑﺎﺷﯿﻢ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫دﺳﺘﺮﺳﯽ‬.‫ﻣﻘـﺪار‬ ‫ﺣﻔـﻆ‬ ‫ﺑﺮای‬‫اﯾﻦ‬‫ﮔـﺎم‬ ‫ﺑﻌـﺪی‬ ‫ﺗﮑـﺮار‬ ‫در‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑـﺮای‬ ‫ﻣﺘﻐﯿﺮﻫـﺎ‬ ‫ﮔﻮﻧـﻪ‬DATA ‫ﻣﯽ‬‫ﻋﺒﺎرت‬ ‫از‬ ‫ﺗﻮاﻧﯿﺪ‬RETAIN‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬: RETAIN ‫ﻣﺘﻐﯿﺮ‬ ‫ﻧﺎم‬ <‫آﻏﺎزﯾﻦ‬ ‫ﻣﻘﺪار‬>; ‫ﻣﺜﺎل‬:‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﻣﯿﺎﻧﮕﯿﻦ‬ ‫زﯾﺮ‬ ‫دﺳﺘﻮرات‬Score‫ﻣﯽ‬ ‫ﻣﺤﺎﺳﺒﻪ‬ ‫را‬‫ﮐﻨﺪ‬: DATA scores; INPUT Score @@; CARDS; 12 15 17 25 19 RUN; DATA mscore; RETAIN n Sum (2 * 0); SET scores end = last; n = n + 1; Sum = Sum + score; IF last THEN DO; Average = Sum / n; OUTPUT; END; DROP score; RUN; PROC PRINT DATA = mscore; RUN; ‫ﻧﮑﺘﻪ‬:‫ﮔﺰﯾﻨﻪ‬‫ی‬END = last‫ﺑﻪ‬ ‫ﻣﻮﻗﺘﯽ‬ ‫ﻣﺘﻐﯿﺮی‬ ،‫ﻧﺎم‬last‫ﻣﯽ‬‫ﻣﺸﺎﻫﺪه‬ ‫آﺧﺮﯾﻦ‬ ‫ﺑﺮای‬ ‫آن‬ ‫ﻣﻘﺪار‬ ‫ﮐﻪ‬ ‫ﺳﺎزد‬۱‫ﺳﺎﯾﺮ‬ ‫ﺑﺮای‬ ‫و‬ ‫ﻣﺸﺎﻫﺪه‬‫ﻫﺎ‬۰‫ﻣﯽ‬ ‫ﮔﺰﯾﻨﻪ‬ ‫اﯾﻦ‬ ‫از‬ ،‫اﺳﺖ‬‫ﮐﺮد‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﺸﺎﻫﺪه‬ ‫آﺧﺮﯾﻦ‬ ‫ﺗﺸﺨﺺ‬ ‫ﺑﺮای‬ ‫ﺗﻮان‬. ۱-۵-۴‫داده‬ ‫ﮐﺮدن‬ ‫ﻣﺮﺗﺐ‬‫ﻫﺎ‬ ‫ﮐﺮدن‬ ‫ﻣﺮﺗﺐ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫داد‬ ‫ﭘـﺮدازش‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫و‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﭼﻨﺪ‬ ‫ﯾﺎ‬ ‫ﯾﮏ‬ ‫ﻣﻘﺪارﻫﺎی‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬‫ه‬‫ﺷـﯿﻮه‬ ‫ﺑـﺎ‬ ‫ﻫـﺎ‬‫ی‬SORT ‫ﻣﯽ‬ ‫اﻧﺠﺎم‬‫ﺷﻮد‬.‫ﻋﺒﺎرت‬BY‫ﺷﯿﻮه‬ ‫اﻃﻼﻋﺎﺗﯽ‬ ‫ﻋﺒﺎرت‬‫ﺑﺎ‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫ای‬PROC SORT‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬‫رود‬.‫ﻧﺤـﻮه‬ ‫ﻋﺒﺎرت‬ ‫اﯾﻦ‬‫ی‬ ‫ﮐﺮدن‬ ‫ﻣﺮﺗﺐ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺷـﯿﻮه‬ ‫ﺑﻪ‬ ‫را‬‫ی‬SORT‫ﻣـﯽ‬‫ﮔﻮﯾـﺪ‬.‫ﺷـﯿﻮه‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫در‬‫ی‬SORT‫ﻣﺸـﺎﻫﺪه‬ ،‫اﺑ‬ ‫ﻫـﺎ‬‫ﺘـ‬‫ﺑـﻪ‬ ‫ﺪا‬ ‫ـﺎرت‬‫ـ‬‫ﻋﺒ‬ ‫در‬ ‫ـﺮ‬‫ـ‬‫ﻣﺘﻐﯿ‬ ‫ـﯿﻦ‬‫ـ‬‫اوﻟ‬ ‫ـﺪارﻫﺎی‬‫ـ‬‫ﻣﻘ‬ ‫ـﺐ‬‫ـ‬‫ﺣﺴ‬ ‫ـﺮ‬‫ـ‬‫ﺑ‬ ‫ـﯽ‬‫ـ‬‫اﻓﺰاﯾﺸ‬ ‫ـﻮرت‬‫ـ‬‫ﺻ‬BY‫ﻣ‬‫ـﯽ‬‫ـ‬‫ﻣ‬ ‫ـﺐ‬‫ـ‬‫ﺮﺗ‬‫ـﻮﻧﺪ‬‫ـ‬‫ﺷ‬.‫ـﺮوه‬‫ـ‬‫ﮔ‬ ‫ـﺮ‬‫ـ‬‫ﻫ‬ ‫درون‬ ‫ـﭙﺲ‬‫ـ‬‫ﺳ‬
  • 33.
    ۳۳ )‫زﯾﺮﻣﺠﻤﻮﻋﻪ‬(‫ﻣﺸﺎﻫﺪه‬‫ﻣﻘﺪارﻫﺎی‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬‫ﻫﺎ‬‫دوﻣﯿﻦ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻣﺘﻐﯿﺮ‬BY‫ﻣـﯽ‬ ‫ﻣﺮﺗـﺐ‬ ‫اﻓﺰاﯾﺸـﯽ‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬‫ﺷـﻮﻧﺪ‬. ‫ﻋﺒﺎرت‬ ‫ﺑﻌﺪی‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺮای‬ ‫ﻗﺎﻋﺪه‬ ‫ﻫﻤﯿﻦ‬BYِ‫ا‬‫ﻣﯽ‬ ‫ﻋﻤﺎل‬‫ﺷﻮد‬. ‫ﮐﺮدن‬ ‫ﻣﺮﺗﺐ‬ ‫ﺑﺮای‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ،‫ﻋﺪدی‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺮای‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬‫و‬ ‫ﺷﻮد‬‫ﮔﻢ‬ ‫ﻣﻘﺪار‬‫ﮐـﻢ‬ ‫ﺷـﺪه‬‫ﺗـﺮﯾﻦ‬ ‫ﻣﯽ‬ ‫را‬ ‫رﺗﺒﻪ‬‫ﮔﯿﺮد‬.‫ﻧﻮﯾﺴﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬‫ﺣﺮ‬ ‫ﺗﺮﺗﯿﺐ‬ ‫ﺑﻪ‬ ‫ای‬‫ف‬‫ﻫﺎی‬‫اﻟ‬‫ﻔ‬‫اﻧﮕﻠﯿﺴﯽ‬ ‫ﺒﺎی‬-A‫و‬ ‫ﮐﻮﭼﮑﺘﺮﯾﻦ‬Z‫ﺑﺰرگ‬‫ﺗـﺮﯾﻦ‬-‫ﻣﺮﺗـﺐ‬ ‫ﻣﯽ‬‫ﺷﻮﻧﺪ‬.‫ﻓﺎﺻﻠﻪ‬‫ﮐﻮﭼﮏ‬ ‫ﺧﺎﻟﯽ‬ ‫ی‬‫ﻧﻮﯾﺴﻪ‬ ‫ﺗﺮﯾﻦ‬،‫اﯾﻦ‬ ‫ﺑﺮ‬ ‫ﺑﻨﺎ‬ ،‫اﺳﺖ‬'South east'‫ﺑﺰرگ‬‫از‬ ‫ﺗﺮ‬'North'‫ﮐﻮﭼﮏ‬ ‫وﻟﯽ‬‫از‬ ‫ﺗﺮ‬ 'Southern'‫اﺳﺖ‬. ‫ﻣﺜﺎل‬: PROC SORT DATA = score; BY gender inc; RUN; PROC PRINT; BY gender inc; RUN; ‫ﻣﺜﺎل‬ ‫اﯾﻦ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬score‫ﻣﺘﻐﯿـﺮ‬ ‫ﻣﻘـﺪارﻫﺎی‬ ‫ﺣﺴـﺐ‬ ‫ﺑـﺮ‬ ‫اﺑﺘـﺪا‬ ‫را‬gender‫در‬ ‫ﺳـﭙﺲ‬ ‫و‬‫ون‬‫ﺑـﺮ‬ ‫ﮔـﺮوه‬ ‫ﻫـﺮ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ‫ﺣﺴﺐ‬inc‫ﻣﯽ‬ ‫ﻣﺮﺗﺐ‬‫ﮐﻨﺪ‬.‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ‫اﮔﺮ‬gender‫ﻣﻘﺪارﻫﺎی‬۱‫و‬۲‫ﺑﺎﺷﻨﺪ‬،‫اﺑﺘﺪا‬‫ﻣﺠ‬‫ﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬ ‫ﻣﻘﺪارﻫﺎی‬ ‫ﺑﺎ‬ ‫ﮔﺮوه‬ ‫دو‬ ‫ﺑﻪ‬۱‫و‬۲‫ی‬‫ﻣﺘﻐﯿﺮ‬gender‫داده‬ ‫ﮔﺮوه‬ ‫ﻫﺮ‬ ‫داﺧﻞ‬ ‫ﺳﭙﺲ‬ ‫و‬ ‫ﺷﺪه‬ ‫ﺗﻘﺴﯿﻢ‬‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬ ‫ﻫﺎ‬ inc‫ﺷﻮﻧﺪ‬ ‫ﻣﺮﺗﺐ‬. ۱-۵-۴-۱‫ﻣﺸﺎﻫﺪه‬ ‫ﺣﺬف‬‫ﺗﮑﺮاری‬ ‫ﻫﺎی‬ ‫ﺷــﯿﻮه‬‫ی‬SORT‫ﮔﺰﯾﻨــﻪ‬ ‫دو‬ ‫دارای‬‫ی‬NODUPKEY‫و‬DUPOUT =‫اﺳــﺖ‬.‫ﮔﺰﯾﻨــﻪ‬‫ﻣﺸــﺎﻫﺪه‬ ‫اول‬ ‫ی‬‫از‬ ‫را‬ ‫ﺗﮑــﺮاری‬ ‫ﻫﺎی‬ ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻣﯽ‬ ‫ﺣﺬف‬ ‫ﺧﺮوﺟﯽ‬ ‫ی‬‫ﮐﻨﺪ‬.‫ﮔﺰﯾﻨﻪ‬‫ﮔﺰﯾﻨﻪ‬ ‫ﻫﻤﺮاه‬ ‫ﺑﻪ‬ ،‫دوم‬ ‫ی‬‫ﻣﺸﺎﻫﺪه‬ ،‫اول‬ ‫ی‬‫ﺣﺬف‬ ‫ﺗﮑﺮاری‬ ‫ﻫﺎی‬‫در‬ ‫را‬ ‫ﺷﺪه‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬‫داده‬ ‫ی‬‫ﻣﯽ‬ ‫ذﺧﯿﺮه‬ ‫دﯾﮕﺮ‬ ‫ﻫﺎی‬‫ﮐﻨﺪ‬. ۱-۵-۴-۲‫از‬ ‫اﺳﺘﻔﺎده‬SET‫ﻫﻤﺮاه‬ ‫ﺑﻪ‬BY ‫ﻣﺠﻤﻮﻋﻪ‬ ‫دو‬‫داده‬ ‫ی‬‫ﻫﺎی‬set1‫و‬set2‫ﮔﯿﺮﯾﺪ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬.‫ﻣﺠﻤﻮﻋـﻪ‬ ‫دو‬ ‫اﯾـﻦ‬ ‫دوی‬ ‫ﻫﺮ‬ ‫اﮔﺮ‬‫داده‬ ‫ی‬‫ﺑـ‬ ‫ﻫـﺎ‬‫ﯾـﺎ‬ ‫ﯾـﮏ‬ ‫ﺣﺴـﺐ‬ ‫ﺮ‬ ‫ﺑﺎﺷﻨﺪ‬ ‫ﺷﺪه‬ ‫ﻣﺮﺗﺐ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﭼﻨﺪ‬)‫ﻣﺘﻐﯿﺮ‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬ ً‫ﻼ‬‫ﻣﺜ‬id(‫ﻋﺒـﺎرت‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ،BY‫ﻣﯽ‬ ‫ﺑﺎﻋـﺚ‬ ‫زﯾـﺮ‬ ‫دﺳـﺘﻮرات‬ ‫در‬‫ﺷـﻮد‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﮐﻪ‬‫داده‬ ‫ی‬‫ﯾﻌﻨﯽ‬ ،‫ﺣﺎﺻﻞ‬ ‫ﻫﺎی‬set3‫ﻣﺘﻐﯿﺮ‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬ ‫ﻧﯿﺰ‬ ،id‫ﺷﻮد‬ ‫ﻣﺮﺗﺐ‬:
  • 34.
    ۳۴ DATA set3; SET set1set2; BY id; RUN; ۱-۵-۵‫ﻣﻮﻗﺘﯽ‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬FIRST.var‫و‬LAST.var  ‫ﮔﺎم‬ ‫در‬ ‫اﮔﺮ‬DATA‫ﻋﺒﺎرت‬ ‫از‬BY var‫ﻣـﻮﻗﺘﯽ‬ ‫ﻣﺘﻐﯿـﺮ‬ ‫دو‬ ،‫ﮐﻨﯿـﺪ‬ ‫اﺳﺘﻔﺎده‬FIRST.var‫و‬LAST.var‫ﻣﯽ‬ ‫ﺳـﺎﺧﺘﻪ‬‫ﺷـﻮﻧﺪ‬. ‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬FIRST.var‫رخ‬ ‫اوﻟﯿﻦ‬ ‫ﺑﺮای‬‫ﻣﺘﻐﯿﺮ‬ ‫ﯾﮑﺘﺎی‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫از‬ ‫ﯾﮏ‬ ‫ﻫﺮ‬ ‫داد‬var‫ﺑﺮاﺑـﺮ‬۱‫ﺑﺮاﺑـﺮ‬ ‫ﺟﺎﻫـﺎ‬ ‫ﺳـﺎﯾﺮ‬ ‫در‬ ‫و‬۰ ‫اﺳﺖ‬.‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬LAST.var‫رخ‬ ‫آﺧﺮﯾﻦ‬ ‫ﺑﺮای‬‫ﯾ‬ ‫ﻫﺮ‬ ‫داد‬‫ﻣﺘﻐﯿـﺮ‬ ‫ﯾﮑﺘـﺎی‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫از‬ ‫ﮏ‬var‫ﺑﺮاﺑـﺮ‬۱‫ﺟﺎﻫـﺎ‬ ‫ﺳـﺎﯾﺮ‬ ‫در‬ ‫و‬ ‫ﺑﺮاﺑﺮ‬۰‫اﺳﺖ‬.‫ﺑﺒﯿﻨﯿﺪ‬ ‫را‬ ‫ﻣﺮﺑﻮط‬ ‫ﺧﺮوﺟﯽ‬ ‫و‬ ‫زﯾﺮ‬ ‫دﺳﺘﻮرات‬ ،‫ﻣﻄﻠﺐ‬ ‫ﺷﺪن‬ ‫روﺷﻦ‬ ‫ﺑﺮای‬: DATA scores; INPUT name $ course $ score @@; CARDS; Ali Math 15 Ali Science 12 Ali History 15 Reza Math 11 Reza Science 15 Navid Math 17 Navid Science 15 Taghi Science 15 RUN; PROC SORT DATA = scores; BY name; RUN; DATA scores1; SET scores; BY name; first_name = FIRST.name; last_name = LAST.name; RUN; PROC PRINT DATA = scores1; RUN; first_ last_ Obs name course score name name 1 Ali Math 15 1 0 2 Ali Science 12 0 0 3 Ali History 15 0 1 4 Navid Math 17 1 0
  • 35.
    ۳۵ 5 Navid Science15 0 1 6 Reza Math 11 1 0 7 Reza Science 15 0 1 8 Taghi Science 15 1 1 ‫ﻣﺜﺎل‬:‫ﻧﻤﺮه‬ ‫ﻣﺎﮐﺴﯿﻤﻢ‬ ‫زﯾﺮ‬ ‫دﺳﺘﻮرات‬‫داﻧﺸ‬ ‫ﻫﺮ‬ ‫ی‬‫ﻣﯽ‬ ‫ﻧﻤﺎﯾﺶ‬ ‫را‬ ‫ﺠﻮ‬‫دﻫﺪ‬: PROC SORT DATA = scores; BY name score; RUN; DATA scores1 (DROP = score RENAME = (score = MaxScore)); SET scores; BY name; IF LAST.name; RUN; PROC PRINT DATA = scores1; RUN; Obs name MaxScore 1 Ali 15 2 Navid 17 3 Reza 15 4 Taghi 15 ۱-۵-۶‫ﺗﺮﮐ‬‫ﯿﺐ‬‫دو‬‫ﯾﺎ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﭼﻨﺪ‬‫ی‬‫داده‬‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬MERGE ‫ﻣﯽ‬ ‫وﻗﺘﯽ‬‫ﻣﺸﺎﻫﺪه‬ ‫ﺧﻮاﻫﯿﺪ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬ ‫ﻫﺎی‬‫داده‬ ‫ی‬‫ﻣﺸﺎﻫﺪه‬ ‫ﺑﺎ‬ ‫را‬ ‫ﻫﺎ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫ﮐﻨﯿﺪ‬ ‫ﺟﻮر‬ ‫دﯾﮕﺮ‬ ‫ی‬‫از‬ ‫ﺗﻮاﻧﯿﺪ‬ ‫ﻋﺒﺎرت‬MERGE‫ﮔﺎم‬ ‫در‬DATA‫ﮐ‬ ‫اﺳﺘﻔﺎده‬‫ﻨﯿﺪ‬.‫ﻣﯽ‬ ‫اﮔﺮ‬‫ﻣﺸـﺎﻫﺪه‬ ‫ﺗﺮﺗﯿـﺐ‬ ‫ﮐـﻪ‬ ‫داﻧﯿﺪ‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫در‬ ‫در‬ ‫ﻫﺎ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬ً‫ﺎ‬‫دﻗﯿﻘـ‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫دو‬ ‫در‬ ‫ﻣﺸﺘﺮک‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﺑﻪ‬ ‫ﻧﯿﺎزی‬ ،‫اﺳﺖ‬ ‫ﯾﮑﯽ‬‫داده‬ ‫ی‬‫ﻧﯿﺴـﺖ‬ ‫ﻫﺎ‬.‫اﯾﻦ‬ ً‫ﻻ‬‫ﻣﻌﻤـﻮ‬ ،‫ﻋﻤـﻞ‬ ‫در‬ ‫ﻫﺮﭼﻨـﺪ‬‫و‬ ‫ﻧﯿﺴـﺖ‬ ‫ﮔﻮﻧـﻪ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﺑﻪ‬ ‫ﻧﯿﺎز‬ ‫ﺷﻤﺎ‬)‫ﻫﺎی‬(‫ﻣﺸﺎﻫﺪه‬ ‫ﺻﺤﯿﺢ‬ ‫ﺟﻮرﺳﺎزی‬ ‫ﺑﺮای‬ ‫ﻣﺸﺘﺮک‬‫دارﯾﺪ‬ ‫ﻫﺎ‬.‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﺗﺮﮐﯿﺐ‬ ‫ﻓﺮاﯾﻨﺪ‬‫داده‬ ‫ﻫﺎی‬‫ﺑـﻪ‬ ‫ﻫـﺎ‬ ‫ﺷـﯿﻮه‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑـﺎ‬ ‫ﺑﺎﯾـﺪ‬ ‫اﺑﺘـﺪا‬ ‫ﮐـﻪ‬ ‫اﺳﺖ‬ ‫ﺻﻮرت‬ ‫اﯾﻦ‬‫ی‬SORT‫ﻣﺠﻤﻮﻋـﻪ‬ ،‫داده‬ ‫ﻫﺎی‬‫ﻣﺘﻐﯿـﺮ‬ ‫ﺣﺴـﺐ‬ ‫ﺑـﺮ‬ ‫را‬ ‫ﻫـﺎ‬)‫ﻫـﺎی‬( ‫ﮔﺎم‬ ‫ﯾﮏ‬ ‫در‬ ‫ﺳﭙﺲ‬ ،‫ﮐﻨﯿﺪ‬ ‫ﻣﺮﺗﺐ‬ ‫ﻣﺸﺘﺮک‬DATA‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻓﻬﺮﺳﺖ‬ ،‫داده‬ ‫ﻫﺎی‬‫ﻋﺒـﺎرت‬ ‫در‬ ‫را‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻫﺎی‬MERGE، ‫ﻣﺘﻐﯿﺮ‬ ‫ﻓﻬﺮﺳﺖ‬ ‫و‬)‫ﻫﺎی‬(‫ﻋﺒﺎرت‬ ‫در‬ ‫را‬ ‫ﻣﺸﺘﺮک‬BY‫ﮐﻨﯿﺪ‬ ‫ﻣﺸﺨﺺ‬: DATA ‫ﺟﺪﯾﺪ‬ ‫ی‬‫داده‬ ‫ی‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻧﺎم‬; MERGE ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻫﺎی‬‫داده‬ ‫ﻫﺎی‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻓﻬﺮﺳﺖ‬;
  • 36.
    ۳۶ BY ‫ﻣﺸﺘﺮک‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬‫ﻓﻬﺮﺳﺖ‬; RUN; ‫ﻣﺠﻤﻮﻋﻪ‬ ‫اﮔﺮ‬‫داده‬ ‫ﻫﺎی‬‫اﺳﺘﻔﺎده‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬ ‫ﻫﺎ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﺷﺪه‬BY‫ﻣﺘﻐﯿﺮ‬ ‫دارای‬)‫ﻫﺎی‬(،‫ﺑﺎﺷﻨﺪ‬ ‫دﯾﮕﺮی‬ ‫ﻣﺸﺘﺮک‬ ‫ﻣﺘﻐﯿﺮ‬ ‫اﯾﻦ‬ ‫ﻣﻘﺪار‬)‫ﻫﺎ‬(‫ﻣﺠﻤﻮﻋﻪ‬ ‫آﺧﺮﯾﻦ‬ ‫از‬‫داده‬ ‫ی‬‫ﻣﺸﺨﺺ‬ ‫ﻓﻬﺮﺳﺖ‬ ‫ﻫﺎی‬‫ﺷ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﺪه‬MERGE‫ﻣﯽ‬ ‫ﺧﻮاﻧﺪه‬‫ﺷﻮد‬. ‫ﻣﺜﺎل‬:‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻤﺮه‬ ‫زﯾﺮ‬ ‫ی‬‫ﻣﯽ‬ ‫ﺗﺮﮐﯿﺐ‬ ‫ﻫﻢ‬ ‫ﺑﺎ‬ ‫را‬ ‫ﻋﻠﻮم‬ ‫و‬ ‫رﯾﺎﺿﯽ‬ ‫ﮐﻼس‬ ‫دو‬ ‫ﻫﺎی‬‫ﮐﻨﺪ‬: DATA math; INPUT id score @@; CARDS; 101 15 107 14 105 11 103 17 RUN; DATA science; INPUT id score; CARDS; 103 15 107 17 109 11 RUN; PROC SORT DATA = math (rename = (score = Math)); BY id; RUN; PROC SORT DATA = science (rename = (score = Science)); BY id; RUN; DATA scores; MERGE math science; BY id; RUN; PROC PRINT DATA = scores; RUN; Obs id Math Science 1 101 15 . 2 103 17 15 3 105 11 . 4 107 14 17 5 109 . 11
  • 37.
    ۳۷ ‫ﻫﻤﺎن‬‫ﻣﯽ‬ ‫ﺧﺮوﺟﯽ‬ ‫در‬‫ﮐﻪ‬ ‫ﻃﻮر‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﯿﻨﯿﺪ‬‫داده‬ ‫ی‬‫ﻫﻤﻪ‬ ‫ﺷﺎﻣﻞ‬ ‫ﺣﺎﺻﻞ‬ ‫ﻫﺎی‬‫ﻣﺸـﺎﻫﺪه‬ ‫ی‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫دو‬ ‫در‬ ‫ﻣﻮﺟـﻮد‬ ‫ﻫﺎی‬‫ی‬ ‫داده‬‫ـﺎ‬‫ـ‬‫ﻫ‬)‫ـﺎﻫﺪه‬‫ـ‬‫ﻣﺸ‬‫ـﺘﺮک‬‫ـ‬‫ﻏﯿﺮﻣﺸ‬ ‫و‬ ‫ـﺘﺮک‬‫ـ‬‫ﻣﺸ‬ ‫ﻫﺎی‬(‫اﯾﻦ‬ ‫ـﺮای‬‫ـ‬‫ﺑ‬ ،‫ـﺖ‬‫ـ‬‫اﺳ‬‫ـﺎﻫﺪه‬‫ـ‬‫ﻣﺸ‬ ‫ـﻂ‬‫ـ‬‫ﻓﻘ‬ ‫ـﻪ‬‫ـ‬‫ﮐ‬،‫ـﺪ‬‫ـ‬‫ﮐﻨﯿ‬ ‫ـﺮه‬‫ـ‬‫ذﺧﯿ‬ ‫را‬ ‫ـﺘﺮک‬‫ـ‬‫ﻣﺸ‬ ‫ﻫﺎی‬ ‫ﻣﯽ‬‫ﮔﺰﯾﻨﻪ‬ ‫از‬ ‫ﺗﻮاﻧﯿﺪ‬‫ی‬IN =‫ﺑﻪ‬‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬:  DATA scores; MERGE math (IN = a) science (IN = b); BY id; IF a = 1 and b = 1 THEN OUTPUT; RUN; ‫ﻋﺒﺎرت‬IF‫ﺑﺎﻻ‬‫ﺑﻪ‬ ‫را‬‫ﻣﯽ‬ ‫ﻧﯿﺰ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬‫ﺑﻨﻮﯾﺴﯿﺪ‬ ‫ﺗﻮاﻧﺴﺘﯿﺪ‬: IF a and b; ۱-۵-۷‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﮐﺮدن‬ ‫ﺑﻬﻨﮕﺎم‬‫ی‬‫داده‬‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬UPDATE  ‫ﻣﯽ‬ ‫ﺷﻤﺎ‬‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﺗﻮاﻧﯿﺪ‬)‫ﻫﺎی‬(‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬‫داد‬ ‫ی‬‫ه‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﯾـﮏ‬ ‫ﻣﻘـﺎدﯾﺮ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫را‬ ‫ﻫﺎ‬‫داده‬ ‫ی‬‫دﯾﮕـﺮ‬ ‫ﻫـﺎی‬ ‫ﮐﻨﯿﺪ‬ ‫ﺑﻬﻨﮕﺎم‬.‫ﻣﺠﻤﻮﻋﻪ‬ ‫دو‬ ‫ﮐﺎر‬ ‫اﯾﻦ‬ ‫ﺑﺮای‬‫داده‬ ‫ی‬‫ﻣﺘﻐﯿﺮ‬ ‫اﺳﺎس‬ ‫ﺑﺮ‬ ‫ﺑﺎﯾﺪ‬ ‫را‬ ‫ﻫﺎ‬)‫ﻫﺎی‬(‫ﺳﺎزﯾﺪ‬ ‫ﺟﻮر‬ ‫ﻣﺸﺘﺮک‬.،‫اﯾـﻦ‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬ ‫ﻣﺸﺎﻫﺪه‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻫﺎی‬‫داده‬ ‫ی‬‫ﻣﺘﻐﯿﺮ‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬ ‫ﺑﺎﯾﺪ‬ ‫اﺻﻠﯽ‬ ‫ی‬)‫ﻫﺎی‬(‫ﺑﺎﺷﻨﺪ‬ ‫ﯾﮑﺘﺎ‬ ‫ﻣﺸﺘﺮک‬.‫ﮔﻢ‬ ‫ﻣﻘـﺎدﯾﺮ‬‫ﺷـﺪه‬‫در‬ ‫ﻣﻮﺟـﻮد‬ ‫ی‬ ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﺑﻬﻨﮕﺎم‬ ‫ﻫﺎی‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫در‬ ‫ﻣﻮﺟﻮد‬ ‫ﻣﻘﺎدﯾﺮ‬ ‫ﺟﺎﯾﮕﺰﯾﻦ‬ ‫ﮐﻨﻨﺪه‬‫داده‬ ‫ی‬‫ﻧﻤﯽ‬ ‫اﺻـﻠﯽ‬ ‫ﻫـﺎی‬‫ﺷـﻮد‬.‫ﻣﺠﻤﻮﻋـﻪ‬ ‫اﮔـﺮ‬‫ی‬ ‫داده‬‫ﺑﻬﻨﮕﺎم‬ ‫ﻫﺎی‬‫ﻣﺘﻐﯿﺮ‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬ ‫ﮐﻨﻨﺪه‬)‫ﻫﺎی‬(‫ﻣﺸـﺎﻫﺪه‬ ‫آﺧـﺮﯾﻦ‬ ‫ﻣﻘـﺪار‬ ‫ﻧﺒﺎﺷﻨﺪ‬ ‫ﯾﮑﺘﺎ‬ ،‫ﻣﺸﺘﺮک‬،‫ﻧﻈـﺮ‬ ‫ﻣـﻮرد‬ ‫ﺗﮑـﺮاری‬ ‫ی‬ ‫ﻣﯽ‬ ‫ﻗﺮار‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬ ‫ﮐﺮدن‬ ‫ﺑﻬﻨﮕﺎم‬ ‫ﺑﺮای‬‫ﮔﯿﺮد‬. DATA ‫ﻣﺠﻤﻮﻋﻪ‬‫ی‬-‫داده‬‫ﻫﺎی‬-‫اﺻﻠﯽ‬ ; UPDATE ‫ﻣﺠﻤﻮﻋﻪ‬‫ی‬-‫داده‬‫ﻫﺎی‬-‫اﺻﻠﯽ‬ ‫ﻣﺠﻤﻮﻋﻪ‬‫ی‬-‫داده‬‫ﻫﺎی‬-‫ﺑﻬﻨﮕﺎم‬‫ﮐﻨﻨﺪه‬ ; BY ‫ﻣﺘﻐﯿﺮ‬)‫ﻫﺎی‬(-‫ﻣﺸﺘﺮک‬ ; RUN;     ۱-۶‫ﻧﻮ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬‫ﯾ‬‫ﺴﻪ‬‫ﻫﺎ‬‫ی‬‫و‬‫ﯾ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﮋه‬INPUT ‫ا‬ ‫در‬‫ﯾ‬‫ﻧﺸﺎﻧﮕﺮﻫﺎ‬ ‫ﺑﺨﺶ‬ ‫ﻦ‬‫ی‬‫ﮐ‬‫ﻨﺘﺮﻟـ‬‫ﯽ‬‫ﺳـﺘﻮﻧ‬‫ﯽ‬@‫و‬+‫ﻣﺸـﺨﺺ‬ ،‫ﮔﺮﻫـﺎ‬‫ی‬‫ﻧﮕﻬـﺪار‬ ‫ﺳـﻄﺮ‬@‫و‬@@‫و‬‫ﻧﺸـﺎﻧﮕﺮ‬‫ﮐ‬‫ﻨﺘـﺮل‬ ‫ﺳﻄﺮ‬‫ی‬n#‫ﻣ‬ ‫ﺑﺤﺚ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬. ۱-۶-۱‫ﻧﺸﺎﻧﮕﺮﻫﺎ‬‫ی‬‫ﮐ‬‫ﻨﺘﺮﻟ‬‫ﯽ‬
  • 38.
    ۳۸ ‫ﻫﻨﮕﺎﻣ‬‫ﯽ‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫ﻪ‬INPUT‫ﻣﻘﺪارﻫﺎ‬ ‫ﺧﻮاﻧﺪن‬‫ﺑﻪ‬ ‫ﺷﺮوع‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﺑﺮا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﻫـﺮ‬‫ﯿـ‬‫ﻣـ‬ ‫ﺮ‬‫ﯽ‬‫ﮐ‬‫ﻧﺸـﺎﻧﮕﺮ‬ ‫از‬ ‫ﻨـﺪ‬‫ی‬‫ﺑـﺮا‬‫ی‬‫ﭼـ‬‫ﮏ‬ ‫ﮐ‬‫ﻣﻮﻗﻌ‬ ‫ﺮدن‬‫ﯿ‬‫داده‬ ‫ﺖ‬‫ﻣـ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻫﺎ‬‫ﯽ‬‫ﮐ‬‫ﻨـﺪ‬.‫اﺟـﺮا‬ ‫ﺷـﺮوع‬ ‫در‬‫ی‬‫ﻋﺒـﺎرت‬INPUT‫ﻣﻮﻗﻌ‬‫ﯿـ‬‫اﺑﺘـﺪا‬ ‫در‬ ‫ﻧﺸـﺎﻧﮕﺮ‬ ‫ﺖ‬‫ی‬‫داده‬‫ﻫـﺎ‬‫ی‬ ‫ورود‬‫ی‬‫ا‬ ‫ﺳﭙﺲ‬ ،‫اﺳﺖ‬‫ﯾ‬‫ا‬ ‫ﺑﺎ‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫ﻦ‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬‫ﻫﺎ‬‫ی‬‫ﻣﺘﻮاﻟ‬‫ﯽ‬‫و‬‫ﯾ‬‫ﻧﺸﺎﻧﮕﺮ‬ ‫ﺎ‬‫ﮐ‬‫ﻨﺘﺮﻟ‬‫ﯽ‬‫ﻋﺒﺎرت‬ ‫در‬INPUT‫ﺣﺮ‬‫ﮐ‬‫ﻣ‬ ‫ﺖ‬‫ﯽ‬‫ﮐ‬‫ﻨـﺪ‬. ‫ﺑﺮا‬‫ی‬‫ﻋﺒﺎرت‬ ،‫ﻣﺜﺎل‬INPUT‫ز‬‫ﯾ‬‫ﺑﮕ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫ﺮ‬‫ﯿ‬‫ﺮ‬‫ﯾ‬‫ﺪ‬: INPUT id 4. @10 ostan $3. inc 5.2 +1 exp 5.2 @28 month 2.; ‫ا‬‫ﯾ‬‫ﻋﺒﺎرت‬ ‫ﻦ‬INPUT‫ﺑﺮا‬‫ی‬‫ﺳﻄﺮﻫﺎ‬ ‫ﺧﻮاﻧﺪن‬‫ی‬‫داده‬‫ا‬‫ی‬‫ز‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯾ‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﺮ‬: 0001XXXXXTEH46550X74050XXXXX02 ‫ﻣﻮﻗﻌ‬ ‫ﺑﻪ‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫اﺑﺘﺪا‬ ‫در‬‫ﯿ‬‫ﺳﺘﻮن‬ ‫ﺖ‬۱‫ﻣﺘﻐ‬ ‫و‬ ‫رﻓﺘﻪ‬‫ﯿ‬‫ﺮ‬id‫ا‬ ‫ﺑﺎ‬ ‫را‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬.4‫ﻣـ‬‫ﯽ‬‫ﻣﻮﻗﻌ‬ ‫ﺑـﻪ‬ ‫ﺑﻌـﺪ‬ ‫و‬ ‫ﺧﻮاﻧـﺪ‬‫ﯿـ‬‫ﺳـﺘﻮن‬ ‫ﺖ‬۵ ‫ﻣ‬‫ﯽ‬‫رود‬.‫ﻧﺸﺎﻧﮕﺮ‬‫ﮐ‬‫ﻨﺘﺮﻟ‬‫ﯽ‬10@‫ﻣ‬ ‫ﺳﺒﺐ‬‫ﯽ‬‫ﺷﻮد‬‫ﮐ‬‫ﺳﺘﻮن‬ ‫ﺑﻪ‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫ﻪ‬۱۰‫ﻣﺘﻐ‬ ‫ﻣﻘـﺪار‬ ‫و‬ ‫رﻓﺘﻪ‬‫ﯿـ‬‫ﻧﻮ‬ ‫ﺮ‬‫ﯾ‬‫ﺴـﻪ‬‫ا‬‫ی‬ostan‫ﺑـﺎ‬ ‫را‬ ‫ا‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬.3$‫ﻣﻘﺪار‬ ‫ﺑﺎ‬TEH‫ﺳـﺘﻮ‬ ‫ﺑـﻪ‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫ﺳﭙﺲ‬ ،‫ﺑﺨﻮاﻧﺪ‬‫ن‬۱۳‫ﻣـ‬‫ﯽ‬‫ﻣﺘﻐ‬ ‫ﻣﻘـﺪار‬ ‫و‬ ‫رود‬‫ﯿـ‬‫ﻋـﺪد‬ ‫ﺮ‬‫ی‬inc‫ﻣﻘـﺪار‬ ‫ﺑـﺎ‬ 46550‫را‬‫ا‬ ‫ﺑﺎ‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬5.2‫ﯾ‬‫ﻌﻨ‬‫ﯽ‬۵۰/۴۶۵‫ﻣ‬‫ﯽ‬‫ﺧﻮاﻧﺪ‬.‫ﻧﺸﺎﻧﮕﺮ‬‫ﮐ‬‫ﻨﺘﺮﻟ‬‫ﯽ‬۱+‫را‬ ‫ﻧﺸﺎﻧﮕﺮ‬‫ﯾ‬‫ﮏ‬‫ﺟﻠـﻮ‬ ‫ﺑﻪ‬ ‫ﺳﺘﻮن‬‫ﯾ‬‫ﻌﻨـ‬‫ﯽ‬‫ﺑـﻪ‬ ‫ﺳﺘﻮن‬۱۹‫ﻣ‬‫ﯽ‬‫ﺑﺮد‬.‫ا‬ ‫ﺑﺎ‬ ‫ﺳﺘﻮن‬ ‫ﭘﻨﺞ‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬5.2‫ﺑﺮا‬‫ی‬‫ﻣﻘـﺪار‬‫ﺟـﺎر‬‫ی‬‫ﻣﺘﻐ‬‫ﯿـ‬‫ﺮ‬exp‫ﻣـ‬ ‫ﺧﻮاﻧـﺪه‬‫ﯽ‬‫ﺷـﻮد‬.‫ﻧﺸـﺎﻧﮕﺮ‬‫ﮐ‬‫ﻨﺘﺮﻟـ‬‫ﯽ‬ 28@‫ﺳ‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ،‫ﺘﻮن‬۲۸‫ﻋﺪد‬ ‫ﻣﻘﺪار‬ ‫و‬ ‫ﺑﺮده‬‫ی‬month‫ا‬ ‫ﺑﺎ‬ ‫را‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬.2‫ﻣ‬‫ﯽ‬‫ﺧﻮاﻧﺪ‬.‫ﺑﺎﺷ‬ ‫داﺷﺘﻪ‬ ‫ﺗﻮﺟﻪ‬‫ﯿ‬‫ﺪ‬‫ﮐ‬‫ﺑﻪ‬ ‫ﻪ‬ ‫ـﺎ‬‫ـ‬‫ﺟ‬‫ی‬‫ـﺎﻧﮕﺮ‬‫ـ‬‫ﻧﺸ‬‫ﮐ‬‫ـ‬‫ـ‬‫ﻨﺘﺮﻟ‬‫ﯽ‬28@‫ـ‬‫ـ‬‫ﻣ‬‫ﯽ‬‫ـﺘ‬‫ـ‬‫ﺗﻮاﻧﺴ‬‫ﯿ‬‫از‬ ‫ﻢ‬5+‫ـﺰ‬‫ـ‬‫ﻧﯿ‬‫ـﺘﻔﺎده‬‫ـ‬‫اﺳ‬‫ﮐ‬‫ـ‬‫ـ‬‫ﻨ‬‫ﯿ‬‫ﻢ‬.‫ـ‬‫ـ‬‫وﻗﺘ‬‫ﯽ‬‫ـﺘﻮن‬‫ـ‬‫ﺳ‬ ‫ـﻪ‬‫ـ‬‫ﺑ‬ ‫ـﺎﻧﮕﺮ‬‫ـ‬‫ﻧﺸ‬۳۱‫ـ‬‫ـ‬‫ﻣ‬‫ﯽ‬،‫رود‬SAS ‫ﺗﺸﺨ‬‫ﯿ‬‫ﻣ‬ ‫ﺺ‬‫ﯽ‬‫دﻫﺪ‬‫ﮐ‬‫اﻧﺘﻬﺎ‬ ‫ﺑﻪ‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫ﻪ‬‫ی‬‫ﻋﺒـﺎرت‬INPUT‫رﺳـ‬‫ﯿ‬‫داده‬ ‫ﺧـﻂ‬ ‫ﻟـﺬا‬ ،‫اﺳـﺖ‬ ‫ﺪه‬‫ا‬‫ی‬‫ﺑﻌـﺪ‬‫ی‬‫ﺑـ‬‫ا‬ ‫ﺎ‬‫ﯾ‬‫ﻨﻔﻮرﻣـﺖ‬‫ﻫـﺎ‬‫ی‬ ‫ﻋﺒﺎرت‬INPUT‫ﻣ‬ ‫ﺧﻮاﻧﺪه‬‫ﯽ‬‫واو‬ ‫ﻧﻘﻄﻪ‬ ‫ﺑﻪ‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫ﺗﺎ‬ ‫ﺷﻮد‬‫ک‬‫ﮐ‬‫اﻧﺘﻬﺎ‬ ‫ﻪ‬‫ی‬‫داده‬ ‫ﺧﻂ‬‫ا‬‫ی‬‫ﺑﺮﺳـﺪ‬ ‫اﺳﺖ‬.‫ا‬ ‫در‬‫ﯾ‬‫ﻨﺠـﺎ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫ی‬ ‫داده‬‫ﻫﺎ‬‫ی‬SAS‫ﮐ‬‫آﻣﺎده‬ ‫و‬ ‫ﺷﺪه‬ ‫ﺎﻣﻞ‬‫ی‬‫ﺗﺤﻠ‬‫ﯿ‬‫ﺷ‬ ‫ﺑﺎ‬ ‫ﻞ‬‫ﯿ‬‫ﻮه‬‫ﻫﺎ‬‫ی‬SAS‫اﺳﺖ‬. ۱-۶-۲‫ﻣﺸﺨﺺ‬‫ﺳﻄﺮﻧﮕﻬﺪار‬ ‫ﮔﺮ‬@ ‫ﮔﺎﻫ‬‫ﯽ‬‫ﻣ‬ ‫ﻻزم‬‫ﯽ‬‫ﺷﻮد‬‫ﮐ‬‫ﺑﺮﺧ‬ ‫ﺷﺪن‬ ‫ﺧﻮاﻧﺪه‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫ﻪ‬‫ﯽ‬‫ﻣﻘﺪارﻫﺎ‬ ‫از‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﻋﺒﺎرت‬ ،‫ﻫـﺎ‬‫ی‬‫ﺑﺮﻧﺎﻣـﻪ‬‫ا‬‫ی‬‫ﺷـﻮﻧﺪ‬ ‫اﺟـﺮا‬.‫ﯾ‬‫ﮑـ‬‫ﯽ‬‫از‬ ‫ا‬‫ﯾ‬‫ﺣﺎﻟﺖ‬ ‫ﻦ‬‫ﺑﻘ‬ ‫ﺧﻮاﻧﺪن‬ ‫ﻫﺎ‬‫ﯿ‬‫ﻪ‬‫ی‬‫ﻣﻘﺪارﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫ﺑﻪ‬ ‫ﺑﺴﺘﻪ‬‫ﯿ‬‫ﺮ‬‫ی‬‫اﺳﺖ‬‫ﮐ‬‫اﺳـﺖ‬ ‫ﺷـﺪه‬ ‫ﺧﻮاﻧﺪه‬ ‫ﻪ‬.‫ا‬ ‫در‬‫ﯾـ‬‫ﺣﺎﻟـﺖ‬ ‫ﻦ‬ ‫اﺳﺖ‬ ‫ﻻزم‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫ﻪ‬INPUT‫دوﻣ‬‫ﯽ‬‫ﺑﺮا‬‫ی‬‫ﺑﻘ‬ ‫ﺧﻮاﻧﺪن‬‫ﯿـ‬‫ﻪ‬‫ی‬‫ﻣﻘـﺪارﻫﺎ‬‫ی‬‫داده‬‫ا‬‫ی‬‫ﺑﺎﺷـﺪ‬ ‫داﺷـﺘﻪ‬ ‫وﺟـﻮد‬.‫ا‬‫ﯾـ‬‫ﺗﻮﺳـﻂ‬ ‫ﻓـﻦ‬ ‫ﻦ‬ ‫ﻣﺸﺨﺺ‬‫ﻧﮕﻬﺪار‬ ‫ﺳﻄﺮ‬ ‫ﮔﺮ‬@‫ا‬‫ﻣ‬ ‫ﻧﺠﺎم‬‫ﯽ‬‫ﺷﻮد‬. ‫ﻧﻤﺎد‬@‫اﻧﺘﻬﺎ‬ ‫در‬‫ی‬‫ﻋﺒﺎرت‬INPUT‫ﻧﻘﻄﻪ‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫درﺳﺖ‬‫واو‬‫ک‬);(‫ﻣ‬ ‫ﻇﺎﻫﺮ‬‫ﯽ‬‫ﺷﻮد‬.‫ﻧﻤﺎد‬@‫ﻣـ‬ ‫ﺳـﺒﺐ‬‫ﯽ‬‫ﺷـﻮد‬‫ﮐـ‬‫ﻪ‬SAS ‫ﻣﻮﻗﻌ‬ ‫در‬ ‫را‬ ‫ﻧﺸﺎﻧﮕﺮ‬‫ﯿ‬‫ﺖ‬‫ﻫﺎ‬‫ی‬‫ﺟﺎر‬‫ی‬‫ﺑﻪ‬ ‫و‬ ‫ﻧﮕﻬﺪاﺷﺘﻪ‬SAS‫ﻣ‬ ‫اﺟﺎزه‬‫ﯽ‬‫دﻫﺪ‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫ﻪ‬INPUT‫د‬‫ﯾ‬‫ﮕﺮ‬‫ی‬‫ﺷﻮد‬ ‫اﺟﺮا‬. ‫ﻣﺜﺎل‬۱-۱۲ DATA popu;
  • 39.
    ۳۹ INPUT ostan: $15.n @; DO i=1 to n; INPUT shahr:$10. Pop 4. @; OUTPUT; END; DROP i; LABEL pop='Population in 1000 Person'; DATALINES; TEHRAN 4 TEHRAN 7000 SHAHRERAY 500 SHEMIRAN 700 FIROOZKOH 800 YAZD 5 TAFT 200 MEHRIZ 150 ARDEKAN 250 MAYBOD 80 ; RUN; PROC PRINT DATA=popu LABEL; TITLE 'Population Of 3 OstanS in 1385 Population Census'; RUN; ‫ا‬ ‫در‬‫ﯾ‬‫ا‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻦ‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬.15$‫ﺑﻪ‬SAS‫ﻣ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾ‬‫ﺪ‬‫ﮐ‬‫ﻣﺘﻐ‬ ‫ﻣﻘﺪار‬ ‫ﻪ‬‫ﯿ‬‫ﺮ‬ostan،۱۵‫ﻣـ‬ ‫اﺧﺘﺼﺎص‬ ‫ﺧﻮد‬ ‫ﺑﻪ‬ ‫را‬ ‫ﺳﺘﻮن‬‫ﯽ‬‫و‬ ‫دﻫـﺪ‬ ‫ﻧﻤﺎد‬:‫ﻣ‬ ‫ﺳﺒﺐ‬ ‫آن‬ ‫از‬ ‫ﻗﺒﻞ‬‫ﯽ‬‫ﺷﻮد‬‫ﮐ‬‫ﻪ‬.15$‫وﻗﺘ‬‫ﯽ‬‫ﺑﻪ‬‫ﯾ‬‫ﮏ‬‫ﻓﺎﺻﻠﻪ‬‫ی‬‫ﺧﺎﻟ‬‫ﯽ‬‫ﻣ‬‫ﯽ‬‫رﺳﺪ‬‫را‬ ‫آن‬‫ﺟـﺪا‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬‫ﮐ‬‫ﻨﻨـﺪه‬‫ی‬‫ﻣﻘـﺪار‬ ‫داده‬‫ا‬‫ی‬‫ﺑﮕ‬‫ﯿ‬‫ﺮد‬.‫ا‬ ‫ﺑﺮ‬ ‫ﺑﻨﺎ‬‫ﯾ‬‫ﻧﻤـﺎد‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﻦ‬:‫د‬‫ﯾ‬‫ﻻزم‬ ‫ﮕـﺮ‬‫ﻧ‬‫ﯿ‬‫ﺴـﺖ‬‫ﮐـ‬‫ﻪ‬۱۵‫داده‬ ‫ﺳـﻄﺮ‬ ‫ﻫـﺮ‬ ‫در‬ ‫ﺳـﺘﻮن‬‫ا‬‫ی‬‫ﺑـﺮا‬‫ی‬‫ﻣﺘﻐ‬‫ﯿـ‬‫ﺮ‬ ostan‫ﻧﮕﻪ‬‫ﺷﻮد‬ ‫داﺷﺘﻪ‬.‫ﻧﻤﺎد‬@‫اﻧﺘﻬﺎ‬ ‫در‬‫ی‬‫ﻋﺒﺎرت‬INPUT‫ﻣﻮﻗﻌ‬ ‫در‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫ﺗﻮﻗﻒ‬ ‫ﺳﺒﺐ‬ ‫اول‬‫ﯿ‬‫ﻓﻌﻠ‬ ‫ﺖ‬‫ﯽ‬‫ﺑـﻪ‬ ‫و‬ ‫ﺷـﺪه‬ SAS‫ﻣ‬ ‫اﺟﺎزه‬‫ﯽ‬‫دﻫﺪ‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫ﻪ‬INPUT‫ﺑﻌﺪ‬‫ی‬‫اﺟﺮا‬ ‫را‬‫ﮐ‬‫ﻨﺪ‬. ‫ﻋﺒﺎرت‬INPUT‫ز‬‫ﯾ‬‫ﺮ‬: INPUT ostan: $15. n @; ‫داده‬ ‫ﺧﻂ‬ ‫ﻧﮕﻬﺪاﺷﺘﻦ‬ ‫ﺳﺒﺐ‬‫ا‬‫ی‬‫ﺑ‬‫ﻣﻘﺪارﻫﺎ‬ ‫ﺧﻮاﻧﺪن‬ ‫از‬ ‫ﻌﺪ‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬ostan‫و‬n‫ﻣ‬‫ﯽ‬‫ﺷﻮد‬.‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮ‬n‫زوج‬ ‫ﺗﻌـﺪاد‬ ‫ﺷﺎﻣﻞ‬ ‫ﻣﻘﺪارﻫﺎ‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬shahr‫و‬pop‫ﮐ‬‫ا‬ ‫در‬ ‫ﻪ‬‫ﯾ‬‫داده‬ ‫ﺧﻂ‬ ‫ﻦ‬‫ا‬‫ی‬‫ﻣ‬ ،‫ﻫﺴﺘﻨﺪ‬‫ﯽ‬‫ﺑﺎﺷﺪ‬.‫ا‬‫ﯾ‬‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ ‫ﻣﻘﺪارﻫﺎ‬ ‫زوج‬ ‫ﻦ‬INPUT  shahr:$10. Pop 4. @;‫ﻣ‬ ‫ﺧﻮاﻧﺪه‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫ا‬‫ﯾ‬‫ﻋﺒﺎرت‬ ‫ﻦ‬INPUT‫ﺣﻠﻘﻪ‬ ‫در‬‫ی‬DO‫ﯾ‬‫ﯽ‬‫ﮐ‬‫ﻣﻘﺪار‬ ‫ﺗﻌﺪاد‬ ‫ﺑﻪ‬ ‫ﻪ‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮ‬n‫اﺟـﺮا‬ ‫ﻣ‬‫ﯽ‬‫دارد‬ ‫ﺣﻀﻮر‬ ،‫ﺷﻮد‬. ‫ﻧﻤﺎد‬@‫ﻋﺒﺎرت‬ ‫در‬INPUT‫داده‬ ‫ﺧﻂ‬ ‫ﻧﮕﻬﺪاﺷﺘﻦ‬ ‫ﺳﺒﺐ‬ ‫دوم‬‫ا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﺑـﻪ‬ ‫ﻣﺮﺑـﻮط‬ ‫ﻣﻘـﺪار‬ ‫زوج‬ ‫ﺧﻮاﻧـﺪن‬ ‫از‬ ‫ﭘـﺲ‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ی‬ shahr‫و‬pop‫وﺿﻌ‬ ‫در‬ ‫را‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫و‬ ‫ﺷﺪه‬‫ﯿ‬‫ﺑﺮا‬ ‫درﺳﺖ‬ ‫ﺖ‬‫ی‬‫اﺟﺮا‬‫ی‬‫ﺑﻌﺪ‬‫ی‬‫ا‬‫ﯾ‬‫ﻋﺒﺎرت‬ ‫ﻦ‬INPUT‫ﻣﯽ‬ ‫ﻗﺮار‬‫دﻫـﺪ‬.‫از‬ ‫ﭘـﺲ‬ ‫ا‬‫ﯾ‬‫ﻨ‬‫ﮑ‬‫ﻣﻘﺪارﻫﺎ‬ ‫زوج‬ ‫ﻪ‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬shahr‫و‬pop‫ﻋﺒﺎرت‬ ،‫ﺷﺪ‬ ‫ﺧﻮاﻧﺪه‬OUTPUT‫ﻣﻘﺪارﻫﺎ‬ ‫ﺷﺪن‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﺳﺒﺐ‬‫ی‬‫ﭼﻬﺎر‬
  • 40.
    ۴۰ ‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮ‬ostan،n،shahr‫و‬pop‫در‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬popu‫ﻣ‬‫ﯽ‬‫ﺷﻮد‬.‫ﺧﺮوﺟﯽ‬‫ا‬‫ﯾ‬‫ﺷـ‬‫در‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻦ‬‫ﮑ‬‫ﻞ‬ ۱-۶‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫داده‬ ‫ﻧﺸﺎن‬. Population Of 3 OstanS in 1385 Population Census Population in 1000 Obs ostan n shahr Person 1 TEHRAN 4 TEHRAN 7000 2 TEHRAN 4 SHAHRERAY 500 3 TEHRAN 4 SHEMIRAN 700 4 TEHRAN 4 FIROOZKOH 800 ‫ﺷﮑﻞ‬۱-۶‫ﺧﺮوﺟﯽ‬‫ﻣﺜﺎل‬۱-۱۲ ۱-۶-۳‫ﻣﺸﺨﺺ‬‫ﺧﻂ‬ ‫ﮔﺮ‬‫ﻧﮕﻬﺪار‬@@ ‫وﻗﺘ‬‫ﯽ‬‫داده‬‫ﻫﺎ‬‫ی‬‫ﮔﺎم‬ ‫در‬ ‫ﺧﺎم‬DATA‫ﻋﺒﺎرت‬ ‫در‬ ‫و‬DATALINES‫ﻣ‬ ‫آورده‬‫ﯽ‬‫ﺷﻮ‬‫ﻧ‬،‫ﺪ‬SAS‫دارد‬ ‫اﻧﺘﻈﺎر‬‫ﮐ‬‫داده‬ ‫ﺧﻂ‬ ‫ﻫﺮ‬ ‫ﻪ‬‫ا‬‫ی‬، ‫ﻣﻘﺪارﻫﺎ‬ ‫ﺷﺎﻣﻞ‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ﯾﯽ‬‫ﺑﺎﺷﺪ‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻪ‬INPUT‫ﻣﻌﺮﻓ‬‫ﯽ‬‫ﺷـﺪه‬‫اﻧـﺪ‬.‫ا‬ ‫ﺑـﺮ‬ ‫ﺑﻨـﺎ‬‫ﯾـ‬‫ﭘـ‬ ‫ﻦ‬‫ﯿ‬‫ﻓـﺮض‬ ‫ﺶ‬SAS‫ﺧﻮاﻧـﺪن‬ ‫ﻣﻘﺪارﻫﺎ‬‫ی‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ﯾﯽ‬‫ﯾﮏ‬‫داده‬ ‫ﺳﻄﺮ‬ ‫ﻫﺮ‬ ‫در‬ ‫ﻣﺸﺎﻫﺪه‬‫ا‬‫ی‬‫اﺳﺖ‬.‫ﻧﻤﺎد‬@@‫ا‬‫ﯾ‬‫اﻣ‬ ‫ﻦ‬‫ﮑ‬‫ﺑﻪ‬ ‫را‬ ‫ﺎن‬‫ﮐ‬‫ﻣـ‬ ‫ﺎرﺑﺮ‬‫ﯽ‬‫ﺑـﺮا‬ ‫ﺗـﺎ‬ ‫دﻫـﺪ‬‫ی‬ ‫اﺳﺘﻔﺎده‬‫ی‬‫ﺑ‬‫ﯿ‬‫ﺻﻔﺤﻪ‬ ‫از‬ ‫ﺸﺘﺮ‬‫ی‬‫ﻧﻤﺎ‬‫ﯾ‬‫ﻧ‬ ‫و‬ ‫ﺶ‬‫ﯿ‬‫ﺰ‬‫ﮐ‬‫ﺑ‬ ‫ﻨﺘﺮل‬‫ﯿ‬‫ﺑـ‬ ،‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﺑﺮ‬ ‫ﺸﺘﺮ‬‫ﯿ‬‫از‬ ‫ﺶ‬‫ﯾـ‬‫ﮏ‬‫ﻣﺸـﺎ‬‫ﻫ‬‫ﺳـﻄﺮ‬ ‫ﻫـﺮ‬ ‫در‬ ‫ﺪه‬‫ﮐﻨـﺪ‬ ‫وارد‬. ‫ز‬ ‫ﻣﺜﺎل‬‫ﯾ‬‫ﺮ‬‫ﻧﺤﻮه‬‫ی‬‫ا‬ ‫از‬ ‫اﺳﺘﻔﺎده‬‫ﯾ‬‫ﻣ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﻧﻤﺎد‬ ‫ﻦ‬‫ﯽ‬‫دﻫﺪ‬. ‫ﻣﺜﺎل‬۱-۱۳ DATA score; INPUT name$ exam1 exam2 @@; Final=(exam1+exam2)/2; DATALINES; AKBARI 15 17 AHSAN 17 14 ARBABZADEH 16 17 HASANI 18 16 HAGHIGHI 17 15 HUSEINI 18 19 JABARI 12 13 KARAMI 16 16 SAADAT 19 18 ; RUN; PROC PRINT DATA=score; RUN; ‫ﻣﺜﺎل‬ ‫در‬۱-۱۳‫داد‬ ‫ﺧﻂ‬ ‫ﻫﺮ‬ ‫در‬‫ه‬‫ا‬‫ی‬‫ﻣﺘﻐ‬ ‫ﻣﻘـﺪار‬ ‫ﺷـﺎﻣﻞ‬ ‫ﻣﺸـﺎﻫﺪه‬ ‫ﭼﻨﺪ‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ی‬name،exam1،exam2‫دارد‬ ‫وﺟـﻮد‬. ‫ﻋﺒﺎرت‬final=(exam1+exam2)/2;‫ﻣ‬‫ﯿ‬‫ﺎﻧﮕ‬‫ﯿ‬‫ﻧﻤﺮه‬ ‫ﻦ‬‫ﻧﻤﺮه‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻫﺎ‬‫ی‬‫ﻧﻬﺎ‬‫ﯾﯽ‬‫ﻣﺤﺎﺳﺒﻪ‬‫ﮐ‬‫و‬ ‫ﺮده‬‫در‬‫ﻧـﺎم‬ ‫ﺑﻪ‬ ‫ﻣﺘﻐﯿﺮی‬ final‫در‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﮐ‬‫ﻧﺎم‬ ‫ﺑﻪ‬ ‫ﻪ‬score‫ﻣﯽ‬ ‫وارد‬‫ﮐﻨﺪ‬.
  • 41.
    ۴۱ Obs name exam1exam2 Final 1 AKBARI 15 17 16.0 2 AHSAN 17 14 15.5 3 ARBABZAD 16 17 16.5 4 HASANI 18 16 17.0 5 HAGHIGHI 17 15 16.0 6 HUSEINI 18 19 18.5 7 JABARI 12 13 12.5 8 KARAMI 16 16 16. 9 SAADAT 19 18 18.5 ‫ﺷﮑﻞ‬۱-۷‫ﺧﺮوﺟﯽ‬‫ﻣﺜﺎل‬۱-۱۳ ۱-۶-۴‫ﻧﺸﺎﻧﮕﺮ‬‫ﮐ‬‫ﻨﺘﺮل‬‫ﮐ‬‫ﻨﻨﺪه‬‫ی‬‫ﺳﻄﺮ‬ ‫ﮔﺎﻫ‬‫ﯽ‬‫وﻗﺖ‬‫ﻣﻤ‬ ‫ﻫﺎ‬‫ﮑ‬‫ﻣﺸﺎﻫﺪه‬ ‫ﻫﺮ‬ ‫اﺳﺖ‬ ‫ﻦ‬‫در‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫دﻟ‬ ‫ﺑﻪ‬ ‫ﺧﺎم‬‫ﯿ‬‫ﻞ‬‫ﺗﻌﺪاد‬‫ز‬‫ﯾ‬‫ﻣﺘﻐ‬ ‫ﺎد‬‫ﯿ‬‫ﺧﻂ‬ ‫ﭼﻨﺪ‬ ‫در‬ ‫ﺮﻫﺎ‬‫ﻧﻮﺷـﺘﻪ‬ ‫ﺷﻮد‬.‫ا‬ ‫در‬‫ﯾ‬‫ﺑﺮا‬ ‫ﺣﺎﻟﺖ‬ ‫ﻦ‬‫ی‬‫ﻣﺘﻐ‬ ‫ﺧﻮاﻧﺪن‬‫ﯿ‬‫ﺑﺎ‬ ‫ﺮﻫﺎ‬‫ﯾ‬‫ﺷﻤﺎره‬ ‫ﺪ‬‫ی‬‫ﻧ‬ ‫ﻣﺮﺑﻮط‬ ‫ﺧﻂ‬‫ﯿ‬‫ﺑﻪ‬ ‫ﺰ‬SAS‫ﺷـﻮد‬ ‫داده‬.‫ﮔﺰ‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬‫ﯾ‬‫ﻨـﻪ‬n#، ‫ﮐ‬‫ﻪ‬n‫ﯾ‬‫ﮏ‬‫ﺻﺤ‬ ‫ﻋﺪد‬‫ﯿ‬‫ﻋﺒﺎرت‬ ‫در‬ ،‫اﺳﺖ‬ ‫ﻣﺜﺒﺖ‬ ‫و‬ ‫ﺢ‬INPUT‫داده‬ ‫ﺧﻂ‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻧﺸﺎﻧﮕﺮ‬‫ا‬‫ی‬‫ﺑـﺮا‬ ‫ﻣﻨﺎﺳـﺐ‬‫ی‬‫ﻣﻘـﺪار‬ ‫ﺧﻮاﻧـﺪن‬ ‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬‫ﻣﻮردﻧﻈﺮ‬‫ﺣﺮ‬‫ﮐ‬‫ﻣ‬ ‫ﺖ‬‫ﯽ‬‫دﻫﺪ‬. ‫ﻣﺜﺎل‬۱-۱۴ DATA survey; INPUT #1 ID 1-4 gender $1. age 2. (marital educ inc)(1.) #2 @5 (q1-q10)(1.); DATALINES; 0001F22123 1341034312 0002M30212 2410332243 0003F48234 3410231104 0004M45342 1034113201 0005M50244 3210342131 ; RUN; PROC PRINT; RUN;
  • 42.
    ۴۲ ‫ا‬ ‫در‬‫ﯾ‬‫ﻣﺎﺗﺮ‬ ‫در‬‫ﻣﺸﺎﻫﺪه‬ ‫ﻫﺮ‬ ‫ﻣﺜﺎل‬ ‫ﻦ‬‫ﯾ‬‫داده‬ ‫ﺲ‬‫داده‬ ‫ﺧﻂ‬ ‫دو‬ ‫در‬ ‫ﻫﺎ‬‫ا‬‫ی‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫آورده‬.‫ا‬ ‫ﺑـﺮ‬ ‫ﺑﻨـﺎ‬‫ﯾـ‬‫ﻋﺒـﺎرت‬ ‫ﻦ‬INPUT‫ﺑﺎ‬‫ﯾـ‬‫ﺪ‬ ‫ﺑﺎﺷﺪ‬ ‫ﻗﺎدر‬‫ﺗ‬‫ﻣﺘﻐ‬ ‫ﺎ‬‫ﯿ‬‫ا‬ ‫در‬ ‫را‬ ‫ﺮﻫﺎ‬‫ﯾ‬‫ﺑﺨﻮاﻧﺪ‬ ‫ﺳﻄﺮ‬ ‫دو‬ ‫ﻦ‬.‫ﻧﻤـﺎد‬n#‫ﻋﺒـﺎرت‬ ‫در‬INPUT‫داده‬ ‫ﺧـﻂ‬ ‫ﺑـﻪ‬ ‫را‬ ‫ﻧﺸـﺎﻧﮕﺮ‬ ،‫ا‬‫ی‬‫ﻣﺘﻐ‬‫ﯿـ‬‫ﺮ‬ ‫ﻣ‬ ‫رﻫﻨﻤﻮن‬ ‫ﻣﻮردﻧﻈﺮ‬‫ﯽ‬‫ﮐﻨ‬‫ﺪ‬.‫ا‬ ‫در‬‫ﯾ‬‫ﻧﻤﺎد‬ ‫ﻣﺜﺎل‬ ‫ﻦ‬۱#‫ﻋﺒﺎرت‬ ‫در‬INPUT‫ﺑﻪ‬SAS‫ﻣ‬‫ﯽ‬‫ﮔﻮ‬‫ﯾ‬‫ﺪ‬‫ﮐـ‬‫ﻣﺘﻐ‬ ‫ﻪ‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ﯾﯽ‬‫ﮐـ‬‫از‬ ‫ﺑﻌـﺪ‬ ‫ﻪ‬۱# ‫ـ‬‫ـ‬‫ﻣ‬ ‫آورده‬‫ﯽ‬‫داده‬ ‫ـﻂ‬‫ـ‬‫ﺧ‬ ‫در‬ ‫را‬ ‫ـﻮﻧﺪ‬‫ـ‬‫ﺷ‬‫ا‬‫ی‬۱‫ـﺎﻫﺪه‬‫ـ‬‫ﻣﺸ‬ ‫از‬‫ی‬‫ـﺎر‬‫ـ‬‫ﺟ‬‫ی‬‫ـﺪ‬‫ـ‬‫ﺑﺨﻮاﻧ‬.‫ـﺎ‬‫ـ‬‫ﻣﺜ‬ ‫ـﺮای‬‫ـ‬‫ﺑ‬‫ل‬‫ﻣﺘﻐ‬‫ﯿ‬‫ـﺎ‬‫ـ‬‫ﺮﻫ‬‫ی‬id،gender،age، marital،edu‫و‬ ،inc‫ا‬ ‫ﺑﺎ‬‫ﯾ‬‫ﻨﻔﻮرﻣﺖ‬‫ﻫﺎ‬‫ی‬‫ﻣﺸﺨﺺ‬‫ﺳﻄﺮ‬ ‫در‬ ‫ﺷﺪه‬۱‫داده‬ ‫ﺧﻂ‬ ‫از‬‫ا‬‫ی‬‫ﻣﺸﺎﻫﺪه‬‫ی‬‫ﺟﺎر‬‫ی‬‫ﻣـ‬ ‫ﺧﻮاﻧـﺪه‬‫ﯽ‬‫ﺷـﻮد‬ ‫ﻣﺘﻐ‬ ‫و‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬q1‫ﺗﺎ‬q10)‫ﺳﻮال‬ ‫ﭘﺎﺳﺦ‬‫ﻫﺎ‬‫ی‬۱‫ﺗﺎ‬۱۰‫ﭘﺮﺳﺸﻨﺎﻣﻪ‬‫ی‬‫آﻣـﺎرﮔ‬‫ﯿ‬‫ﺮ‬‫ی‬(‫داده‬ ‫ﺧـﻂ‬ ‫دوم‬ ‫ﺳـﻄﺮ‬ ‫در‬‫ا‬‫ی‬‫ﻣﺸـﺎﻫﺪه‬‫ی‬ ‫ﺟﺎر‬‫ی‬‫ﻣ‬ ‫ﺧﻮاﻧﺪه‬ ‫ﺑﻌﺪ‬ ‫ﺑﻪ‬ ‫ﭘﻨﺠﻢ‬ ‫ﺳﺘﻮن‬ ‫از‬ ‫و‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫ﺷ‬‫ﮑ‬‫ﻞ‬۱-۸‫ﺧﺮوﺟﯽ‬‫ﻣﺜﺎل‬۱-۱۴‫را‬‫ﻣﯽ‬ ‫ﻧﻤﺎﯾﺶ‬‫دﻫﺪ‬. Obs ID gender age married educ inc q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 1 1 F 22 1 2 3 1 3 4 1 0 3 4 3 1 2 2 2 M 30 2 1 2 2 4 1 0 3 3 2 2 4 3 3 3 F 48 2 3 4 3 4 1 0 2 3 1 1 0 4 4 4 M 45 3 4 2 1 0 3 4 1 1 3 2 0 1 5 5 M 50 2 4 4 3 2 1 0 3 4 2 1 3 1 ‫ﺷ‬‫ﮑﻞ‬۱-۸‫ﺧﺮوﺟﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ی‬‫ﻣﺜﺎل‬۱-۱۴ ‫ﺷ‬ ‫در‬‫ﮑ‬‫ﻞ‬۱-۸‫ﺳﺘﻮن‬obs‫ﻧﻤﺎ‬‫ﯾ‬‫ﺷﻤﺎره‬ ‫ﺎﻧﮕﺮ‬‫ی‬‫ﻣﺸﺎﻫﺪه‬‫اﺳـﺖ‬ ‫ﻫـﺎ‬‫ﮐـ‬‫ﭘـ‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ ‫ﻪ‬‫ﯿ‬‫ﺶ‬‫در‬ ‫ﻓـﺮض‬‫ﺧﺮوﺟـﯽ‬‫ﺷـﺪه‬ ‫آورده‬ ‫اﺳﺖ‬.‫اﮔﺮ‬‫ﮐ‬‫ﻣﺎ‬ ‫ﺎرﺑﺮ‬‫ﯾ‬‫ا‬ ‫ﭼﺎپ‬ ‫ﺑﻪ‬ ‫ﻞ‬‫ﯾ‬‫ﻣ‬ ‫ﻧﺒﺎﺷﺪ‬ ‫ﺳﺘﻮن‬ ‫ﻦ‬‫ﯽ‬‫ﮔﺰ‬ ‫ﺗﻮاﻧﺪ‬‫ﯾ‬‫ﻨﻪ‬‫ی‬NOOBS‫در‬ ‫را‬PROC PRINT;‫ﺑﻨﻮ‬‫ﯾ‬‫ﺴﺪ‬. ‫ﻧ‬‫ﮑ‬‫ﺘﻪ‬‫ی‬۱-۲‫ﻣﺜﺎل‬ ‫در‬۱-۱۴‫ﻋﺒﺎرت‬ ‫در‬ ‫و‬PROC PRINT‫ﻧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫اﺳﺖ‬ ‫ﻧﺸﺪه‬ ‫ﻧﻮﺷﺘﻪ‬.‫ﭘـ‬‫ﯿ‬‫ﺶ‬‫در‬ ‫ﻓـﺮض‬ ‫ا‬‫ﯾ‬‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺣﺎﻟﺖ‬ ‫ﻦ‬‫آﺧﺮ‬‫ﯾ‬‫ﻦ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ی‬‫ا‬‫ﯾ‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺠﺎد‬.‫ﺑﺮﻧﺎﻣ‬ ‫اﮔﺮ‬‫ﻪ‬‫ا‬‫ی‬‫ﭼﻨـﺪ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬ SAS‫ﺗﻮﻟ‬‫ﯿ‬‫ﺪ‬‫ﮐ‬‫ﺑﺮا‬ ،‫ﺑﺎﺷﺪ‬ ‫ﺮده‬‫ی‬‫از‬ ‫اﺳﺘﻔﺎده‬‫ﯾ‬‫ﮏ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬،‫ﻣﺸﺨﺺ‬‫ﮐ‬‫ﺑﺎ‬ ‫ﺎرﺑﺮ‬‫ﯾ‬‫ﻧـﺎم‬ ‫ﺪ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫در‬ ‫را‬ ‫ﮔﺰ‬‫ﯾ‬‫ﻨﻪ‬‫ی‬DATA=‫ﻋﺒﺎرت‬ ‫در‬PROC PRINT‫ﺑ‬‫ﯿ‬‫ﺎورد‬. ۱-۷‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫داﺋﻤ‬‫ﯽ‬SAS ‫اﯾﻦ‬ ‫از‬ ‫ﭘﯿﺶ‬‫ﺷﺪ‬ ‫اﺷﺎره‬‫ﮐ‬‫ﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﻣﯽ‬‫ﺗﻮا‬‫ﻧﻨﺪ‬‫و‬ ‫ﻣﻮﻗﺖ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫داﺋﻤ‬‫ﯽ‬‫ا‬‫ﯾ‬‫ﺷﻮﻧﺪ‬ ‫ﺠﺎد‬.‫ﻫﺮ‬‫ﻣﺠﻤﻮﻋﻪ‬‫ی‬ ‫داده‬‫ﻫﺎ‬‫ی‬SAS‫ا‬ ‫از‬ ‫ﭘﺲ‬‫ﯾ‬‫ﺑﺎ‬ ‫ﺷﺪن‬ ‫ﺠﺎد‬‫ﯾ‬‫در‬ ‫ﺪ‬‫ﯾ‬‫ﮏ‬‫ﮐ‬‫ذﺧ‬ ‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﯿ‬‫ﺷﻮد‬ ‫ﺮه‬.‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬SAS‫دارای‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ای‬‫ﻧﺎم‬ ‫ﺑﻪ‬Work ‫اﺳﺖ‬‫ﮐ‬‫ﺗﻤﺎم‬ ‫ﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫ﮔﺎم‬ ‫در‬ ‫ﻪ‬DATA‫ﺗﻮﻟ‬‫ﯿ‬‫ﻣ‬ ‫ﺪ‬‫ﯽ‬‫ﺷﻮ‬‫ﻧ‬‫ﺧﻮد‬ ‫ﻃـﻮر‬ ‫ﺑـﻪ‬ ‫ﺪ‬‫ﮐـ‬‫ا‬ ‫در‬ ‫ﺎر‬‫ﯾـ‬‫ﻦ‬‫ﮐ‬‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ ‫ﺘﺎﺑﺨﺎﻧـﻪ‬ ‫ذ‬ ‫ﻣﻮﻗﺖ‬‫ﺧ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬‫ا‬ ‫ﻣﮕـﺮ‬ ،‫ﺷـﻮﻧﺪ‬‫ﯾ‬‫ﻨ‬‫ﮑـ‬‫ﻪ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧـﻪ‬‫ی‬‫د‬‫ﯾ‬‫ﮕـﺮ‬‫ی‬‫ﺑـﺮا‬‫ی‬‫ذﺧ‬‫ﯿـ‬‫ﺮه‬‫ﺳـﺎز‬‫ی‬‫ﺷـﻮد‬ ‫ﮔﺮﻓﺘـﻪ‬ ‫ﻧﻈـﺮ‬ ‫در‬.‫ا‬ ‫در‬‫ﯾـ‬‫ﺻـﻮرت‬ ‫ﻦ‬ ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺻﻮرت‬ ‫ﺑﻪ‬‫داﺋﻤ‬‫ﯽ‬‫ا‬ ‫در‬‫ﯾ‬‫ﻦ‬‫ﮐ‬‫ذﺧ‬ ‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬‫ﺷـﻮد‬.‫داﺋﻤـ‬‫ﯽ‬‫ﺑـﻮدن‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ا‬ ‫ﺑـﻪ‬‫ﯾـ‬‫ﻣﻌﻨـﺎ‬ ‫ﻦ‬
  • 43.
    ۴۳ ‫اﺳﺖ‬‫ﮐ‬‫ﻪ‬‫ﮐ‬‫زﻣﺎن‬ ‫ﻫﺮ‬ ‫ﺎرﺑﺮ‬‫ﮐ‬‫ﻣﺎ‬‫ﻪ‬‫ﯾ‬‫ﻣ‬ ‫ﺑﺎﺷﺪ‬ ‫ﻞ‬‫ﯽ‬‫اﺳﺘﻔﺎده‬ ‫آن‬ ‫از‬ ‫ﺗﻮاﻧﺪ‬‫ﮐ‬‫ﻨﺪ‬.‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ﯾﯽ‬‫ﮐـ‬‫در‬ ‫ﻪ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧـﻪ‬‫ی‬Work ‫ذﺧ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬‫ﺧﺮوج‬ ‫ﺑﺎ‬ ،‫ﺷﻮﻧﺪ‬‫ﮐ‬‫ﻣﺤ‬ ‫از‬ ‫ﺎرﺑﺮ‬‫ﯿ‬‫ﻂ‬SAS‫ﺑ‬ ‫از‬‫ﯿ‬‫ﻣ‬ ‫ﻦ‬‫ﯽ‬‫ا‬ ‫و‬ ‫روﻧﺪ‬‫ﯾ‬‫ﻣﻌﻨﺎ‬ ‫ﻦ‬‫ی‬‫ﻣﻮﻗﺘ‬‫ﯽ‬‫ﺑﻮدن‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫اﺳﺖ‬. ۱-۷-۱‫ﺳﺎﺧﺘﻦ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬ ‫ﻓﻌﺎل‬ ‫از‬ ‫ﭘﺲ‬‫ﮐ‬‫ﺳﺎﻣﺎﻧﻪ‬ ‫ﺮدن‬‫ی‬SAS‫ﭘﻨﺠﺮه‬ ‫در‬ ،‫ی‬Explorer‫ﻧﻤـﺎد‬ ،Libraries‫را‬‫ﮐ‬‫ﻠ‬‫ﯿـ‬‫ﮏ‬‫ﮐ‬‫ﻨ‬‫ﯿـ‬‫ﺪ‬.‫ا‬ ‫از‬ ‫ﭘـﺲ‬‫ﯾـ‬‫در‬ ‫ﻋﻤـﻞ‬ ‫ﻦ‬ ‫ﺳﻤ‬‫ﻧﻤﺎ‬ ‫ﭼﭗ‬ ‫ﺖ‬‫ﯾ‬‫ﺻﻔﺤﻪ‬ ‫ﺸﮕﺮ‬‫ا‬‫ی‬‫ﺷﺪ‬ ‫ﺧﻮاﻫﺪ‬ ‫ﺑﺎز‬‫ﮐ‬‫ﻧﺎم‬ ‫ﻪ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﻫﺎ‬‫ی‬‫ا‬‫ﯾ‬‫ﻣ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﺷﺪه‬ ‫ﺠﺎد‬‫ﯽ‬‫دﻫﺪ‬.‫در‬‫ﺑﺎر‬‫اول‬‫ﮐ‬‫ا‬ ‫ﻪ‬‫ﯾـ‬‫ﻦ‬ ‫ﻣ‬ ‫اﻧﺠﺎم‬ ‫ﻋﻤﻞ‬‫ﯽ‬،‫ﺷﻮد‬‫ﭘﻨﺠﺮه‬ ‫اﯾﻦ‬ ‫در‬‫ﺗﻨﻬﺎ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﻫﺎ‬‫ی‬Work،Sashelp‫و‬ ،Sasuser‫دارﻧـﺪ‬ ‫وﺟﻮد‬.‫ﻫﻨﮕـﺎﻣ‬‫ﯽ‬‫ﮐـ‬‫در‬ ‫ﻪ‬ ‫ﻣﺤ‬‫ﯿ‬‫ﺳﺎﻣﺎﻧﻪ‬ ‫ﻂ‬‫ی‬SAS‫ﭘﻨﺠﺮه‬ ،‫ا‬‫ی‬‫ﻣ‬ ‫ﻓﻌﺎل‬‫ﯽ‬‫ﻧﺸﺎﻧﻪ‬ ،‫ﺷﻮد‬‫ﻫﺎ‬‫ی‬‫ﻧﻮار‬‫اﺑ‬‫ﺰار‬)‫ا‬‫ﯾ‬‫ﻧﺸﺎﻧﻪ‬ ‫ﻦ‬‫ﺑﺎﻻ‬ ‫ﻧﻮار‬ ‫در‬ ‫ﻫﺎ‬‫ﯾﯽ‬‫ﺻـﻔﺤﻪ‬‫ﻧﻤـﺎﯾﺶ‬ ‫ی‬ ‫دارﻧﺪ‬ ‫وﺟﻮد‬(‫ﺗﻐ‬‫ﯿﯿ‬‫ﻣ‬ ‫ﺮ‬‫ﯽ‬‫ﮐ‬‫ﻨﻨﺪ‬.‫ﻧﻮار‬ ‫در‬‫اﺑﺰار‬‫ﻧﺸﺎﻧﻪ‬ ،‫ی‬‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬‫ﺟﺪﯾﺪ‬ ‫ی‬)(‫را‬‫ﮐ‬‫ﻠ‬‫ﯿ‬‫ﮏ‬‫ﮐ‬‫ﻨ‬‫ﯿـ‬‫ﺻـﻔﺤﻪ‬ ،‫ﺪ‬‫ی‬‫ﺟﺪ‬‫ﯾـ‬‫ﺪ‬‫ی‬‫ﺑـﺎ‬ ‫ـﻮان‬‫ـ‬‫ﻋﻨ‬NewLibrary‫ـ‬‫ـ‬‫ﻣ‬ ‫ـﺎز‬‫ـ‬‫ﺑ‬‫ﯽ‬‫ـﻮد‬‫ـ‬‫ﺷ‬.‫ا‬ ‫در‬‫ـ‬‫ـ‬‫ﯾ‬‫ـﻪ‬‫ـ‬‫ﺟﻌﺒ‬ ‫در‬ ‫ـﻤﺖ‬‫ـ‬‫ﻗﺴ‬ ‫ﻦ‬‫ی‬Name،‫ـﺎم‬‫ـ‬‫ﻧ‬‫ﮐ‬‫وارد‬ ‫را‬ ‫ـﻪ‬‫ـ‬‫ﺘﺎﺑﺨﺎﻧ‬‫ﮐ‬‫ﻨ‬‫ـ‬‫ـ‬‫ﯿ‬،‫ﺪ‬‫ـﻪ‬‫ـ‬‫ﺟﻌﺒ‬ ‫در‬‫ی‬ Engine‫ﮐ‬‫ﻠﻤﻪ‬‫ی‬Default‫ﺗﻐ‬ ،‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻧﻮﺷﺘﻪ‬‫ﯿﯿ‬‫ﺮ‬‫ی‬‫ا‬ ‫در‬‫ﯾ‬‫ﻧﺪﻫ‬ ‫ﺟﻌﺒﻪ‬ ‫ﻦ‬‫ﯿ‬‫ﺪ‬.‫ﺟﻌﺒـﻪ‬‫ا‬‫ی‬‫ﻋﻨـﻮان‬ ‫ﺑـﺎ‬Enable at startup ‫را‬‫ﮐ‬‫ﻠ‬‫ﯿ‬‫ﮏ‬‫ﮐ‬‫ﻨ‬‫ﯿ‬‫ﻧﻤﺎد‬ ‫ﺗﺎ‬ ‫ﺪ‬√‫ﺷﻮد‬ ‫ﻇﺎﻫﺮ‬ ‫آن‬ ‫در‬.‫ﺟﻌﺒﻪ‬ ‫در‬‫ی‬Path‫آدرﺳ‬‫ﯽ‬‫ﮐ‬‫ﺑﺎ‬ ‫ﻪ‬‫ﯾ‬‫ﺪ‬‫ﮐ‬‫وارد‬ ‫را‬ ‫ﺷـﻮد‬ ‫ﺳﺎﺧﺘﻪ‬ ‫آن‬ ‫در‬ ‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﯾـ‬‫ﺎ‬ ‫از‬Browse‫اﺳﺘﻔﺎده‬‫ﮐ‬‫ﻨ‬‫ﯿ‬‫ﺪ‬.‫ﺳﭙﺲ‬OK‫را‬‫ﮐ‬‫ﻠ‬‫ﯿ‬‫ﮏ‬‫ﮐ‬‫ﻨ‬‫ﯿ‬‫ﺪ‬.‫ا‬ ‫در‬‫ﯾ‬‫زﻣﺎن‬ ‫ﻦ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ی‬‫ﻣﻮ‬‫در‬ ‫آن‬ ‫ﻧـﺎم‬ ‫و‬ ‫ﺷـﺪه‬ ‫ﺳـﺎﺧﺘﻪ‬ ‫ﻧﻈـﺮ‬ ‫رد‬ ‫ﺻﻔﺤﻪ‬‫ی‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﻣـ‬ ‫ﻧﻮﺷـﺘﻪ‬ ‫ﻫﺎ‬‫ﯽ‬‫ﺷـﻮد‬.‫ا‬ ‫در‬‫ﯾ‬‫ﺧﻮاﻫ‬ ‫ﻗـﺎدر‬ ‫ﺷـﻤﺎ‬ ‫ﻨﺠـﺎ‬‫ﯿـ‬‫ﺑـﻮد‬ ‫ﺪ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫داﺋﻤـ‬‫ﯽ‬‫ا‬ ‫در‬‫ﯾـ‬‫ﻦ‬ ‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ذﺧ‬‫ﯿ‬‫ﺮه‬‫ﮐ‬‫ﻨ‬‫ﯿ‬‫ﺪ‬. ،‫اﯾﻦ‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬‫ﻋﺒـﺎرت‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬LIBNAME‫ﻣﯽ‬ ‫ﻧﯿـﺰ‬‫ﯾـﮏ‬ ‫ﺗﻮاﻧﯿـﺪ‬‫ﮐﺘﺎﺑﺨﺎﻧـﻪ‬‫ی‬SAS‫ﮐﻨﯿـﺪ‬ ‫اﯾﺠـﺎد‬.‫ﻋﻤـﻮﻣﯽ‬ ‫ﺷـﮑﻞ‬ ‫ﮐﺘﺎﺑﺨﺎ‬ ‫ﺗﻌﺮﯾﻒ‬‫ﻧﻪ‬‫ی‬SAS‫ﺑﻪ‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬: LIBNAME ‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬ ‫ﻧﺎم‬ '‫;'ﻣﺴﯿﺮ‬ ‫ﻣﺜــﺎل‬:‫ﮐﺘﺎﺑﺨﺎﻧــﻪ‬ ‫زﯾــﺮ‬ ‫دﺳــﺘﻮر‬‫ﻧــﺎم‬ ‫ﺑــﻪ‬ ‫ای‬MyLib‫ﻣﺠﻤﻮﻋــﻪ‬ ‫ﺑــﻪ‬ ‫دﺳﺘﺮﺳــﯽ‬ ‫ﺑــﺮای‬‫داده‬ ‫ﻫﺎی‬‫ﻣﺴــﯿﺮ‬ ‫در‬ ‫ﻣﻮﺟــﻮد‬ ‫ﻫــﺎی‬ C:My Files‫ﻣﯽ‬‫ﺳﺎزد‬: LIBNAME MyLib 'C:My Files'; ‫ﻣﯽ‬ ‫ﺷﻤﺎ‬‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬ ‫ﺗﻮاﻧﯿﺪ‬‫دﺳﺘ‬ ‫ﻣﺴـﯿﺮ‬ ‫ﯾـﮏ‬ ‫از‬ ‫ﺑـﯿﺶ‬ ‫ﺑـﻪ‬ ‫ﮐـﻪ‬ ‫ﮐﻨﯿﺪ‬ ‫ﺗﻌﺮﯾﻒ‬ ‫ای‬‫ﭼﻨـﺪ‬ ‫از‬ ‫ﺗﺮﮐﯿﺒـﯽ‬ ‫ﺣﺘـﯽ‬ ،‫ﺑﺎﺷـﺪ‬ ‫داﺷـﺘﻪ‬ ‫ﺮﺳـﯽ‬ ‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬‫ﺑﺎﺷﺪ‬ ‫ﻣﻮﺟﻮد‬ ‫ی‬: LIBNAME NewLib (Mylib 'D:Data' 'E:Data'); ‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬ ،‫ﺑﺎﻻ‬ ‫دﺳﺘﻮر‬ ‫دو‬ ‫ﺑﻪ‬ ‫ﺗﻮﺟﻪ‬ ‫ﺑﺎ‬‫ی‬NewLib‫داده‬ ‫ﺑﻪ‬‫ﮐﺘﺎﺑﺨﺎﻧـﻪ‬ ‫در‬ ‫ﻣﻮﺟﻮد‬ ‫ﻫﺎی‬‫ی‬MyLib)‫ﻣﺴـﯿﺮ‬C:My Files(‫و‬ ‫ﻣﺴﯿﺮﻫﺎی‬D:Data‫و‬E:Data‫داﺷـﺖ‬ ‫ﺧﻮاﻫـﺪ‬ ‫دﺳﺘﺮﺳﯽ‬.‫دا‬ ‫ﺗﻮﺟـﻪ‬‫اﯾـﻦ‬ ‫روی‬ ‫ﺑﺨﻮاﻫﯿـﺪ‬ ‫ﮐـﻪ‬ ‫ﺻـﻮرﺗﯽ‬ ‫در‬ ‫ﺑﺎﺷـﯿﺪ‬ ‫ﺷـﺘﻪ‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ،‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬‫داده‬ ‫ی‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫اﯾـﻦ‬ ،‫ﮐﻨﯿـﺪ‬ ‫اﯾﺠﺎد‬ ‫ﻫﺎﯾﯽ‬‫داده‬ ‫ی‬‫ﻣﺸﺨﺺ‬ ‫ﺑﺨـﺶ‬ ‫اوﻟـﯿﻦ‬ ‫روی‬ ‫ﻫـﺎ‬‫ﻣﺴـﯿﺮ‬ ‫ﯾﻌﻨـﯽ‬ ‫ﺷـﺪه‬
  • 44.
    ۴۴ C:My Files‫ﺷﺪ‬ ‫ﺧﻮاﻫﺪ‬ ‫اﯾﺠﺎد‬.‫ﻣﺠﻤﻮﻋﻪ‬‫اﮔﺮ‬‫داده‬ ‫ی‬‫ﻣﺸﺨﺺ‬ ‫ﻣﺴـﯿﺮ‬ ‫ﭼﻨـﺪ‬ ‫ﯾﺎ‬ ‫دو‬ ‫روی‬ ‫ﻣﺸﺘﺮک‬ ‫ﻧﺎم‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﻫﺎﯾﯽ‬‫ﺷـﺪه‬ ‫داد‬ ‫ﺧﻮاﻧﺪن‬ ‫ﻫﻨﮕﺎم‬ ،‫ﺑﺎﺷﺪ‬ ‫ﻣﻮﺟﻮد‬‫ه‬‫ﺑﻮد‬ ‫ﺧﻮاﻫﺪ‬ ‫ﻣﺴﯿﺮ‬ ‫اوﻟﯿﻦ‬ ‫ک‬‫ﻣﻼ‬ ،‫ﻫﺎ‬. ۱-۷-۲‫ا‬‫ﯾ‬‫ﺠﺎد‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫داﺋﻤ‬‫ﯽ‬SAS ‫ﮔﺎم‬ ‫در‬DATA‫ﻧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﻣ‬ ‫ﻣﺸﺨﺺ‬‫ﯽ‬‫ﺷﻮد‬.‫ا‬‫ﯾ‬‫ﻧﺎم‬ ‫ﻦ‬‫ﻫﺴـﺘﻨﺪ‬ ‫ﺑﺨﺶ‬ ‫دو‬ ‫ﺷﺎﻣﻞ‬ ‫ﻫﺎ‬.‫ا‬‫ﯾـ‬‫دو‬ ‫ﻦ‬‫ﺑـﺎ‬ ‫ﺑﺨـﺶ‬‫ﯾـ‬‫ﮏ‬ ‫ﻣ‬ ‫ﺟﺪا‬ ‫ﻫﻢ‬ ‫از‬ ‫ﻧﻘﻄﻪ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫ﻧﺎم‬ ‫ﺷﺎﻣﻞ‬ ‫اول‬ ‫ﺑﺨﺶ‬‫ﮐ‬‫ﺑﺨﺶ‬ ‫و‬ ‫اﺳﺖ‬ ‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﻧـﺎم‬ ‫ﺷـﺎﻣﻞ‬ ‫دوم‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫اﺳـﺖ‬. ‫ﺑﺮا‬‫ی‬‫ﻋﺒﺎرت‬ ‫ﻣﺜﺎل‬DATA‫ی‬‫ز‬‫ﯾ‬،‫ﺮ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﻧﺎم‬ ‫ﺑﻪ‬score‫در‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ی‬mydat‫ا‬‫ﯾ‬‫ﻣ‬ ‫ﺠﺎد‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬. DATA mydat.score; ‫ﮔﺎم‬ ‫در‬ ‫اﮔﺮ‬DATA‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺗﻮﺳﻂ‬ ،‫اول‬ ‫ﺑﺨﺶ‬ ‫ﻧﺎم‬‫ﻧﻮ‬‫ﯾ‬،‫ﻧﺸﻮد‬ ‫ﻣﺸﺨﺺ‬ ‫ﺲ‬SAS‫ﺧﻮد‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬‫ﮐ‬‫ﻧﺎم‬ ‫ﺎر‬Work‫ﺑﺨﺶ‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻣ‬ ‫اﺧﺘﺼﺎص‬ ‫اول‬‫ﯽ‬‫دﻫﺪ‬.‫د‬ ‫ﻋﺒﺎرت‬ ‫ﺑﻪ‬‫ﯾ‬‫ا‬ ‫در‬ ‫ﮕﺮ‬‫ﯾ‬‫ﺣﺎ‬ ‫ﻦ‬،‫ﻟﺖ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫ا‬ ‫ﻪ‬‫ﯾ‬‫ﻣ‬ ‫ﺠﺎد‬‫ﯽ‬‫در‬ ‫ﺷﻮد‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ی‬Work ‫ذﺧ‬ ‫ﻣﻮﻗﺖ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬‫ﺷﻮد‬. ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﮔﺮ‬‫ﻧﻮ‬‫ﯾ‬‫ﻧﺎﻣ‬ ‫ﺲ‬‫ﯽ‬‫ﻏ‬‫ﯿ‬‫از‬ ‫ﺮ‬Work،‫دﻫـﺪ‬ ‫اﺧﺘﺼـﺎص‬ ‫اول‬ ‫ﺑﺨـﺶ‬ ‫ﺑﻪ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫ﻧـﺎم‬ ‫ﺑـﺎ‬score‫ﺑـﻪ‬ ‫ﺻﻮرت‬‫داﺋﻤ‬‫ﯽ‬‫ا‬ ‫در‬‫ﯾ‬‫ﻦ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ذﺧ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬‫ﺷﻮد‬.‫ﻓﺮاﺧﻮاﻧ‬‫ﯽ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬‫داﺋﻤـ‬‫ﯽ‬SAS‫ﻣﺸـﺨﺺ‬ ‫ﺑـﺎ‬‫ﮐـ‬‫ﻧـﺎم‬ ‫ﺮدن‬ ‫ﮐ‬‫ﻧﺎم‬ ‫و‬ ‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﻣ‬ ‫ﺻﻮرت‬‫ﯽ‬‫ﮔ‬‫ﯿ‬‫ﺮد‬.‫ﺑﺮا‬‫ی‬‫ﻋﺒﺎرت‬ ‫ﻣﺜﺎل‬ PROC PRINT DATA=mydat.score; ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫داﺋﻤ‬‫ﯽ‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬score‫ﮐـ‬‫در‬ ‫ﻪ‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧـﻪ‬‫ی‬mydat‫ذﺧ‬‫ﯿـ‬‫ﺑـﺮا‬ ‫را‬ ‫اﺳـﺖ‬ ‫ﺷـﺪه‬ ‫ﺮه‬‫ی‬‫ﭼـﺎپ‬‫ﮐـ‬‫ﺮدن‬ ‫ﻓﺮاﺧﻮاﻧ‬‫ﯽ‬‫ﻣ‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬. ۱-۷-۳‫ﻋﺒﺎرت‬INFILE ‫ﻣﺜﺎل‬ ‫در‬‫ﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫د‬ ‫ﺣﺎل‬ ‫ﺑﻪ‬ ‫ﺗﺎ‬ ‫ﻪ‬‫ﯾ‬‫ﺪ‬‫ﯾ‬،‫ﻢ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫ﮔﺎم‬ ‫در‬ ‫و‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬ ‫ﺧﺎم‬DATA‫ﻣ‬ ‫وارد‬‫ﯽ‬‫ﺷﺪ‬.‫اﮔﺮ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫ی‬ ‫داده‬‫ﻫﺎ‬‫ی‬‫در‬ ‫ﺧﺎم‬‫ﯾ‬‫ﮏ‬‫ﻓﺎ‬‫ﯾ‬‫ﺧﺎرﺟ‬ ‫ﻞ‬‫ﯽ‬،‫ﻣﺜﺎل‬ ‫ﺑﺮای‬‫در‬‫ﯾ‬‫ﮏ‬‫د‬‫ﯾ‬‫ﺴ‬‫ﮏ‬،‫ﺳﺨﺖ‬‫ﻓﺸﺮده‬ ‫ﻟﻮح‬‫و‬‫ﯾ‬‫ﺎ‬...‫ذﺧ‬ ‫ﻗﺒﻼ‬‫ﯿ‬،‫ﺑﺎﺷـﺪ‬ ‫ﺷﺪه‬ ‫ﺮه‬ ‫ﻓﺮاﺧﻮاﻧ‬‫ﯽ‬‫در‬ ‫آن‬SAS‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬INFILE‫ﻣ‬ ‫ﺻﻮرت‬‫ﯽ‬‫ﮔ‬‫ﯿ‬‫ﺮد‬.‫ز‬ ‫ﻣﺜﺎل‬ ‫در‬‫ﯾ‬‫ﺮ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫ﺧﺎم‬)‫ﺑﺎ‬‫ﻓﻮرﻣﺖ‬‫ﻣﺘﻨـ‬‫ﯽ‬( ‫ﻧﺎم‬ ‫ﺑﻪ‬score‫ﭘ‬ ‫ﺑﺎ‬ ‫و‬‫ﺴﻮﻧﺪ‬dat‫ﮐ‬‫آدرس‬ ‫در‬ ‫ﻪ‬C:surveydata‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ ‫دارد‬ ‫ﻗﺮار‬INFILE‫ﻓﺮاﺧﻮاﻧ‬‫ﯽ‬‫ﺷـ‬‫ﭘـﺲ‬ ‫و‬ ‫ﺪه‬ ‫ﺗﺒﺪ‬ ‫از‬‫ﯾ‬‫ﺑﻪ‬ ‫ﻞ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫در‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ی‬mydat‫ﻧﺎم‬ ‫ﺑﺎ‬score‫ﺻﻮرت‬ ‫ﺑﻪ‬‫داﺋﻤ‬‫ﯽ‬‫ذﺧ‬‫ﯿ‬‫ﻣ‬ ‫ﺮه‬‫ﯽ‬‫ﺷﻮد‬. ‫ﻣﺜﺎل‬۱-۱۵ DATA mydat.score; INFILE 'C:surveydatascore.dat';
  • 45.
    ۴۵ INPUT name$ exam1exam2 hw; final = (exam1 + exam2) / 2 + hw; RUN; ۱-۸‫ﮔﺎم‬PROC ‫ـﻪ‬‫ـ‬‫ﻣﺠﻤﻮﻋ‬‫داده‬ ‫ی‬‫ـﺎ‬‫ـ‬‫ﻫ‬‫ی‬SAS‫ـ‬‫ـ‬‫ﻣ‬ ،‫ﯽ‬‫روش‬ ‫از‬ ‫ـﺘﻔﺎده‬‫ـ‬‫اﺳ‬ ‫ـﺎ‬‫ـ‬‫ﺑ‬ ‫ـﺪ‬‫ـ‬‫ﺗﻮاﻧﻨ‬‫ـﺎ‬‫ـ‬‫ﻫ‬‫ی‬‫ـﺎر‬‫ـ‬‫آﻣ‬‫ی‬‫ﺗﺤﻠ‬‫ـ‬‫ـ‬‫ﯿ‬‫ـﻮﻧﺪ‬‫ـ‬‫ﺷ‬ ‫ﻞ‬.‫ا‬‫ـ‬‫ـ‬‫ﯾ‬‫رو‬ ‫ﻦ‬‫ش‬‫ـﻪ‬‫ـ‬‫ﺑﺮﻧﺎﻣ‬ ‫ـﺎ‬‫ـ‬‫ﻫ‬‫ـﺎ‬‫ـ‬‫ﻫ‬‫ی‬ ‫ﭘ‬‫ﯿ‬‫ﺶ‬‫ﻧﻮﺷﺘﻪ‬‫ا‬‫ی‬‫ﻫﺴﺘﻨﺪ‬‫ﮐ‬‫ﮔﺎم‬ ‫در‬ ‫ﻪ‬PROC‫ﻓﺮ‬‫اﺧﻮاﻧ‬‫ﯽ‬‫ﻣ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬.‫ﮔﺎم‬ ‫ﻫﺮ‬PROC‫ﻋﺒـﺎرت‬ ‫ﺷـﺎﻣﻞ‬PROC‫ﻋﺒـﺎرت‬ ‫و‬‫ﻫـﺎ‬‫ﯾﯽ‬ ‫اﺳﺖ‬‫ﮐ‬‫ﮔﺎم‬ ‫در‬ ‫ﻪ‬PROC‫ﺑﻪ‬‫ﮐ‬‫ﻣ‬ ‫ﺎر‬‫ﯽ‬‫روﻧﺪ‬.‫ا‬‫ﯾ‬‫ﻋﺒﺎرت‬ ‫ﻦ‬‫دﺳـﺘﻮر‬ ‫ﺻـﻮرت‬ ‫ﻫﺎ‬‫ی‬‫ﺷـ‬‫ﯿ‬‫ﻮه‬‫ی‬‫ﺗﺸـ‬ ‫را‬ ‫ﻧﻈـﺮ‬ ‫ﻣـﻮرد‬‫ﮑ‬‫ﯿ‬‫ﻣـ‬ ‫ﻞ‬‫ﯽ‬‫دﻫﻨـﺪ‬. ‫ﺑﺮﺧ‬‫ﯽ‬‫ﻋﺒﺎرت‬ ‫از‬‫ﻋﻤﻮﻣ‬ ‫ﻫﺎ‬‫ﯽ‬‫ﻫﺴﺘﻨﺪ‬،‫ا‬ ‫ﺑﻪ‬‫ﯾ‬‫ﻣﻌﻨﺎ‬ ‫ﻦ‬‫ﮐ‬‫ﮔﺎم‬ ‫ﻫﺮ‬ ‫در‬ ‫ﻪ‬PROC‫ﺑﻪ‬‫ﮐ‬‫ﻣ‬ ‫ﺎر‬‫ﯽ‬‫ﺑﺮﺧ‬ ‫و‬ ‫روﻧﺪ‬‫ﯽ‬‫اﺧﺘﺼﺎﺻـ‬‫ﯽ‬.‫ﺻـﻮرت‬ ‫ﻋﻤﻮﻣ‬‫ﯽ‬‫ﯾ‬‫ﮏ‬‫ﮔﺎم‬PROC‫ﺷ‬ ‫ﺑﻪ‬‫ﮑ‬‫ز‬ ‫ﻞ‬‫ﯾ‬‫اﺳﺖ‬ ‫ﺮ‬: PROC >‫ﮔﺰﯾﻨﻪ‬ ‫ﻓﻬﺮﺳﺖ‬‫ﻫﺎ‬<‫ﺷﯿﻮه‬ ‫ﻧﺎم‬ ; < ‫ﻋﺒﺎرت‬‫ﻣﯽ‬ ‫ﺷﯿﻮه‬ ‫ﺑﻪ‬ ‫اﻃﻼﻋﺎت‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫دﻫﻨﺪ‬ ;> < ‫ﻋﺒﺎرت‬‫درﺑﺎره‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫ﻣﯽ‬ ‫اﻃﻼع‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ی‬‫دﻫﻨﺪ‬ ;> RUN; ‫ﺑ‬‫ﯿ‬‫ﺷ‬ ‫ﺸﺘﺮ‬‫ﯿ‬‫ﻮه‬‫ﻫﺎ‬‫ی‬SAS‫ﻣ‬ ‫را‬‫ﯽ‬‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ ‫ﺗﻮان‬PROC‫ﻓﻌﺎل‬ ‫ﺳﺎده‬‫ﮐﺮد‬.‫ز‬ ‫ﻣﺜﺎل‬‫ﯾ‬‫ﺳﺎده‬ ‫ﺮ‬‫ﺗـﺮ‬‫ﯾ‬‫ﺷـ‬ ‫ﻦ‬‫ﮑ‬‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﻞ‬‫ﺷـﯿ‬‫ﻮه‬‫ی‬ PRINT‫ﻣ‬ ‫ﻧﺸﺎن‬ ‫را‬‫ﯽ‬‫دﻫﺪ‬. ‫ﻣﺜﺎل‬۱-۱۶ PROC PRINT DATA=mydat.score; RUN; ‫ا‬‫ﯾ‬‫ﻦ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺷ‬ ‫از‬‫ﯿ‬‫ﻮه‬‫ی‬PRINT‫ﺑﺮا‬‫ی‬‫ﭼﺎپ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬score‫ﻣـ‬ ‫اﺳﺘﻔﺎده‬‫ﯽ‬‫ﮐ‬‫ﻨـﺪ‬.‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬score ‫در‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ی‬mydat‫ﺻﻮرت‬ ‫ﺑﻪ‬‫داﺋﻤ‬‫ﯽ‬‫ذﺧ‬‫ﯿ‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺮه‬.‫اﮔﺮ‬‫ﮐ‬‫ﻣﺎ‬ ‫ﺎرﺑﺮ‬‫ﯾ‬‫ﺑﺎﺷﺪ‬ ‫ﻞ‬‫ﮐ‬‫ﻓﻬﺮﺳﺘ‬ ‫ﺗﻨﻬﺎ‬ ‫ﻪ‬‫ﯽ‬‫ﻧﺎم‬ ‫از‬‫ﻧﻤـﺮه‬ ‫و‬ ‫ﻫﺎ‬‫ی‬ ‫ﻧﻬﺎ‬‫ﯾﯽ‬‫ﻣ‬ ‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬‫ﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺗﻮاﻧﺪ‬‫ی‬‫ز‬‫ﯾ‬‫اﺟﺮا‬ ‫را‬ ‫ﺮ‬‫ﮐ‬‫ﻨﺪ‬. PROC PRINT DATA=mydat.score; VAR name final; RUN; ‫ﻋﺒﺎرت‬VAR‫ﮐ‬‫ﻪ‬‫ﮐ‬‫ﻮﺗﻪ‬‫ﻧﻮﺷﺘﻪ‬‫ی‬VARIABLE‫ﻣﺘﻐ‬ ،‫اﺳﺖ‬‫ﯿ‬‫ﺮﻫﺎ‬‫ﯾﯽ‬‫را‬‫ﮐ‬‫ﺑﺎ‬ ‫ﻪ‬‫ﯾ‬‫ﺗﺤﻠ‬ ‫در‬ ‫ﺪ‬‫ﯿ‬‫ﺷﺮ‬ ‫ﻞ‬‫ﮐ‬‫ﻣﺸـﺨﺺ‬ ‫را‬ ‫ﺑﺎﺷـﻨﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺖ‬ ‫ﻣ‬‫ﯽ‬‫ﮐ‬‫ﻨﺪ‬.
  • 46.
    ۴۶ ‫ﻧ‬‫ﮑ‬‫ﺘﻪ‬‫ی‬۱-۳‫ﺑﺮﻧﺎﻣﻪ‬‫ﭘﻨﺠﺮ‬ ‫در‬ ‫ﻫﺎ‬‫ه‬‫ی‬Editor‫ﻣ‬‫ﻧﻮﺷﺘﻪ‬‫ﯽ‬‫ﺑﺎ‬ ‫و‬ ‫ﺷﻮد‬‫ﮐ‬‫ﻠ‬‫ﯿ‬‫ﮏ‬‫ﮐ‬‫رو‬ ‫ﺮدن‬‫ی‬‫ﻧﺸﺎﻧﻪ‬‫ی‬‫ﻧﻮار‬ ‫در‬‫اﺑﺰار‬‫اﺟﺮا‬ ، ‫ﻣ‬‫ﯽ‬‫ﺷﻮد‬. ‫ﻧ‬‫ﮑ‬‫ﺘﻪ‬‫ی‬۱-۴‫اﺟﺮا‬ ‫از‬ ‫ﺑﻌﺪ‬‫ی‬‫ﻣﺮور‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫و‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺮ‬‫ﺧﺮوﺟﯽ‬‫ﭘﻨﺠﺮه‬ ‫در‬‫ی‬Output‫ﭘ‬ ‫اﺳﺖ‬ ‫ﺑﻬﺘﺮ‬‫ﯿ‬‫ﻐﺎم‬‫ﻫـﺎ‬‫ی‬‫ﭘﻨﺠـﺮه‬‫ی‬ Log‫ﺑﺮا‬‫ی‬‫درﺳﺘ‬ ‫از‬ ‫اﻃﻼع‬‫ﯽ‬‫ﺑﺮرﺳ‬ ‫ﺑﺮﻧﺎﻣﻪ‬‫ﯽ‬‫ﺷﻮﻧﺪ‬. ‫ﻧ‬‫ﮑ‬‫ﺘﻪ‬‫ی‬۱-۵‫ﺻﻮرﺗ‬ ‫در‬‫ﯽ‬‫ﮐ‬‫ﻋﺒﺎرت‬ ‫ﻪ‬VAR‫ﺑـﻪ‬‫ﮐـ‬‫ﭘـ‬ ،‫ﻧـﺮود‬ ‫ﺎر‬‫ﯿ‬‫ﻓـﺮض‬ ‫ﺶ‬SAS‫ﻣﺘﻐ‬ ‫ﺗﻤـﺎم‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬‫ﯿ‬‫ﺮﻫـﺎ‬‫ی‬‫ﻋـﺪد‬‫ی‬‫در‬ ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫اﺳﺖ‬.‫ﺷﯿﻮه‬ ‫در‬‫ی‬PRINT‫اﮔﺮ‬VAR‫ﻧﻮﯾﺴـﻪ‬ ‫و‬ ‫ﻋـﺪدی‬ ‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ،‫ﻧﺸـﻮد‬ ‫ﻣﺸﺨﺺ‬‫ﭼـﺎپ‬ ‫ﺑـﺮای‬ ‫ای‬ ‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬‫ﺷﻮﻧﺪ‬. ‫ﻣﺜﺎل‬۱-۱۷‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ی‬SAS‫ﻣﺜﺎل‬ ‫در‬ ‫ﺷﺪه‬ ‫اﯾﺠﺎد‬۱-۱‫ﻧﺎم‬ ‫ﺑﻪ‬exam‫ﮐﺘﺎﺑﺨﺎﻧـﻪ‬ ‫در‬ ‫ﮐﻪ‬‫ی‬work‫ﺷـﺪه‬ ‫ذﺧﯿـﺮه‬ ‫ﺑﮕﯿﺮﯾﺪ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫اﺳﺖ‬.‫ﻣﯽ‬‫ﻣﺸﺎﻫﺪه‬ ‫ﺗﻌﺪاد‬ ‫ﺧﻮاﻫﯿﻢ‬‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫اﺳـﺘﺎﻧﺪارد‬ ‫ﺧﻄﺎی‬ ‫و‬ ‫ﻣﯿﺎﻧﮕﯿﻦ‬ ،‫ﻫﺎ‬midterm‫و‬final ‫اﯾﻦ‬ ‫ﺑﺮای‬ ‫اﻋﺸﺎر‬ ‫رﻗﻢ‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫را‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﮐﻨﯿﻢ‬ ‫ﻣﺤﺎﺳﺒﻪ‬.‫ﺑﺮﻧﺎﻣﻪ‬‫ی‬‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ‫را‬ ‫ﺗﺤﻠﯿﻞ‬ ‫اﯾﻦ‬ ‫زﯾﺮ‬‫دﻫﺪ‬. PROC MEANS DATA=exam N MEAN STD MAXDEC=1; VAR midterm final Run; ‫ﮐﻠﯿﺪوا‬‫ژ‬‫ه‬‫ی‬MEANS‫ﻋﺒﺎرت‬ ‫در‬PROC‫ﺷﯿﻮه‬‫داده‬ ‫ﺗﺤﻠﯿﻞ‬ ‫ﻣﻨﺎﺳﺐ‬ ‫آﻣﺎری‬ ‫ی‬‫ﻣﯽ‬ ‫ﻓﺮاﺧﻮاﻧﯽ‬ ‫را‬ ‫ﻫﺎ‬‫ﮐﻨﺪ‬.‫ﮔﺰﯾﻨﻪ‬ ‫ﺳﺎﯾﺮ‬‫در‬ ‫ﻫـﺎ‬ ‫ﻋﺒﺎرت‬PROC‫ﻫﺴﺘﻨﺪ‬ ‫اﺧﺘﯿﺎری‬.‫ﮔﺰﯾﻨﻪ‬ ‫در‬‫ی‬DATA= ‫ﻧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﻣـﯽ‬ ‫آورده‬ ‫ﺷـﻮﻧﺪ‬ ‫ﺗﺤﻠﯿﻞ‬ ‫ﺑﺎﯾﺪ‬ ‫ﮐﻪ‬ ‫ﯾﯽ‬‫ﺷـﻮد‬ )exam.(،‫ﺷﻮد‬ ‫ﺣﺬف‬ ‫ﮔﺰﯾﻨﻪ‬ ‫اﯾﻦ‬ ‫اﮔﺮ‬SAS‫ﭘـﯿﺶ‬ ‫ﻃـﻮر‬ ‫ﺑﻪ‬‫آﺧـﺮﯾﻦ‬ ‫ﻓـﺮض‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬‫ﺗﻮﻟﯿـﺪ‬‫ﺷـﺪه‬‫ﮐـﺎر‬ ‫ﺑـﻪ‬ ‫را‬ ‫ﻣﯽ‬‫ﮔﯿﺮد‬.‫ﮔﺰﯾﻨﻪ‬‫ﻫﺎی‬N،MEANS،‫و‬STD‫از‬ ‫ﺗﺮﺗﯿﺐ‬ ‫ﺑﻪ‬SAS‫ﻣـﯽ‬‫ﻣﺸـﺎﻫﺪه‬ ‫ﺗﻌـﺪاد‬ ‫ﺗـﺎ‬ ‫ﺧﻮاﻫﻨـﺪ‬‫ﻫـﺎ‬)‫ﻣﺸـﺎﻫﺪه‬ ‫ﻫﺸـﺖ‬(، ‫ـﺎ‬‫ـ‬‫ﻣﺘﻐﯿﺮﻫ‬ ‫ـﺘﺎﻧﺪارد‬‫ـ‬‫اﺳ‬ ‫ـﺎی‬‫ـ‬‫ﺧﻄ‬ ‫و‬ ‫ـﺎﻧﮕﯿﻦ‬‫ـ‬‫ﻣﯿ‬‫ی‬‫ـﯽ‬‫ـ‬‫ﻣﻌﺮﻓ‬‫ـﺎرت‬‫ـ‬‫ﻋﺒ‬ ‫در‬ ‫ـﺪه‬‫ـ‬‫ﺷ‬VAR‫و‬ ‫ـﺮده‬‫ـ‬‫ﮐ‬ ‫ـﺒﻪ‬‫ـ‬‫ﻣﺤﺎﺳ‬ ‫را‬‫ـﺪ‬‫ـ‬‫ﮐﻨ‬ ‫ـﺎپ‬‫ـ‬‫ﭼ‬.‫ـﻪ‬‫ـ‬‫ﮔﺰﯾﻨ‬‫ی‬ MAXDEC=1‫از‬SAS‫ـﯽ‬‫ـ‬‫ﻣ‬‫ـﺎره‬‫ـ‬‫آﻣ‬ ‫ـﻪ‬‫ـ‬‫ﮐ‬ ‫ـﺪ‬‫ـ‬‫ﺧﻮاﻫ‬‫ـﺪ‬‫ـ‬‫ﮐﻨ‬ ‫ـﺎپ‬‫ـ‬‫ﭼ‬ ‫ـﺎر‬‫ـ‬‫اﻋﺸ‬ ‫ـﻢ‬‫ـ‬‫رﻗ‬ ‫ـﮏ‬‫ـ‬‫ﯾ‬ ‫ـﺎ‬‫ـ‬‫ﺑ‬ ‫را‬ ‫ـﯽ‬‫ـ‬‫ﺧﺮوﺟ‬ ‫ـﺎی‬‫ـ‬‫ﻫ‬.‫ـﺎرت‬‫ـ‬‫ﻋﺒ‬VAR‫ـﻪ‬‫ـ‬‫ﮐ‬ ‫ﮐﻮﺗﻪ‬‫ﻧﻮﺷﺘﻪ‬‫ی‬VARIABLE‫ﺑﻪ‬ ‫اﺳﺖ‬SAS‫ﻣﯽ‬‫ﮐﻨﺪ‬ ‫وارد‬ ‫ﺗﺤﻠﯿﻞ‬ ‫در‬ ‫را‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﮐﺪام‬ ‫ﮐﻪ‬ ‫ﮔﻮﯾﺪ‬.،‫ﺷﻮد‬ ‫ﺣﺬف‬ ‫ﮔﺰﯾﻨﻪ‬ ‫اﯾﻦ‬ ‫اﮔﺮ‬ SAS‫ﺑﻪ‬‫ﭘﯿﺶ‬ ‫ﻃﻮر‬‫ﻓﺮض‬‫ﻋﺪدی‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺗﻤﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫در‬ ‫ﻣﻮﺟﻮد‬‫داده‬ ‫ی‬‫را‬ ‫ﻫﺎ‬‫ﮐﺎر‬ ‫ﺑﻪ‬‫ﻣﯽ‬‫ﮔﯿﺮ‬‫د‬. ۱-۸-۱‫ﻣﺸﺨﺺ‬‫ﮔﺰﯾﻨﻪ‬ ‫ﺳﺎزی‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻫﺎ‬PROC ‫ﮔﺰﯾﻨﻪ‬ ‫ﺑﺮﺧﯽ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﻫﺎ‬PROC‫ﯾﻌﻨﯽ‬ ،‫ﻫﺴﺘﻨﺪ‬ ‫ﻋﻤﻮﻣﯽ‬‫ﻣﯽ‬‫ﻋﺒﺎرت‬ ‫ﻫﺮ‬ ‫در‬ ‫ﺗﻮاﻧﻨﺪ‬PROC‫روﻧﺪ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬.‫اﮔﺮ‬ ‫ﻣﺜﺎل‬ ‫ﺑﺮای‬ ‫آﺧﺮﯾﻦ‬ ‫ﮐﻪ‬ ‫ﻧﺒﺎﺷﺪ‬ ‫ﻣﺎﯾﻞ‬ ‫ﮐﺎرﺑﺮ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﻣﯽ‬ ،‫ﮐﻨﺪ‬ ‫ﺗﺤﻠﯿﻞ‬ ‫را‬ ‫ﺷﺪه‬ ‫اﯾﺠﺎد‬‫ﻧـﺎم‬ ‫ﺗﻮاﻧـﺪ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬
  • 47.
    ۴۷ SAS‫ﻧﻈ‬ ‫ﻣﻮرد‬‫ﮔﺰﯾﻨﻪ‬ ‫در‬‫را‬ ‫ﺮ‬‫ی‬DATA=‫ﮐﻨﺪ‬ ‫ﻣﺸﺨﺺ‬.‫ﻋﺒـﺎرت‬ ‫ﻣﺜﺎل‬ ‫ﺑﺮای‬PROC PRINT DATA=score‫ﻣﺠﻤﻮﻋـﻪ‬‫ی‬ ‫داده‬‫ﻫﺎ‬‫ی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬score‫ﻣﯽ‬ ‫ﭼﺎپ‬ ‫را‬‫ﮐﻨﺪ‬. ،‫دﯾﮕﺮ‬ ‫ﻣﺜﺎﻟﯽ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬‫ﻋﺒﺎرت‬PROC MEANS mean std; ‫ﺷﯿﻮه‬‫ی‬MEANS‫ﻣﯽ‬ ‫ﻓﻌﺎل‬ ‫را‬‫ﮐﻨﺪ‬.‫ﮔﺰﯾﻨﻪ‬‫ﻫـﺎی‬mean، ‫و‬std‫ﻣﯽ‬ ‫ﺷﯿﻮه‬ ‫اﯾﻦ‬ ‫از‬‫ﺧﻮاﻫ‬‫ﻨ‬‫ﻣ‬ ‫ﺗﻤـﺎم‬ ‫ﺑﺮای‬ ‫ﮐﻪ‬ ‫ﺪ‬‫آﺧـﺮﯾﻦ‬ ‫در‬ ‫ﻋـﺪدی‬ ‫ﺘﻐﯿﺮﻫـﺎی‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS،‫ﺷـﺪه‬ ‫اﯾﺠـﺎد‬ ‫ـﺎره‬‫ـ‬‫آﻣ‬‫ـﺎی‬‫ـ‬‫ﻫ‬‫و‬ ‫ـﺎﻧﮕﯿﻦ‬‫ـ‬‫ﻣﯿ‬‫ـﺪ‬‫ـ‬‫ﮐﻨ‬ ‫ـﺎپ‬‫ـ‬‫ﭼ‬ ‫را‬ ‫ـﺘﺎﻧﺪارد‬‫ـ‬‫اﺳ‬ ‫ـﺮاف‬‫ـ‬‫اﻧﺤ‬.‫ـﯿﺶ‬‫ـ‬‫ﭘ‬‫ـﺮض‬‫ـ‬‫ﻓ‬SAS‫ـﺎره‬‫ـ‬‫آﻣ‬ ‫ـﺎپ‬‫ـ‬‫ﭼ‬‫ـﻪ‬‫ـ‬‫ﺧﻼﺻ‬ ‫ـﺎی‬‫ـ‬‫ﻫ‬‫ی‬:‫ـﺪاد‬‫ـ‬‫ﺗﻌ‬ ‫ﻣﺸﺎﻫﺪه‬‫ﻣﺎﮐﺴﯿﻤﻢ‬ ‫و‬ ‫ﻣﯿﻨﯿﻤﻢ‬ ،‫اﺳﺘﺎﻧﺪارد‬ ‫اﻧﺤﺮاف‬ ،‫ﻣﯿﺎﻧﮕﯿﻦ‬ ،‫ﻫﺎ‬‫داده‬‫ﻫﺎ‬‫اﺳﺖ‬. ‫ﻣ‬ ‫در‬‫ﺜ‬‫ﮔﺰﯾﻨﻪ‬ ‫اﺧﯿﺮ‬ ‫ﺎل‬‫ﻫﺎی‬mean‫و‬ ،std‫ﮔﺰﯾﻨﻪ‬‫ﻫﺎ‬‫ﺷﯿﻮه‬ ‫ﺑﺮای‬ ‫اﺧﺘﺼﺎﺻﯽ‬ ‫ی‬‫ی‬MEANS‫ﻫﺴﺘﻨﺪ‬. ۱-۸-۲‫ﻋﺒﺎرت‬‫ﺷﯿﻮه‬ ‫ﺑﻪ‬ ‫اﻃﻼﻋﺎت‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫ﻣﯽ‬‫دﻫﻨﺪ‬ ‫ﮔﺰﯾﻨﻪ‬ ‫از‬ ‫ﺑﺮﺧﯽ‬‫ﻫﺎی‬‫ﺑﻪ‬ ‫اﻃﻼﻋﺎﺗﯽ‬ ‫ﮐﻪ‬ ‫اﺧﺘﯿﺎری‬‫ﺷﯿﻮه‬‫ﻣـﯽ‬ ‫اﺟﺮا‬ ‫ﺑﺮای‬ ‫ﻣﻮردﻧﻈﺮ‬ ‫ی‬‫ﻣـﯽ‬ ‫را‬ ‫دﻫﻨـﺪ‬‫ﮔـﺎم‬ ‫در‬ ‫ﺗـﻮان‬PROC‫وارد‬ ‫ﮐﺮد‬.‫ﻋﺒﺎرت‬ ،‫ﻗﺒﻞ‬ ‫ﻣﺜﺎل‬ ‫در‬PROC MEANS mean std;‫ﻣﯿﺎﻧﮕﯿﻦ‬‫و‬‫اﺳـﺘﺎﻧﺪارد‬ ‫اﻧﺤـﺮاف‬‫ر‬‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ﺗﻤـﺎم‬ ‫ﺑـﺮای‬ ‫ا‬ ‫در‬ ‫ﻋﺪدی‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﺷﺪه‬ ‫اﯾﺠﺎد‬‫ﻣﯽ‬ ‫ﻣﺤﺎﺳﺒﻪ‬‫ﮐﻨﺪ‬.‫ﻣﺤﺎﺳﺒﻪ‬ ‫ﮐﺎرﺑﺮ‬ ‫اﮔﺮ‬‫آﻣﺎره‬ ‫اﯾﻦ‬ ‫ی‬‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺮای‬ ‫را‬ ‫ﻫﺎ‬ ‫ﺧﺎ‬‫ﺻ‬‫ﻣﯽ‬ ‫ﺑﺨﻮاﻫﺪ‬ ‫ﯽ‬‫ﻋﺒﺎرت‬ ‫از‬ ‫ﺗﻮاﻧﺪ‬VAR‫ﮐﻨﺪ‬ ‫اﺳﺘﻔﺎده‬.‫ﻣﺜﺎل‬ ‫ﺑﺮای‬ PROC MEANS std mean; VAR X Y; RUN; ‫آﻣﺎره‬‫ﻫﺎی‬mean‫و‬std‫ﺑﺮای‬ ‫ﺗﻨﻬﺎ‬ ‫را‬‫ﻣﺘﻐﯿﺮﻫﺎی‬X‫و‬Y‫ﭼﺎپ‬ ‫و‬ ‫ﻣﺤﺎﺳﺒﻪ‬‫ﻣﯽ‬‫ﮐﻨﺪ‬. ‫ﻋﺒﺎرت‬ ‫از‬ ‫ﯾﮑﯽ‬‫ﺷـﯿﻮه‬ ‫اﻃﻼﻋـﺎﺗﯽ‬ ‫ﻫـﺎی‬‫ﻋﺒـﺎرت‬ ،‫ای‬BY‫ﺷـﯿﻮه‬ ‫ﺑـﻪ‬ ‫ﮐـﻪ‬ ‫اﺳـﺖ‬‫ﻫـﺎی‬SAS‫ﻣـﯽ‬ ‫اﺟـﺎزه‬‫ﭘﺎﯾـﻪ‬ ‫ﺑـﺮ‬ ‫ﮐـﻪ‬ ‫دﻫـﺪ‬‫ی‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪارﻫﺎی‬)‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﯾﺎ‬(‫ﻋﺒﺎرت‬ ‫در‬ ‫ﮐﻪ‬BY‫ﺷﺪه‬ ‫ﻓﻬﺮﺳﺖ‬‫زﯾﺮﻣﺠﻤﻮﻋﻪ‬ ،‫اﻧﺪ‬‫ﻫـﺎی‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ﻣﺸـﺨﺺ‬ ‫ی‬ ‫را‬ ‫ﺷﺪه‬‫ﭘ‬‫ﮐﻨﺪ‬ ‫ﺮدازش‬.‫ﻋﺒﺎرت‬ ‫ﺑﻪ‬‫دﯾﮕﺮ‬SAS‫ﺷﯿﻮه‬‫را‬ ‫ﻣﻮردﻧﻈﺮ‬ ‫ی‬‫ﺑﻪ‬‫ﭘﯿـﺎﭘﯽ‬ ‫ﺻـﻮرت‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫زﯾـﺮ‬ ‫روی‬‫داده‬ ‫ی‬‫اﺟـﺮا‬ ‫ﻫـﺎ‬ ‫ﻣﯽ‬‫ﮐﻨﺪ‬.‫ﻋﺒﺎرت‬ ‫ﻋﻤﻮﻣﯽ‬ ‫ﺷﮑﻞ‬BY‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬: BY ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻓﻬﺮﺳﺖ‬; ‫ﻫﻨﮕﺎﻣﯽ‬‫ﻋﺒﺎرت‬ ‫ﮐﻪ‬BY‫ﮔﺎم‬ ‫در‬PROC‫ﻣﯽ‬ ‫ﻇﺎﻫﺮ‬‫ﺷﯿﻮه‬ ،‫ﺷﻮد‬‫ی‬‫ﻣﻮردﻧﻈﺮ‬‫ﮐﻪ‬ ‫دارد‬ ‫اﻧﺘﻈﺎر‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ﺣﺴـﺐ‬ ‫ﺑـﺮ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪارﻫﺎی‬)‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﯾﺎ‬(‫ﻓﻬﺮﺳﺖ‬‫ﻋﺒﺎرت‬ ‫در‬ ‫ﺷﺪه‬BY‫ﺑﺎﺷﺪ‬ ‫ﺷﺪه‬ ‫ﻣﺮﺗﺐ‬. ‫ﻣﺜﺎل‬۱-۱۸ PROC MEANS DATA = mydat.score; BY gender inc; VAR midterm final; RUN;
  • 48.
    ۴۸ ‫ـﻪ‬‫ـ‬‫ﺑﺮﻧﺎﻣ‬‫ـﯿﻮه‬‫ـ‬‫ﺷ‬ ‫ـﺎﻻ‬‫ـ‬‫ﺑ‬ ‫ی‬‫ی‬MEANS‫ـﺮوه‬‫ـ‬‫ﮔ‬‫روی‬ ‫را‬‫ـﺐ‬‫ـ‬‫ﻣﺮﺗ‬ ‫از‬ ‫ـﺪه‬‫ـ‬‫آﻣ‬ ‫ـﻮد‬‫ـ‬‫وﺟ‬ ‫ـﻪ‬‫ـ‬‫ﺑ‬ ‫ـﺎی‬‫ـ‬‫ﻫ‬‫ـﺎزی‬‫ـ‬‫ﺳ‬‫ـﻪ‬‫ـ‬‫ﻣﺠﻤﻮﻋ‬‫داده‬ ‫ی‬‫ـﺎ‬‫ـ‬‫ﻫ‬‫ـﺐ‬‫ـ‬‫ﺣﺴ‬ ‫ـﺮ‬‫ـ‬‫ﺑ‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﻣﻘﺪارﻫﺎی‬gender‫و‬inc‫ﺻﻮر‬ ‫ﺑﻪ‬‫ﻣﺘﻐﯿﺮ‬ ‫ﺑﺮای‬ ‫ﺗﻨﻬﺎ‬ ‫و‬ ‫ﻣﺠﺰا‬ ‫ت‬ final‫و‬ midterm‫ﻣﯽ‬ ‫اﺟﺮا‬‫ﮐﻨﺪ‬. ۱-۸-۳‫ﻋﺒﺎرت‬‫ﻣﺘﻐﯿﺮ‬ ‫وﯾﮋﮔﯽ‬ ‫ﻫﺎی‬ ‫ﻋﺒﺎرت‬‫ﻫﺎی‬‫ﮐﺎرﺑﺮ‬ ‫ﺑﻪ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫وﯾﮋﮔﯽ‬SAS‫ﻣﯽ‬ ‫اﺟﺎزه‬‫ﺑﺮﭼﺴﺐ‬ ،‫اﯾﻨﻔﻮرﻣﺖ‬ ،‫ﻓﻮرﻣﺖ‬ ‫ﺗﺎ‬ ‫دﻫﺪ‬‫و‬‫ﯾـﮏ‬ ‫در‬ ‫را‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻃﻮل‬ ‫ﮔﺎم‬PROC‫ﮐﻨﺪ‬ ‫ﻣﺸﺨﺺ‬.‫ﻣﺸﺨﺺ‬ ‫اﯾﻦ‬‫وﯾﮋﮔﯽ‬ ‫ﺳﺎزی‬‫ﮔـﺎم‬ ‫ﯾـﮏ‬ ‫اﺟـﺮای‬ ‫ﻫﻨﮕﺎم‬ ‫ﺑﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻫﺎی‬PROC‫ﮔـﺎم‬ ‫اﯾـﻦ‬ ‫در‬ ‫ﻣﯽ‬ ‫اﻧﺠﺎم‬‫ﺷﻮد‬.‫ﻋﺒﺎرت‬ ‫اﯾﻦ‬‫ﻫﺎ‬‫ﻣﯽ‬ ‫ﻧﯿﺰ‬‫ﮔﺎم‬ ‫در‬ ‫ﺗﻮاﻧﺪ‬DATA‫ﻣﺸﺨﺺ‬ ‫ﺑﺮای‬‫وﯾﮋﮔﯽ‬ ‫ﺳﺎزی‬‫در‬ ،‫روﻧـﺪ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻫﺎی‬ ‫ﻣﺸﺨﺼﻪ‬ ‫اﯾﻦ‬ ‫ﺻﻮرت‬ ‫اﯾﻦ‬‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫داﺋﻤ‬‫در‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﺑﺎ‬ ‫ﯽ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﮔـﺎم‬ ‫در‬ ‫ﺷـﺪه‬ ‫اﯾﺠﺎد‬ ‫ی‬DATA‫ﻣـﺮﺗﺒﻂ‬ ‫ﻣﯽ‬‫ﺷﻮﻧﺪ‬.‫ﺣﺎﻟﺖ‬ ‫اﯾﻦ‬ ‫در‬‫وﯾﮋﮔﯽ‬ ‫اﯾﻦ‬‫ﺷـﯿﻮه‬ ‫در‬ ‫ﻫﺎ‬‫ﻫـﺎ‬‫ﺑﻌـﺪی‬ ‫ی‬SAS‫ﮔـﺎم‬ ‫ﯾـﮏ‬ ‫درون‬PROC‫ﺑـﻮد‬ ‫ﺧﻮاﻫﻨـﺪ‬ ‫دﺳـﺘﺮس‬ ‫در‬. ‫ﻋﺒﺎرت‬‫ﻫﺎی‬FORMAT‫و‬LABEL‫ﻋﺒﺎرت‬‫ﮔﺎم‬ ‫در‬ ‫ﮐﻪ‬ ‫ﻫﺴﺘﻨﺪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫وﯾﮋﮔﯽ‬ ‫ﻫﺎی‬PROC‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬‫روﻧﺪ‬. ‫ﻋﺒﺎرت‬FORMAT‫ﻣﯽ‬ ‫را‬‫ﺗﻮان‬‫ﮔﺎم‬ ‫در‬ ‫ﻫﻢ‬DATA‫ﮔﺎم‬ ‫در‬ ‫ﻫﻢ‬ ‫و‬PROC‫ﻣﺸﺨﺺ‬ ‫ﺑﺮای‬‫ﺳﺎزی‬‫ﻓﻮرﻣﺖ‬‫ﮐـﺎر‬ ‫ﺑـﻪ‬ ‫ﻫـﺎ‬‫ﺑـﺮد‬. ‫ﻓﻮرﻣﺖ‬‫ﻫﺎی‬SAS‫ﻣﻘﺪ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺮای‬‫داده‬ ‫ارﻫﺎی‬‫در‬ ‫ﺷﺪه‬ ‫ذﺧﯿﺮه‬ ‫ای‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫ﻣـﻮردﻧﻈﺮ‬ ‫ﮐـﻪ‬ ‫ﺻـﻮرﺗﯽ‬ ‫ﺑـﻪ‬ ‫ﮐﺮدن‬ ‫ﭼﺎپ‬ ‫ﺑﺮای‬ ‫ﮐﺎرﺑﺮ‬‫اﺳﺖ‬‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬ ،‫روﻧﺪ‬.‫ﻓﻮرﻣﺖ‬‫ﺑﻪ‬ ‫اﻃﻼﻋﺎﺗﯽ‬ ‫ﻫﺎ‬SAS‫ﺗﻌـﺪا‬ ‫ﺧﺼـﻮص‬ ‫در‬‫د‬‫ﻧﻮﯾﺴـﻪ‬‫ﻣﻘـﺪار‬ ‫ﻫـﺎی‬ ‫داده‬‫داده‬ ‫ﻣﻘﺪار‬ ‫ﺻﻮرت‬ ،‫ای‬‫ﺑﺎﯾﺪ‬ ‫ﮐﻪ‬ ‫ای‬،‫ﺷﻮد‬ ‫ﻇﺎﻫﺮ‬ ‫ﭼﺎپ‬ ‫در‬‫ﻧ‬‫داده‬ ‫ﻣﻘﺪار‬ ‫ﭼﺎپ‬ ‫در‬ ‫ﺑﺎﯾﺪ‬ ‫ﮐﻪ‬ ‫ﻤﺎدﻫﺎﯾﯽ‬‫ای‬‫ﺷـﻮﻧﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻧﻘﻄﻪ‬ ‫ﻣﺜﻞ‬‫دﻻر‬ ‫ﻋﻼﻣﺖ‬ ،‫واوک‬ ،‫اﻋﺸﺎری‬ ‫ی‬)$(‫ﻣﯽ‬‫دﻫﻨﺪ‬. ‫ﻣﺜﺎل‬۱-۱۹ DATA rev; INPUT region : $8. ostan $3. +1 month monyy5. sper revenue expenses; FORMAT month monyy5. Revenue dollar12.2; LABEL region='Sale Region' sper='Sale Personnel'; DATALINES; SOUTHERN YAZ JAN98 10 10000 8000 SOUTHERN YAZ FEB98 10 11000 8500 SOUTHERN YAZ MAR98 9 13000 9500 SOUTHERN KER JAN98 5 8000 2000 SOUTHERN KER FEB98 7 6000 2000 NORTHERN AGH MAR98 3 1200 1700 NORTHERN ASH FEB98 4 2000 4000 NORTHERN GIL MAR98 5 5000 7000
  • 49.
    ۴۹ NORTHERN MAZ FEB987 4000 6000 CENTRAL QUM JAN98 13 2100 4000 CENTRAL QUM FEB98 14 2200 4500 CENTRAL ESF JAN98 10 10000 8000 CENTRAL ESF FEB98 9 11000 8200 CENTRAL ESF MAR98 10 12000 8900 CENTRAL MAR JAN98 4 6100 2000 CENTRAL MAR FEB98 4 6050 2100 ; RUN; PROC SORT DATA=rev; BY region ostan month; RUN; PROC PRINT; RUN; PROC PRINT DATA=rev LABEL; BY region ostan; FORMAT expenses dollar10.2; LABEL ostan = Ostan month = Month Revenue = 'Ostan Revenue' Expenses = 'Overhead Expenses'; ID region expenses; SUM revenue expenses; SUMBY region; TITLE 'Sales Reported by Ostan and Region'; RUN; ‫ﻣﺜﺎل‬‫ﺑﺎﻻ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ی‬SAS‫اﺳﺖ‬ ‫ی‬‫ﮐﻪ‬‫ﮔﺎم‬ ‫وﯾﮋﮔﯽ‬ ‫ﭼﻨﺪ‬‫ﻫﺎی‬DATA‫و‬PROC‫ﻣـﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬‫دﻫـﺪ‬.‫اﯾـﻦ‬ ‫در‬‫ﮔـﺎم‬ ‫دو‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ PRINT‫ﯾﮏ‬ ‫ﭼﺎپ‬ ‫ﺑﺮای‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫دارﻧﺪ‬ ‫وﺟﻮد‬.‫ﮔﺎم‬PROC‫ﺳﺎده‬ ‫اول‬‫ﺷﯿﻮه‬ ‫ﮐﺮدن‬ ‫ﻓﻌﺎل‬ ‫ﺷﮑﻞ‬ ‫ﺗﺮﯾﻦ‬‫ی‬ PRINT‫ﮔﺎم‬ ‫ﮐﻪ‬ ‫ﺻﻮرﺗﯽ‬ ‫در‬ ،‫اﺳﺖ‬PROC‫ﺷﯿﻮه‬ ‫اﻃﻼﻋﺎﺗﯽ‬ ‫ﻋﺒﺎرت‬ ‫ﭼﻨﺪ‬ ‫ﺷﺎﻣﻞ‬ ‫دوم‬‫وﯾﮋ‬ ‫و‬ ‫ای‬‫ﮔ‬‫اﺳﺖ‬ ‫ﻣﺘﻐﯿﺮی‬ ‫ﯽ‬. Obs region ostan month sper revenue expenses 1 CENTRAL ES JAN09 8 $10.00 10000 2 CENTRAL ES FEB09 8 $9.00 11000 3 CENTRAL ES MAR09 8 $10.00 12000 4 CENTRAL MA JAN09 8 $4.00 6100
  • 50.
    ۵۰ 5 CENTRAL MAFEB09 8 $4.00 6050 6 CENTRAL QU JAN09 8 $13.00 2100 7 CENTRAL QU FEB09 8 $14.00 2200 8 NORTHERN AGH MAR98 3 $1,200.00 1700 9 NORTHERN ASH FEB98 4 $2,000.00 4000 10 NORTHERN GIL MAR98 5 $5,000.00 7000 11 NORTHERN MAZ FEB98 7 $4,000.00 6000 12 SOUTHERN KER JAN98 5 $8,000.00 2000 13 SOUTHERN KER FEB98 7 $6,000.00 2000 14 SOUTHERN YAZ JAN98 10 $10,000.00 8000 15 SOUTHERN YAZ FEB98 10 $11,000.00 8500 16 SOUTHERN YAZ MAR98 9 $13,000.00 9500 ‫ﺷﮑﻞ‬۱-۹‫ﺧﺮوﺟﯽ‬‫ﮔﺎم‬PRINT‫ﻣﺜﺎل‬ ‫اول‬۱-۱۹ ‫ﻋﺒﺎرت‬ ‫در‬INPUT‫اﺻـﻼح‬‫ﮔـﺮ‬":"‫ﻣﺘﻐﯿـﺮ‬ ‫ﻣﻘـﺪار‬ ‫ﺧﻮاﻧـﺪن‬ ‫ﺑـﺮای‬region‫و‬‫از‬‫ﺗـﺎرﯾﺦ‬ ‫اﯾﻨﻔﻮرﻣـﺖ‬monyy5.‫ﺑـﺮای‬ ‫ﺧﻮ‬‫ـﺪه‬‫ـ‬‫ﺷ‬ ‫ـﺘﻔﺎده‬‫ـ‬‫اﺳ‬ ‫ـﺎرﯾﺦ‬‫ـ‬‫ﺗ‬ ‫ـﺪار‬‫ـ‬‫ﻣﻘ‬ ‫ـﺪن‬‫ـ‬‫اﻧ‬‫ـﺖ‬‫ـ‬‫اﺳ‬.‫ـﺎم‬‫ـ‬‫ﮔ‬ ‫در‬DATA‫ـﺖ‬‫ـ‬‫ﻓﻮرﻣ‬‫ـ‬‫ـ‬‫ﻫ‬‫ـﺎی‬‫ـ‬‫ﻣﺘﻐﯿﺮﻫ‬ ‫ـﺮای‬‫ـ‬‫ﺑ‬ ‫ﺎﯾﯽ‬month‫و‬revenue ‫ﺷﺪه‬ ‫ﻣﺸﺨﺺ‬‫اﻧﺪ‬.‫ﻓﻮرﻣﺖ‬ ‫اﯾﻦ‬‫ﮔﺎم‬ ‫در‬ ‫ﻫﺎ‬PRINT‫ا‬‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫اﯾﻦ‬ ‫ﻣﻘﺪارﻫﺎی‬ ‫ﭼﺎپ‬ ‫ﺑﺮای‬ ‫ول‬‫روﻧﺪ‬.‫ﺷـﮑﻞ‬۱- ۹‫ﺧﺮوﺟﯽ‬‫ﮔﺎم‬PRINT‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫اول‬‫دﻫﺪ‬. ‫ﻋﺒﺎرت‬BY region ostan month;‫ﮔﺎم‬ ‫در‬SORT‫ﻣﺸـﺎﻫﺪه‬ ‫ﺗﺎ‬ ‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺳﺒﺐ‬‫اﻓﺰاﯾﺸـﯽ‬ ‫ﺗﺮﺗﯿـﺐ‬ ‫ﺑـﻪ‬ ‫ﻫـﺎ‬ ‫ﺣﺴ‬ ‫ﺑﺮ‬‫ﻣﻘﺪارﻫﺎی‬ ‫ﺐ‬month‫در‬‫ﮔﺮوه‬ ‫داﺧﻞ‬‫ﻫﺎ‬‫ﺷـﺪه‬ ‫اﯾﺠـﺎد‬ ‫ی‬‫ﯾﮑﺴـﺎن‬ ‫ﻣﻘـﺪارﻫﺎی‬ ‫ﺑـﺎ‬region‫و‬ostan‫در‬ ‫و‬ ‫ﻣﺮﺗـﺐ‬ ‫آ‬‫ﻣﺸﺎﻫﺪه‬ ‫ﺧﺮ‬‫در‬ ‫ﻫﺎ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﻣﻘﺪارﻫﺎی‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬region‫ﺷﻮﻧﺪ‬ ‫ﻣﺮﺗﺐ‬ ‫اﻓﺰاﯾﺸﯽ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬. ‫ﺷﯿﻮه‬‫ی‬PRINT‫ﻣﺸﺎﻫﺪه‬ ‫از‬ ‫ﻓﻬﺮﺳﺘﯽ‬ ‫اول‬‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ﻣﻘـﺪار‬ ‫ﺑـﺎ‬ ‫ﮐـﻪ‬ ‫ﻫﺎ‬month،ostan‫و‬ ،region‫ﻣﺮﺗـ‬‫ﺷـﺪه‬ ‫ﺐ‬،‫اﻧـﺪ‬ ‫ﻣﯽ‬ ‫ﭼﺎپ‬‫ﮐﻨﺪ‬. ‫ﮔﺎم‬ ‫در‬PRINT‫ﻋﺒﺎرت‬ ‫دوم‬BY region ostan ;‫ﻣﯽ‬ ‫ﺳﺒﺐ‬‫ﮔﺮوه‬ ‫از‬ ‫ﻓﻬﺮﺳﺘﯽ‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬‫ﻣﻘـﺪارﻫﺎی‬ ‫ﺑـﺎ‬ ‫ﮐـﻪ‬ ‫ﻫـﺎﯾﯽ‬ ‫ﻣﺘﻐﯿﺮ‬ostan‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪارﻫﺎی‬ ‫داﺧﻞ‬region‫ﻣﯽ‬ ‫ﺗﻌﯿﯿﻦ‬‫ﻣﯽ‬ ‫ﭼﺎپ‬ ،‫ﺷﻮﻧﺪ‬‫ﺷـﻮد‬.‫ﺷـﮑﻞ‬۱-۱۰‫ﺧﺮوﺟـﯽ‬‫را‬ ‫ﮔـﺎم‬ ‫اﯾـﻦ‬ ‫ﻣﯽ‬ ‫ﻧﺸﺎن‬‫دﻫﺪ‬. Sales Reported by Ostan and Region ----------------------------------- Sale Region=CENTRAL Ostan=ES ----------------------- Sale Overhead Sale Ostan Overhead Region Expenses Month Personnel Revenue Expenses CENTRAL $10,000.00 JAN09 8 $10.00 $10,000.00 CENTRAL $11,000.00 FEB09 8 $9.00 $11,000.00 CENTRAL $12,000.00 MAR09 8 $10.00 $12,000.00 ----------------------------------- Sale Region=CENTRAL Ostan=MA ----------------------- Sale Overhead Sale Ostan Overhead Region Expenses Month Personnel Revenue Expenses
  • 51.
    ۵۱ CENTRAL $6,100.00 JAN098 $4.00 $6,100.00 CENTRAL $6,050.00 FEB09 8 $4.00 $6,050.00 ----------------------------------- Sale Region=CENTRAL Ostan=QU ----------------------- Sale Overhead Sale Ostan Overhead Region Expenses Month Personnel Revenue Expenses CENTRAL $2,100.00 JAN09 8 $13.00 $2,100.00 CENTRAL $2,200.00 FEB09 8 $14.00 $2,200.00 ------- ---------- ------------ ---------- region $64.00 $49,450.00 ---------------------------------- Sale Region=NORTHERN Ostan=AGH ---------------------- Sale Overhead Sale Ostan Overhead Region Expenses Month Personnel Revenue Expenses NORTHERN $1,700.00 MAR98 3 $1,200.00 $1,700.00 ---------------------------------- Sale Region=NORTHERN Ostan=ASH ---------------------- Sale Overhead Sale Ostan Overhead Region Expenses Month Personnel Revenue Expenses NORTHERN $4,000.00 FEB98 4 $2,000.00 $4,000.00 ---------------------------------- Sale Region=NORTHERN Ostan=GIL ---------------------- Sale Overhead Sale Ostan Overhead Region Expenses Month Personnel Revenue Expenses NORTHERN $7,000.00 MAR98 5 $5,000.00 $7,000.00 Sales Reported by Ostan and Region ---------------------------------- Sale Region=NORTHERN Ostan=MAZ ---------------------- Sale Overhead Sale Ostan Overhead Region Expenses Month Personnel Revenue Expenses NORTHERN $6,000.00 FEB98 7 $4,000.00 $6,000.00 -------- ---------- ------------ ---------- region $12,200.00 $18,700.00 ---------------------------------- Sale Region=SOUTHERN Ostan=KER ---------------------- Sale Overhead Sale Ostan Overhead Region Expenses Month Personnel Revenue Expenses SOUTHERN $2,000.00 JAN98 5 $8,000.00 $2,000.00 SOUTHERN $2,000.00 FEB98 7 $6,000.00 $2,000.00
  • 52.
    ۵۲ ---------------------------------- Sale Region=SOUTHERNOstan=YAZ ---------------------- Sale Overhead Sale Ostan Overhead Region Expenses Month Personnel Revenue Expenses SOUTHERN $8,000.00 JAN98 10 $10,000.00 $8,000.00 SOUTHERN $8,500.00 FEB98 10 $11,000.00 $8,500.00 SOUTHERN $9,500.00 MAR98 9 $13,000.00 $9,500.00 -------- ---------- ------------ ---------- region $48,000.00 $30,000.00 ============ ========== $60,264.00 $98,150.00 ‫ﺷﮑﻞ‬۱-۱۰‫ﺧﺮوﺟﯽ‬‫ﮔﺎم‬PRINT‫ﻣﺜﺎل‬ ‫دوم‬۱-۱۹ ‫در‬‫ﺷﯿﻮه‬‫ی‬PRINT‫ﻋﺒﺎرت‬ ‫دوم‬‫ﻫـﺎی‬SUM revenue expenses;‫و‬SUM region;‫ﻧﺤـﻮه‬‫و‬ ‫ﻣﺤﺎﺳـﺒﻪ‬ ‫ی‬ ‫ﻋـﺪدی‬ ‫ﻣﺘﻐﯿﺮﻫـﺎی‬ ‫ﺑـﺮای‬ ‫را‬ ‫ﮐـﻞ‬ ‫ﻣﻘﺪار‬ ‫ﭼﺎپ‬revenue ‫و‬ expenses ‫در‬‫ﻣ‬‫ﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ﻣـﯽ‬ ‫ﻣﺸـﺨﺺ‬ ‫را‬‫ﮐﻨـﺪ‬. ‫ﺧﺮوﺟﯽ‬‫اﯾﻦ‬‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫ﮔﺎم‬‫ﮔﺮوﻫ‬ ‫ﻫﺮ‬ ‫ﺑﺮای‬ ‫ﮐﻪ‬ ‫دﻫﺪ‬‫ﻣﺸـﺎﺑﻪ‬ ‫ﻣﻘـﺪارﻫﺎی‬ ‫ﺗﻮﺳـﻂ‬ ‫ﮐﻪ‬ ‫ﯽ‬‫ﻣﺘﻐﯿـﺮ‬region‫ﻣـﯽ‬ ‫ﺗﻌﺮﯾـﻒ‬،‫ﺷـﻮد‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﻣﻘﺪارﻫﺎی‬ ‫ﺑﺮای‬ ‫ﺟﻤﻊ‬revenue ‫و‬ expenses ‫ﭼﺎپ‬ ‫و‬ ‫ﻣﺤﺎﺳﺒﻪ‬‫اﺳﺖ‬ ‫ﺷﺪه‬. ‫ﺑﺮﭼﺴﺐ‬‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺮای‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬region‫و‬sper‫ﻋﺒـﺎرت‬ ‫در‬LABEL‫ﮔـ‬ ‫در‬‫ﺎم‬DATA‫ﺷـﺪه‬ ‫ﺗﻌﺮﯾـﻒ‬‫در‬ ‫اﻧـﺪ‬‫ﺧﺮوﺟـﯽ‬ ‫اوﻟﯿﻦ‬PROC  PRINT‫ﻧﺸﺪه‬ ‫ﻇﺎﻫﺮ‬‫اﻧﺪ‬.‫اﻣﺮ‬ ‫اﯾﻦ‬‫در‬ ‫ﻣﺘﻐﯿﺮی‬ ‫وﯾﮋﮔﯽ‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫دﻟﯿﻞ‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺑﺮﺧـﯽ‬ ‫در‬ ‫ﮔﺎم‬‫ﻫﺎی‬PROC‫ﻧﻤﯽ‬ ‫ﮔﺮﻓﺘﻪ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬‫ﮐﺎر‬ ‫ﺗﻮﺳﻂ‬ ‫اﯾﻨﮑﻪ‬ ‫ﻣﮕﺮ‬ ‫ﺷﻮﻧﺪ‬‫ﮔﺰﯾﻨﻪ‬ ‫ﺑﺎ‬ ‫و‬ ‫ﺑﺮ‬‫ﺷـﻮﻧﺪ‬ ‫درﺧﻮاﺳـﺖ‬ ‫ای‬.‫ﮔﺰﯾﻨـﻪ‬‫ی‬LABEL‫در‬ PROC PRINT‫از‬ ‫دوم‬SAS‫ﻣ‬‫ﯽ‬‫ﺑﺮﭼﺴﺐ‬ ‫ﮐﻪ‬ ‫ﺧﻮاﻫﺪ‬‫ﺗﻌﺮﯾﻒ‬ ‫ﻫﺎی‬‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺮای‬ ‫ﺷﺪه‬region‫و‬sper‫ﮐﻨﺪ‬ ‫ﭼﺎپ‬ ‫را‬. ‫ـﺎم‬‫ـ‬‫ﮔ‬ ‫در‬PRINT‫ـﺎرت‬‫ـ‬‫ﻋﺒ‬ ‫دوم‬FORMAT expenses dollar10.2;‫ـﯽ‬‫ـ‬‫ﻣ‬ ‫ـﺒﺐ‬‫ـ‬‫ﺳ‬‫ـﺮ‬‫ـ‬‫ﻣﺘﻐﯿ‬ ‫ـﺪار‬‫ـ‬‫ﻣﻘ‬ ‫ـﻪ‬‫ـ‬‫ﮐ‬ ‫ـﻮد‬‫ـ‬‫ﺷ‬ expenses‫ﻓ‬ ‫ﺑﺎ‬‫ﻮ‬‫رﻣﺖ‬dollar10.2‫در‬‫ﺧﺮوﺟﯽ‬‫ﭼﺎپ‬‫ﺷﻮد‬.‫ﻧﻤـﺎد‬ ‫ﺷﺪن‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﻣﻮﺟﺐ‬ ‫ﻓﻮرﻣﺖ‬ ‫اﯾﻦ‬$‫ﻣﻘـﺪار‬ ‫از‬ ‫ﻗﺒـﻞ‬ ‫ﺷﺪن‬ ‫ﺟﺪا‬ ‫و‬ ‫ﻣﺘﻐﯿﺮ‬‫رﻗﻢ‬ ‫ﺳﻪ‬ ‫ﻫﺮ‬‫ﺳﻤﺖ‬ ‫از‬‫راﺳﺖ‬‫ﻣﯽ‬ ‫واوک‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬‫ﺷﻮد‬. ‫ﻋﺒﺎرت‬LABEL‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﻪ‬ ‫ﮔﺎم‬ ‫اﯾﻦ‬ ‫در‬ostan،month،revenue،‫و‬expenses‫ﺑﺮﭼﺴﺐ‬‫ﻣﺸﺨﺺ‬ ‫ﻫﺎی‬‫ﺷﺪه‬‫را‬ ‫آن‬‫ﭼﻨﺎن‬‫در‬ ‫ﮐﻪ‬‫ﺧﺮوﺟﯽ‬۱-۱۰‫ﻣﯽ‬ ‫ﻣﻨﺘﺴﺐ‬ ،‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫داده‬ ‫ﻧﺸﺎن‬‫ﮐﻨﺪ‬. ‫ﻋﺒﺎرت‬ID region ostan;‫ﺳﺘﻮن‬ ‫ﺷﺪن‬ ‫ﭼﺎپ‬ ‫از‬obs‫ﻣ‬ ‫ﭼﺎپ‬ ‫ﺧﻮدﮐﺎر‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﮐﻪ‬‫ﯽ‬‫ﮐـﺮده‬ ‫ﺟﻠﻮﮔﯿﺮی‬ ‫ﺷﻮد‬ ‫ﻣﻘﺪار‬ ‫و‬‫ﻣﺘﻐﯿﺮ‬‫ﻫﺎی‬region‫و‬ ،ostan‫ﻣﺸﺨﺺ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫را‬‫ﻣﺸﺎﻫﺪه‬ ‫ﺳﺎز‬‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫ﺑﺮد‬.
  • 53.
    ۵۳ ۱-۸-۳‫ﻓﻮرﻣﺖ‬ ‫اﯾﺠﺎد‬‫ﺷﯿﻮه‬ ‫از‬‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﺟﺪﯾﺪ‬ ‫ﻫﺎی‬‫ی‬FORMAT  ‫ﻓﻮرﻣﺖ‬ ‫اﯾﺠﺎد‬ ‫ﺑﺮای‬‫ﻣﯽ‬ ‫ﺧـﻮد‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻫﺎی‬‫ﺷـﯿﻮه‬ ‫از‬ ‫ﺗﻮاﻧﯿـﺪ‬‫ی‬FORMAT‫ﮐﻨﯿـﺪ‬ ‫اﺳـﺘﻔﺎده‬.‫ﺷـﯿﻮه‬ ‫اﯾـﻦ‬ ‫ﻋﻤـﻮﻣﯽ‬ ‫ﺷـﮑﻞ‬ ‫ﺑﻪ‬‫ﺻﻮرت‬‫اﺳﺖ‬ ‫زﯾﺮ‬: PROC FORMAT; VALUE name range-1 = 'formatted-text-1' range-2 = 'formatted-text-2' . . . range-n = 'formatted-text-2'; RUN; ‫داده‬ ‫ﺑﺮای‬ ‫ﻓﻮرﻣﺖ‬ ‫اﮔﺮ‬‫ﻧﻮﯾ‬ ‫ﻫﺎی‬‫ﺴﻪ‬‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬ ‫ای‬‫ﺑﺎ‬ ‫آن‬ ‫ﻧﺎم‬ ‫ﺑﺎﯾﺪ‬ ‫رود‬$‫ﺷﻮد‬ ‫آﻏﺎز‬.‫ﻫﺮ‬range‫ﻣـﻮرد‬ ‫ﻣﺘﻐﯿـﺮ‬ ‫از‬ ‫ﻣﻘـﺎدﯾﺮی‬ ‫ﻣﯽ‬ ‫ﻣﻨﺘﺴﺐ‬ ‫آن‬ ‫ﺑﻪ‬ ‫ﮔﯿﻮﻣﻪ‬ ‫داﺧﻞ‬ ‫ﻣﺘﻦ‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫ﻧﻈﺮ‬‫ﺷﻮد‬.‫ﻧﻤﻮﻧﻪ‬‫از‬ ‫ﻫﺎﯾﯽ‬range‫ﻣﯽ‬ ‫زﯾﺮ‬ ‫در‬ ‫را‬ ‫ﻣﻌﺘﺒﺮ‬ ‫ﻫﺎی‬‫ﺑﯿﻨﯿﺪ‬: 'A' = 'Asia' 1, 3, 5, 7, 9 = 'Odd' 500000 - HIGH = 'Not Affordable' 13 -< 20 = 'Teenager' 0 <- HIGH = 'Positive Non Zero' OTHER = 'Bad Data' ‫ﻣﺜﺎل‬:‫ﻓﻮرﻣﺖ‬ ‫زﯾﺮ‬ ‫دﺳﺘﻮرات‬‫آن‬ ‫و‬ ‫ﺳﺎﺧﺘﻪ‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻣﺘﻐﯿﺮﻫﺎی‬ ‫ﺑﺮای‬ ‫ﻫﺎﯾﯽ‬‫ﻣﯽ‬ ‫ﻗﺮار‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬ ‫را‬ ‫ﻫﺎ‬‫دﻫﺪ‬: DATA cars; INPUT Age Sex Income Color $; CARDS; 19 1 14000 Y 45 1 65000 G 72 2 35000 B 31 1 44000 Y 58 2 83000 W RUN; PROC FORMAT; VALUE gender 1 = 'Male' 2 = 'Female'; VALUE agegroup 13 -< 20 = 'Teen' 20 -< 65 = 'Adult' 65 - HIGH = 'Senior'; VALUE $col 'W' = 'Moon White' 'B' = 'Sky Blue'
  • 54.
    ۵۴ 'Y' = 'SunburstYellow' 'G' = 'Rain Cloud Gray'; RUN; PROC PRINT DATA = cars; FORMAT Sex gender. Age agegroup. Color $col. Income DOLLAR8.; RUN; Obs Age Sex Income Color 1 Teen Male $14,000 Sunburst Yellow 2 Adult Male $65,000 Rain Cloud Gray 3 Senior Female $35,000 Sky Blue 4 Adult Male $44,000 Sunburst Yellow 5 Adult Female $83,000 Moon White ۱-۹‫ﻋﺒﺎرت‬‫ﻣﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺟﺎی‬ ‫ﻫﺮ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫آﯾﻨﺪ‬ ‫ﻋﺒﺎرت‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫ی‬SAS‫ﻣﯽ‬‫ﮔﺎم‬ ‫در‬ ‫ﺑﺎﯾﺪ‬ ‫ﯾﺎ‬ ‫آﯾﻨﺪ‬DATA‫ﮔﺎم‬ ‫در‬ ‫ﯾﺎ‬ ‫و‬PROC‫ﺑﮕﯿﺮﻧﺪ‬ ‫ﻗﺮار‬.‫ﻋﺒﺎرت‬ ‫از‬ ‫ﺑﺮﺧﯽ‬‫ﻫﺎ‬ ‫ﮔﺎم‬ ‫در‬ ‫ﺗﻨﻬﺎ‬DATA‫ﮔﺎم‬ ‫در‬ ‫ﺗﻨﻬﺎ‬ ‫ﺑﺮﺧﯽ‬ ‫و‬ ‫ﻣﻌﺘﺒﺮﻧﺪ‬PROC. ‫ﻋﺒﺎرت‬ ‫اﮔﺮ‬‫ﮔﺎم‬ ‫اﯾﻦ‬ ‫درﺧﺎرج‬ ‫ﻫﺎ‬‫ﺑ‬ ،‫ﺑﮕﯿﺮﻧﺪ‬ ‫ﻗﺮار‬ ‫ﻫﺎ‬‫ﻋﺒﺎرت‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫ﻣﺜﺎل‬ ‫ﺮای‬RUN;‫ﻧﻤﯽ‬ ‫اﺟﺮا‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ،‫ﺷﻮﻧﺪ‬ ‫ﻧﻮﺷﺘﻪ‬‫ﺷﻮد‬ ‫و‬SAS‫ﭘﻨﺠﺮه‬ ‫در‬‫ی‬Log‫ﻣﯽ‬ ‫ﻣﺘﻮﻗـﻒ‬ ‫را‬ ‫ﭘـﺮدازش‬ ‫و‬ ‫ﮐـﺮده‬ ‫اﻋﻼم‬ ‫ﺧﻄﺎ‬ ‫ﻋﺒﺎرت‬ ‫اﯾﻦ‬ ‫در‬‫ﮐﻨـﺪ‬.‫در‬SAS‫ﻋﺒﺎرت‬ ‫ﺑﺮﺧـﯽ‬‫ﻫـﺎ‬ ‫ﻫﺴﺘﻨﺪ‬ ‫ﺳﺮاﺳﺮی‬.‫ﻋﺒﺎرت‬ ‫اﯾﻦ‬‫ﻣﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫از‬ ‫ﻗﺴﻤﺖ‬ ‫ﻫﺮ‬ ‫در‬ ‫ﻫﺎ‬‫ﮔﯿﺮﻧﺪ‬ ‫ﻗﺮار‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬ ‫ﺗﻮاﻧﻨﺪ‬.‫ﻣﻬﻢ‬‫ﻋﺒﺎرت‬ ‫اﯾﻦ‬ ‫ﺗﺮﯾﻦ‬‫ﻫﺎ‬ ‫ﻋﺒﺎرت‬‫از‬ ‫اﻧﺪ‬:TITLE،FOOTNOTE،OPTIPONS‫و‬ ،GOPTIONS. ۱-۹-۱‫ﻋﺒﺎرت‬TITLE ‫ﻋﺒﺎرت‬TITLE‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺑﻪ‬‫ﻣﯽ‬ ‫را‬ ‫اﻣﮑﺎن‬ ‫اﯾﻦ‬ ‫ﻧﻮﯾﺲ‬‫ﺑﻪ‬ ‫ﮐﻪ‬ ‫دﻫﺪ‬‫ﻋﻨﻮان‬ ‫ﯾﺎ‬ ‫و‬ ‫ﻋﻨﻮان‬ ‫ﺗﻮاﻧﺪ‬‫در‬ ‫را‬ ‫ﺧﻮد‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻫﺎی‬‫ﺧﺮوﺟﯽ‬ ‫ﮐﻨﺪ‬ ‫ﺗﻌﯿﯿﻦ‬ ‫ﺑﺮﻧﺎﻣﻪ‬.‫ﺑﺮﻧﺎﻣﻪ‬‫ﻣﯽ‬ ‫ﻧﻮﯾﺲ‬‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬ ‫ﺗﻮاﻧﺪ‬TITLEn ' '‫ﮐﻪ‬n‫از‬ ‫ﻋﺪد‬ ‫ﯾﮏ‬۱‫ﺗﺎ‬۱۰‫ﺣﺪاﮐﺜﺮ‬ ‫اﺳﺖ‬۱۰‫ﻋﻨـﻮان‬ ‫ﺑ‬‫ﺮای‬‫ﺧﺮوﺟﯽ‬‫ﺑﻨﻮﯾﺴﺪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬.‫در‬ ‫ﻋﻨﻮان‬ ‫ﻣﺤﺘﻮای‬'  '‫ﻣﯽ‬ ‫ﻗﺮار‬‫ﮔﯿﺮد‬.‫اﮔﺮ‬n‫ﻋﺒﺎرت‬ ‫از‬TITLEn،‫ﺷﻮد‬ ‫ﺣﺬف‬SAS‫آن‬‫را‬ ۱‫ﻣﯽ‬ ‫ﻓﺮض‬‫ﮐﻨﺪ‬.‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﮔﺮ‬‫ﻋﺒﺎرت‬ ‫از‬ ‫ﻧﻮﯾﺲ‬ TITLE‫ﺑﺮای‬ ‫را‬ ‫ﻋﻨﻮاﻧﯽ‬ ‫و‬ ‫ﮐﺮده‬ ‫اﺳﺘﻔﺎده‬‫ﺧﺮوﺟﯽ‬‫ﺑﻪ‬‫ﻋﻨـﻮان‬ ‫اﯾـﻦ‬ ،‫ﻧﻮﯾﺴﺪ‬ ‫ﺻﻔﺤﻪ‬ ‫ﺗﻤﺎم‬ ‫در‬‫ﻫﺎی‬‫ﺧﺮوﺟﯽ‬‫آو‬‫ﻣﯽ‬ ‫رده‬‫ﺷـﻮد‬.‫ﺻـﻮرﺗﯽ‬ ‫در‬‫دﯾﮕـﺮی‬ ‫ﻋﻨـﻮان‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫از‬ ‫ﻗﺴـﻤﺘﯽ‬ ‫در‬ ‫ﺑﺎﺷـﺪ‬ ‫ﻣﺎﯾـﻞ‬ ‫ﮐـﺎرﺑﺮ‬ ‫ﮐﻪ‬
  • 55.
    ۵۵ ‫ﻋﺒﺎرت‬ ‫از‬ ‫ﺑﺎﯾﺪ‬‫ﺷﻮد‬ ‫ﻧﻮﺷﺘﻪ‬TITLEn‫ﮐﻨـﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺟﺪﯾﺪی‬.‫ﺧﻮاﻫـﺪ‬ ‫ﺑـﻪ‬ ‫ﮐـﺎرﺑﺮ‬ ‫ﮐـﻪ‬ ‫ﺻـﻮرﺗﯽ‬ ‫در‬‫از‬ ‫ﻗﺴـﻤﺘﯽ‬ ‫در‬‫ﺧﺮوﺟـﯽ‬ ‫ﻣﯽ‬ ‫ﺷﻮد‬ ‫ﺣﺬف‬ ‫ﻋﻨﻮان‬ ‫ﺑﺮﻧﺎﻣﻪ‬‫ﻋﺒﺎرت‬ ‫از‬ ‫ﺗﻮاﻧﺪ‬TITLEn ' ' ;‫ﮐﻨﺪ‬ ‫اﺳﺘﻔﺎده‬. ۱-۹-۲‫ﻋﺒﺎرت‬FOOTNOTE ‫اﯾﻦ‬‫ﮐﺎرﺑﺮ‬ ‫ﺑﻪ‬ ‫را‬ ‫ﭘﺎﻧﻮﯾﺴﯽ‬ ‫اﻣﮑﺎن‬ ‫ﻋﺒﺎرت‬SAS‫ﻣﯽ‬‫دﻫـﺪ‬.‫ﻋﺒـﺎرت‬ ‫اﯾـﻦ‬ ‫ﮐﻠـﯽ‬ ‫ﺷـﮑﻞ‬FOOTNOTEn ' ';‫اﺳـﺖ‬.‫اﯾـﻦ‬ ‫در‬ ‫ﻋﺒﺎرت‬n‫ﭘﺎﻧﻮﯾﺲ‬ ‫ﺗﻌﺪاد‬‫ﻣﯽ‬ ‫و‬ ‫اﺳﺖ‬ ‫ﻫﺎ‬‫ﻣﻘﺪار‬ ‫ﺗﻮاﻧﺪ‬۱‫ﺗﺎ‬۱۰‫ﺑﮕﯿﺮد‬.‫در‬ ‫ﭘﺎﻧﻮﯾﺲ‬ ‫ﻣﺤﺘﻮای‬'  ' ‫ﻣﯽ‬ ‫ﻧﻮﺷﺘﻪ‬‫ﺷﻮد‬. ۱-۹-۳‫ﻋﺒﺎرت‬OPTIONS ‫ﺳﺎﻣﺎﻧﻪ‬‫ی‬SAS‫ﺗﻨﻈﯿﻢ‬‫ﻣﺤ‬ ‫وارد‬ ‫ﮐﺎرﺑﺮ‬ ‫وﻗﺘﯽ‬ ‫ﮐﻪ‬ ‫دارد‬ ‫ﻫﺎﯾﯽ‬‫ﯿﻂ‬SAS‫ﻣﯽ‬‫ﺷﻮد‬‫آن‬‫ﻣﯽ‬ ‫ﻓﻌﺎل‬ ‫ﻫﺎ‬‫ﺷـﻮﻧﺪ‬.‫ﻣﺤـﯿﻂ‬ ‫ﻣﺜـﺎل‬ ‫ﺑـﺮای‬ SAS‫در‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺗﻨﻈﯿﻢ‬ ‫ﮔﻮﻧﻪ‬ ‫اﯾﻦ‬‫ﺧﺮوﺟﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺗﺎرﯾﺦ‬ ‫ﻫﺎ‬‫ا‬‫ﺻـﻔﺤﻪ‬ ‫ﻫﺮ‬ ‫در‬ ،‫ﺻﻔﺤﻪ‬ ‫ﻣﺴﻠﺴﻞ‬ ‫ﺷﻤﺎره‬ ،‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺟﺮای‬ ۶۰‫ﺳﻄﺮ‬ ‫ﻫﺮ‬ ‫در‬ ‫و‬ ‫ﺳﻄﺮ‬۸۰‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫ﻗﺮار‬ ‫ﺳﺘﻮن‬.‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﮔﺮ‬‫ﺻﻔﺤﻪ‬ ‫ﮐﻨﺪ‬ ‫اﺟﺮا‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﭼﻨﺪ‬ ‫ﻧﻮﯾﺲ‬‫ﻫﺎی‬‫ﺧﺮوﺟـﯽ‬‫ﺑـﻪ‬ ‫ﭘﯿﺎﭘﯽ‬ ‫ﺻﻮرت‬‫ﻣﯽ‬ ‫داده‬ ‫ﺷﻤﺎره‬‫ﺷﻮد‬.‫ﺷـﻤﺎره‬ ،‫ﺑﺮﻧﺎﻣـﻪ‬ ‫اﺟـﺮای‬ ‫ﻫـﺮ‬ ‫در‬ ‫دﯾﮕـﺮ‬ ‫ﻋﺒـﺎرت‬ ‫ﺑﻪ‬‫ﺻـﻔﺤﻪ‬ ‫ی‬‫ﺧﺮوﺟـﯽ‬‫از‬۱‫ﺷـﺮوع‬ ‫ﻧﻤﯽ‬‫ﺷﻮد‬.‫ﻋﺒﺎرت‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﮐﺎرﺑﺮ‬OPTIONS‫ﻣﯽ‬‫ﺗﻨﻈﯿﻢ‬ ‫اﯾـﻦ‬ ‫ﻣﻮﻗـﺖ‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ ‫ﺗﻮاﻧﺪ‬‫دﻫـﺪ‬ ‫ﺗﻐﯿﯿـﺮ‬ ‫را‬ ‫ﻫـﺎ‬.‫ﻣـﻮﻗﺘﯽ‬ ‫ﺗﻨﻈﯿﻢ‬ ‫ﺑﻮدن‬‫ﻣﺤـﯿﻂ‬ ‫از‬ ‫ﮐـﺎرﺑﺮ‬ ‫وﻗﺘـﯽ‬ ‫ﮐـﻪ‬ ‫اﺳﺖ‬ ‫ﻣﻌﻨﺎ‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬SAS‫ﻣﯽ‬ ‫ﺧـﺎرج‬‫ﺗﻨﻈـﯿﻢ‬ ،‫ﺷـﻮد‬‫ﺑـﺎز‬ ‫اوﻟﯿـﻪ‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ ‫ﻫـﺎ‬ ‫ﻣﯽ‬‫ﮔﺮدﻧﺪ‬.‫ﻋﺒﺎرت‬ ‫ﮐﻠﯽ‬ ‫ﺷﮑﻞ‬OPTIONS‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬. OPTIONS ‫ﮔﺰﯾﻨﻪ‬‫ﻫﺎ‬ ; ‫ﮔﺰﯾﻨﻪ‬ ،‫ﺑﺎﻻ‬ ‫ﻋﺒﺎرت‬ ‫در‬‫ﻣﺤﯿﻂ‬ ‫ﻫﺎ‬SAS‫ﻣﯽ‬ ‫ﺗﻨﻈﯿﻢ‬ ‫را‬‫ﮐﻨﻨﺪ‬. ‫ﻣﺜﺎل‬۱-۲۰ OPTIONS NODATE PAGENO=1 PS=65 LS=85; ‫ﺑﺎﻻ‬ ‫ﻋﺒﺎرت‬ ‫در‬‫ﮔﺰﯾﻨﻪ‬‫ی‬NODATE‫ﺑﻪ‬SAS‫ﻣﯽ‬‫اﺟـﺮای‬ ‫ﺗـﺎرﯾﺦ‬ ‫ﻧﯿﺴـﺖ‬ ‫ﻻزم‬ ‫ﮐـﻪ‬ ‫ﮔﻮﯾﺪ‬‫در‬ ‫ﺑﺮﻧﺎﻣـﻪ‬‫ﺧﺮوﺟـﯽ‬‫ﺷـﻮد‬ ‫ﭼـﺎپ‬. ‫ﮔﺰﯾﻨﻪ‬‫ی‬PAGENO=1‫از‬SAS‫ﻣﯽ‬‫ﮐﻪ‬ ‫ﺧﻮاﻫﺪ‬‫ﺧﺮوﺟﯽ‬‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻫـﺮ‬‫ﻣﯽ‬ ‫اﺟـﺮا‬ ‫ﮐـﻪ‬ ‫ای‬‫ﺷـﻤﺎره‬ ‫از‬ ،‫ﺷـﻮد‬‫ی‬۱‫ﺷـﻮد‬ ‫ﺷـﺮوع‬. ‫ﮔﺰﯾﻨﻪ‬‫ﻫﺎی‬PS=65‫و‬LS=85‫ﮐﻮﺗﻪ‬ ‫ﮐﻪ‬‫ﻧﻮﺷﺘﻪ‬‫ی‬PAGE SIZE=‫و‬LINE SIZE=‫از‬ ‫ﺗﺮﺗﯿﺐ‬ ‫ﺑﻪ‬ ‫ﻫﺴﺘﻨﺪ‬SAS‫ﻣﯽ‬‫ﮐـﻪ‬ ‫ﺧﻮاﻫﻨﺪ‬ ‫ﺻﻔﺤﻪ‬ ‫ﻫﺮ‬‫ی‬‫ﺧﺮوﺟﯽ‬۶۵‫ﺳﻄﺮ‬ ‫ﻫﺮ‬ ‫و‬ ‫ﺳﻄﺮ‬‫ﺧﺮوﺟﯽ‬‫ﺷﺎﻣﻞ‬۸۵‫ﺑﺎﺷﺪ‬ ‫ﺳﺘﻮن‬. ۱-۹-۴‫ﻋﺒﺎرت‬GOPTIONS
  • 56.
    ۵۶ ‫ﻫﻨﮕﺎﻣﯽ‬‫داده‬ ‫ﺗﺤﻠﯿﻞ‬ ‫ﻣﻨﻈﻮر‬‫ﺑﻪ‬ ‫ﮐﺎرﺑﺮ‬ ‫ﮐﻪ‬‫ﻣﯽ‬ ‫ﺗﻘﺎﺿﺎ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬ ‫را‬ ‫ﻧﻤﻮدارﻫﺎﯾﯽ‬ ،‫ﻫﺎ‬‫ﻣﯽ‬ ،‫ﮐﻨﺪ‬‫ﻋﺒـﺎرت‬ ‫اﯾـﻦ‬ ‫ﺑـﺎ‬ ‫ﺗﻮاﻧـﺪ‬‫ﭘﻨﺠـﺮه‬ ‫ﻧﻤﻮداری‬SAS‫ﮐﻨﺪ‬ ‫ﺗﻨﻈﯿﻢ‬ ‫را‬.‫داد‬ ‫اﮐﺘﺸـﺎﻓﯽ‬ ‫ﺗﺤﻠﯿﻞ‬ ‫ﮐﻪ‬ ‫دوم‬ ‫ﻓﺼﻞ‬ ‫در‬ ‫ﻋﺒﺎرت‬ ‫اﯾﻦ‬‫ﻣﯽ‬ ‫ﺗﺸـﺮﯾﺢ‬ ‫ﻫـﺎ‬‫ﺧﻮاﻫـﺪ‬ ‫ﻣﻌﺮﻓـﯽ‬ ‫ﺷـﻮد‬ ‫ﺷﺪ‬. ۱-۱۰‫ﻣﺪﯾﺮ‬‫ﯾﺖ‬‫ﺧﺮوﺟﯽ‬‫ﻫﺎ‬‫ی‬SAS ‫ﺧﺮوﺟﯽ‬‫ﻫﺎ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ی‬‫ﻫﺎی‬SAS‫ﻣﯽ‬ ‫را‬‫ﺗﻮان‬‫ﺣﻤﻞ‬ ‫ﻧﻈﺎم‬ ‫ﺑﺎ‬ ‫را‬‫ﺧﺮوﺟـﯽ‬( ۳ ODS)‫ﮐـﺮد‬ ‫ﮐﻨﺘـﺮل‬.‫ﻧﻈـ‬‫ﺎم‬‫ﺣﻤـﻞ‬‫ﺧﺮوﺟﯽ‬‫ﻫـﺎ‬‫ی‬ SAS‫ﻣﯽ‬ ‫ﮐﺎرﺑﺮ‬ ‫ﺑﻪ‬ ‫را‬ ‫اﻣﮑﺎن‬ ‫اﯾﻦ‬‫ﺗﺎ‬ ‫دﻫﺪ‬‫ﺧﺮوﺟﯽ‬‫ﻫﺎ‬‫ی‬SAS‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫ﮐﻨـﺪ‬ ‫ذﺧﯿـﺮه‬.‫اﯾـﻦ‬ ‫ﻣﯽ‬ ‫اﺟﺎزه‬ ‫ﮐﺎرﺑﺮ‬ ‫ﺑﻪ‬ ‫ﻧﻈﺎم‬‫ﻧﺘﯿﺠﻪ‬ ‫ﺗﺎ‬ ‫دﻫﺪ‬‫ﭘﺮدازش‬ ‫ﻫﺎی‬‫داده‬‫ﺑﺎ‬ ‫ﻫﺎ‬‫ﮔﺎم‬PROC‫ﺣﺎﺻﻞ‬ ‫ﯾﺎ‬‫از‬‫ﮔﺎم‬DATA‫زﯾـﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ ‫ﮐﻨﺪ‬ ‫درﺧﻮاﺳﺖ‬. ۱-LISTING:‫ﺧﺮوﺟﯽ‬‫ﻣﻌﻤﻮﻟ‬ ‫ﻣﺘﻨﯽ‬‫ﯽ‬‫ﺑﺎ‬‫ﻗﻠﻢ‬monospace. ۲-٤ RTF:‫ﺧﺮوﺟﯽ‬‫ﻣﯽ‬ ‫را‬‫ﭘﺮدازش‬ ‫ﺑﺎ‬ ‫ﺗﻮان‬‫ﮔﺮ‬Word‫ﺧﻮاﻧﺪ‬.  ۳-PRINTER:‫ﭼﺎﭘﮕﺮی‬ ‫ﻓﺎﯾﻞ‬.  ۴-٥ HTML:‫ﺻﻔﺤﻪ‬ ‫و‬ ‫ﻣﺤﺘﻮا‬‫ﻫﺎی‬‫ﺧﺮوﺟﯽ‬‫در‬‫ون‬‫ﻣﯽ‬ ‫ﻗﺮار‬ ‫ﺟﺪول‬ ‫و‬ ‫ﻗﺎﻟﺐ‬‫ﮔﯿﺮد‬.  ۵-٦ PDF:‫ﺧﺮ‬‫وﺟﯽ‬‫ﻓﻮرﻣﺖ‬ ‫ﺑﻪ‬pdf‫ﻣﯽ‬ ‫ﺗﺒﺪﯾﻞ‬‫ﺷﻮد‬.  ۶-OUTPUT:‫ﺧﺮوﺟﯽ‬‫داده‬ ‫ﻓﺎﯾﻞ‬ ‫ﯾﮏ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ای‬‫اراﺋﻪ‬‫ﻣﯽ‬‫ﺷﻮد‬.  ۱-۱۰-۱LISTING ‫ﭘﯿﺶ‬‫ﻓﺮض‬SAS‫ﻣﻘﺼﺪ‬ ‫ﺑﻮدن‬ ‫ﺑﺎز‬LISTING‫اﺳﺖ‬ ‫ﻣﻘﺼﺪﻫﺎ‬ ‫ﺳﺎﯾﺮ‬ ‫ﺑﻮدن‬ ‫ﺑﺴﺘﻪ‬ ‫و‬.‫ﻧﺘﯿﺠـﻪ‬ ،‫ﺣﺎﻟـﺖ‬ ‫اﯾﻦ‬ ‫در‬‫ﭘـﺮدازش‬ ‫ﻫـﺎی‬ ‫داده‬‫ﻣﯽ‬ ‫ﻋﺮﺿﻪ‬ ‫ﻣﻌﻤﻮﻟﯽ‬ ‫ﻣﺘﻨﯽ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫ﺷﻮﻧﺪ‬.‫ﻋﺒ‬ ‫اﺟﺮای‬ ‫ﺑﺎ‬ ‫ﻣﻘﺼﺪ‬ ‫اﯾﻦ‬‫ﻣﯽ‬ ‫ﺑﺴﺘﻪ‬ ‫زﯾﺮ‬ ‫ﺎرت‬‫ﺷﻮد‬. ODS LISTING CLOSE; ‫ﻣﻘ‬ ‫اﯾـﻦ‬‫ﻋﺒـﺎرت‬ ‫اﺟـﺮای‬ ‫ﺑـﺎ‬ ‫ﺼـﺪ‬ODS LISTING;‫ﻣـﯽ‬ ‫ﺑـﺎز‬ ‫دوﺑـﺎره‬‫ﺷـﻮد‬.،‫وﯾﻨـﺪوز‬ ‫ﻣﺤـﯿﻂ‬ ‫در‬‫ﻣﻘﺼـﺪ‬ ‫ﻣﺤﺘـﻮای‬ LISTING‫ﻣﯽ‬ ‫را‬‫ﮔﺰﯾﻨﻪ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﺗﻮان‬‫ﻫﺎی‬ile"F"‫و‬"ve As …aS"‫ﮐﺮد‬ ‫ذﺧﯿﺮه‬.                                                              3 Output Delivery System 4 Rich Text Format  5 Hyper Text Markup Language  6 Portable Document Format 
  • 57.
    ۵۷ ۱-۱۰-۲RTF ‫ذﺧﯿﺮه‬ ‫ﻓﺎﯾﻞ‬‫ﺑﺨﺶ‬ ‫زﯾﺮ‬‫در‬ ‫ﺷﺪه‬۱-۱۳-۱‫ﻣﯽ‬ ‫را‬‫ﺑ‬ ‫ﺗﻮان‬‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺎ‬"ypetSave as "‫ﺻـﻮرت‬ ‫ﺑـﻪ‬RTF‫ﮐـﺮد‬ ‫ذﺧﯿـﺮه‬. ‫ﻓ‬ ‫اﯾﻦ‬‫ﻮ‬‫ﻣﯽ‬ ‫را‬ ‫رﻣﺖ‬‫ﭘﺮدازش‬ ‫در‬ ‫ﺗﻮان‬‫ﮔﺮ‬Word‫ﮐـﺮد‬ ‫وﯾـﺮاﯾﺶ‬.‫ﻓﺎﯾـﻞ‬RTF‫ﻧﺘﯿﺠـﻪ‬ ‫ﻧﮕﻬﺪاﺷـﺘﻦ‬ ‫ﺑـﺮای‬ ‫را‬،‫ﭘـﺮدازش‬ ‫ﻫـﺎی‬ ‫ﻣﯽ‬‫ﻋﺒﺎرت‬ ‫اﺟﺮای‬ ‫ﺑﺎ‬ ‫ﺗﻮان‬ ODS RTF FILE= ' ‫ﻓﺎﯾﻞ‬ ‫.ﻧﺎم‬rtf'; ‫ﻋﺒﺎرت‬ ‫اﺟﺮای‬ ‫ﺑﺎ‬ ‫و‬ ‫ﮐﺮد‬ ‫ﻓﻌﺎل‬ODS RTF CLOSE;‫آن‬‫ﺑﺴﺖ‬ ‫را‬. ۱-۱۰-۳PRINTER ‫ﻋﺒﺎرت‬ ‫اﺟﺮای‬;.٧ ps'‫ﻓﺎﯾـﻞ‬ ‫ﻧـﺎم‬'ODS PRINTER FILE= ‫ﻧﮕﻬﺪاﺷـﺘﻦ‬ ‫ﺑـﺮای‬ ‫ﭼـﺎﭘﮕﺮی‬ ‫ﻓﺎﯾـﻞ‬ ‫اﯾﺠـﺎد‬ ‫ﺳـﺒﺐ‬ ‫ﻧﺘﯿﺠﻪ‬‫ﻣﯽ‬ ‫ﭘﺮدازش‬ ‫ﻫﺎی‬‫ﺷﻮد‬.‫ﮔﺰﯾﻨﻪ‬‫ی‬ps‫ﻧﺘﯿﺠﻪ‬ ‫ارﺳﺎل‬ ‫ﻣﻮﺟﺐ‬‫ﺑﺎ‬ ‫ﭘﺮدازش‬ ‫ی‬‫ﻓﻮرﻣﺖ‬‫ﭘ‬‫ﺴـ‬‫ﺖ‬‫ﺑـ‬ ‫اﺳـﮑﺮﯾﭙﺖ‬‫ﻪ‬‫ﻓﺎﯾـﻞ‬.ps' ‫ﻓﺎﯾﻞ‬ ‫ﻧﺎم‬'‫ﻣﯽ‬‫ﺷﻮد‬.‫ﻋﺒﺎرت‬ ‫اﺟﺮای‬ODS PRINTER CLOSE;‫ﻣﯽ‬ ‫را‬ ‫ﻣﻘﺼﺪ‬ ‫اﯾﻦ‬‫ﺑﻨﺪد‬. ۱-۱۰-۴HTML ‫ﻋﺒـﺎرت‬ ‫اﺟـﺮای‬ODS HTML BODY='bodyfile.htm'‫اﺟـﺮای‬ ‫و‬ ‫ﺑـﺎز‬ ‫را‬ ‫ﻣﻘﺼـﺪ‬ ‫اﯾـﻦ‬ODS HTML CLOSE;‫را‬ ‫آن‬‫ﻣﯽ‬ ‫ﻣﺴﺪود‬‫ﮐﻨﺪ‬.‫ﻣﻘ‬ ‫اﯾﻦ‬ ‫ﺑﻮدن‬ ‫ﺑﺎز‬ ‫ﺻﻮرت‬ ‫در‬‫ﻧﺘﯿﺠﻪ‬ ،‫ﺼﺪ‬‫ﭘﺮدازش‬ ‫ﻫﺎی‬‫ﻫﺎ‬‫ﻓﺎﯾﻞ‬ ‫در‬.htm'‫ﻓﺎﯾﻞ‬ ‫ﻧﺎم‬' ‫ﻣﯽ‬ ‫ذﺧﯿﺮه‬‫ﺷﻮﻧﺪ‬. ۱-۱۰-۵PDF ‫ﻣﯽ‬ ‫ﮐﻪ‬ ‫دﯾﮕﺮی‬ ‫ﻓﺎﯾﻞ‬ ‫ﻧﻮع‬‫ﻧﺘﯿﺠﻪ‬ ‫ﺗﻮان‬‫ﭘﺮ‬ ‫ﻫﺎی‬‫دازش‬‫ﻫﺎی‬SAS‫ﻓﺎﯾﻞ‬ ،‫ﻧﮕﻬﺪاﺷﺖ‬ ‫آن‬ ‫در‬ ‫را‬PDF‫اﺳﺖ‬.‫ﻋﺒـﺎرت‬ ‫اﺟـﺮای‬ .pdf';‫ﻓﺎﯾﻞ‬ ‫ﻧﺎم‬'ODS PDF FILE= ‫را‬ ‫آن‬‫ﻧﺘﯿﺠﻪ‬ ‫ﺗﻤﺎم‬ ‫و‬ ‫ﮐﺮده‬ ‫ﺑﺎز‬‫ﻫﺎ‬‫ﭘﺮدازش‬ ‫ی‬‫ﻫﺎ‬‫ﮐﻪ‬ ‫وﻗﺘﯽ‬ ‫ﺗﺎ‬‫ﻣﺴﯿﺮ‬ ‫اﯾﻦ‬‫ﺑﺎ‬ ‫ﻋﺒﺎرت‬ODS PDF CLOSE;‫ﻣﯽ‬ ‫ﻧﮕﻬﺪاﺷﺘﻪ‬ ‫آن‬ ‫در‬ ‫اﺳﺖ‬ ‫ﻧﺸﺪه‬ ‫ﺑﺴﺘﻪ‬‫ﺷﻮد‬. ۱-۱۰-۶OUTPUT ‫ﻋﺒ‬ ‫در‬ ‫ﮔﺰﯾﻨﻪ‬ ‫اﯾﻦ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬‫ﺎرت‬ODS‫ﻣﯽ‬‫ﻧﺎم‬ ‫ﺗﻮان‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫ﺷـﺪه‬ ‫اﯾﺠـﺎد‬ ‫ﮐـﻪ‬ ‫ی‬‫داد‬ ‫ﺗﻐﯿﯿـﺮ‬ ‫را‬ ‫اﻧـﺪ‬. ‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﮐﺎر‬ ‫اﯾﻦ‬ ‫ﺑﺮای‬ ‫دﺳﺘﻮری‬ ‫ﺷﮑﻞ‬: ODS OUTPUT ‫ﻓﻌﻠﯽ‬ ‫ﻧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬=‫ﺟﺪﯾﺪ‬ ‫ﻧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬ ;                                                              7 Post‐Script 
  • 58.
    ۵۸ ‫ﻋﻤ‬ ،‫ﺷﻮد‬ ‫اﺟﺮا‬‫ﻋﺒﺎرت‬ ‫اﯾﻦ‬ ‫ﮐﻪ‬ ‫زﻣﺎﻧﯽ‬‫ﻣﯽ‬ ‫ﮐﺎﻣﻞ‬ ‫ﻞ‬‫ﻧﯿﺎز‬ ‫و‬ ‫ﺷﻮد‬‫ﺑﺴﺘﻦ‬ ‫ﺑﺮای‬ ‫ﻋﺒﺎرﺗﯽ‬ ‫ﺑﻪ‬‫ﻣﺴ‬‫ﯿﺮ‬‫ﻧﺪارد‬ ‫وﺟﻮد‬. ۱-۱۱‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺗﺒﺪﯾﻞ‬‫ی‬‫داده‬‫داده‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫ﻫﺎی‬SAS ‫داده‬ ‫ﺗﺤﻠﯿﻞ‬ ‫ﺑﺮای‬‫ﺷﯿﻮه‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬‫ﻫﺎ‬‫ی‬SAS‫داده‬ ‫ﺑﺎﯾﺪ‬ ‫اﺑﺘﺪا‬ ،‫ﻫﺎ‬‫در‬‫ﻫﺮ‬‫ﻗﺎﻟﺒﯽ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬ ‫ﻫﺴﺘﻨﺪ‬ ‫ﮐﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎی‬SAS‫ﺗﺒـﺪﯾﻞ‬ ‫ﺷﻮﻧﺪ‬.،‫ﻋﻼوه‬ ‫ﺑﻪ‬‫ﻻزم‬ ‫ﮔﺎﻫﯽ‬‫اﺳـﺖ‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﮐـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎی‬SAS‫ﺑـﻪ‬‫ﻗـﺎﻟﺒﯽ‬‫ﺗﺒـﺪﯾﻞ‬‫ﺳـﺎﯾﺮ‬ ‫ﮐـﻪ‬ ‫ﺷـﻮد‬‫ﻧﺮم‬‫ﻣﺜـﻞ‬ ‫اﻓﺰارﻫـﺎ‬ EXCEL،ACCESS،SPSS‫و‬ ،STATA‫ﺑﺘﻮاﻧﻨﺪ‬‫را‬ ‫آن‬‫ﭘ‬‫ﮐﻨﻨﺪ‬ ‫ﺮدازش‬.‫ﺷﯿﻮه‬‫ﻫﺎی‬IMPORT‫و‬EXPORT‫ﺗﺮﺗ‬ ‫ﺑﻪ‬‫ﯿ‬‫ﺑﺮای‬ ‫ﺐ‬ ‫داده‬ ‫ﺗﺒﺪﯾﻞ‬‫ﻫﺎ‬‫ی‬‫ﺳﺎﯾﺮ‬ ‫ﺑﺎ‬‫ﻗﺎﻟﺐ‬‫ﻫﺎ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫و‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫ﺳﺎﯾﺮ‬ ‫ﺑﻪ‬‫ﻗﺎﻟﺐ‬‫ﻫـﺎ‬‫ﺑـﻪ‬ ‫ﮐﺎر‬‫ﻣﯽ‬‫روﻧﺪ‬. ۱-۱۱-۱‫ﺷﯿﻮه‬‫ی‬IMPORT ‫ﺷ‬ ‫اﯾﻦ‬‫ﻣﯽ‬ ‫ﯿﻮه‬‫ﻓﺎﯾﻞ‬ ‫ﺗﻮاﻧﺪ‬‫داده‬ ‫ﻫﺎی‬‫ﺳﺎﺧ‬ ‫ﺑﺎ‬ ‫را‬ ‫ای‬‫ﺘ‬‫ﺑ‬ ‫وﯾﮋه‬ ‫ﺎرﻫﺎی‬‫ﺨﻮاﻧﺪ‬.‫ﻓﺎﯾﻞ‬ ‫اﯾﻦ‬‫ﻣﯽ‬ ‫ﻫﺎ‬‫در‬ ‫ﮐـﻪ‬ ‫ﺑﺎﺷـﻨﺪ‬ ‫ﻣﺘﻨـﯽ‬ ‫ﻓﺎﯾﻞ‬ ‫ﺗﻮاﻧﻨﺪ‬ ‫ﺟﺪاﮔﺮی‬ ‫ﺑﺎ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻣﻘﺪار‬ ‫آن‬)‫واوک‬ ‫ﻣﺜﻞ‬(‫ﺑﺎﺷﻨﺪ‬ ‫ﺷﺪه‬ ‫ﺟﺪا‬ ‫ﻫﻢ‬ ‫از‬‫داده‬ ‫ﻓﺎﯾـﻞ‬ ‫ﯾـﺎ‬‫ﻧﺮم‬ ‫ﺑـﺎ‬ ‫ﮐـﻪ‬ ‫ﺑﺎﺷـﻨﺪ‬ ‫ای‬‫دﯾﮕـﺮی‬ ‫اﻓـﺰار‬ ‫ﻣﺜﻞ‬EXCEL‫ﺑﺎﺷﻨﺪ‬ ‫ﺷﺪه‬ ‫ﺗﻮﻟﯿﺪ‬.‫ﻣﻘـ‬ ‫ﮐﻪ‬ ‫ﻣﺘﻨﯽ‬ ‫ﻓﺎﯾﻞ‬ ‫از‬ ‫ﻣﺜﺎﻟﯽ‬‫ﺟـﺪاﮔﺮ‬ ‫ﺑـﺎ‬ ‫ﻣﺘﻐﯿﺮﻫـﺎ‬ ‫ﺪار‬‫ﺷـﺪه‬ ‫ﺟـﺪا‬ ‫ﯾﮑـﺪﯾﮕﺮ‬ ‫از‬ ‫واوک‬،‫اﻧﺪ‬ ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﻫﺎی‬.‫اﺳﺖ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻧﺎم‬ ‫ﺷﺎﻣﻞ‬ ‫اول‬ ‫ﺳﻄﺮ‬. ‫ﻣﺜﺎل‬۱-۲۱‫ﻣﺠﻤﻮﻋﻪ‬ ‫از‬ ‫ﻣﺜﺎﻟﯽ‬‫داده‬ ‫ی‬‫ﺑﺎ‬ ‫ﻫﺎ‬‫ﻗﺎﻟﺐ‬‫ﻣﯽ‬ ‫دﯾﺪه‬ ‫زﯾﺮ‬ ‫در‬ ‫واوک‬ ‫ﺟﺪاﮔﺮ‬‫ﺷﻮد‬. id,age,gender,height,weight 01,21,F,175,63 02,20,F,170,55 03,22,M,172,62 04,24,F,180,70 05,27,M,177,71 06,19,M,167,66 07,23,F,160,53 08,18,M,181,77 09,25,F,175,70 10,20,M,171,69 ‫داده‬ ‫اﯾﻦ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺮای‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫ﺷﯿﻮه‬ ‫از‬‫ی‬IMPORT‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬ ‫زﯾﺮ‬‫ﺷﻮد‬. PROC IMPORT DATAFILE='‫ﺷﻮد‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺎﯾﺪ‬ ‫ﮐﻪ‬ ‫ﻓﺎﯾﻠﯽ‬ ‫آدرس‬' OUT= ‫داده‬ ‫ﻧﺎم‬‫ﺗﺒﺪﯾﻞ‬ ‫ﻫﺎی‬‫ﺷﺪه‬ DBMS= ‫ﻗﺎﻟﺐ‬‫ﺷﻮد‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺎﯾﺪ‬ ‫ﮐﻪ‬ ‫ﻓﺎﯾﻠﯽ‬ REPLACE; " ‫ﮔﺰﯾﻨﻪ‬‫ﺑﺮای‬ ‫ﻣﻨﺎﺳﺐ‬ ‫ی‬‫ﻗﺎﻟﺐ‬‫ﺷﻮد‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺎﯾﺪ‬ ‫ﮐﻪ‬ ‫ﻓﺎﯾﻠﯽ‬ " GETNAMES=YES;
  • 59.
    ۵۹ RUN; ‫ﻋﺒﺎرت‬ ‫در‬‫ﺑﺎﻻ‬ ‫ﻫﺎی‬ ‫ﻗﺎﻟــﺐ‬‫در‬‫ﺷــﻮد‬ ‫ﺗﺒــﺪﯾﻞ‬ ‫ﺑﺎﯾــﺪ‬ ‫ﮐــﻪ‬ ‫ﻓــﺎﯾﻠﯽ‬DBMS‫ﻣﯽ‬ ،‫ﺗﻮاﻧــﺪ‬  DLM)‫ﺟــﺪاﮔﺮ‬(،EXCEL)XLS(،ACCESS )‫ﻓﺎﯾﻞ‬‫ﻫﺎی‬MS ACCESS(،DTA)‫ﻓﺎﯾﻞ‬‫ﻫﺎی‬STATA(،SAV)‫ﻓﺎﯾﻞ‬‫ﻫﺎی‬SPSS(‫ﯾﺎ‬‫ﻗﺎﻟﺒﯽ‬‫ﺑﺎﺷﺪ‬ ‫دﯾﮕﺮ‬.  ‫ﮔﺰﯾﻨﻪ‬‫ی‬REPLACE‫از‬SAS‫ﻣﯽ‬‫داده‬ ‫ﻓﺎﯾﻞ‬ ‫اﮔﺮ‬ ‫ﺧﻮاﻫﺪ‬‫در‬ ‫ﮐﻪ‬ ‫ﻧﺎﻣﯽ‬ ‫ﺑﺎ‬ ‫ای‬OUT=‫وﺟـﻮد‬ ‫اﺳـﺖ‬ ‫ﺷـﺪه‬ ‫ﻣﺸﺨﺺ‬ ‫ﻣﯽ‬ ‫اﯾﺠﺎد‬ ‫ﮐﻪ‬ ‫ﻓﺎﯾﻠﯽ‬ ‫ﺑﺎ‬ ،‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬‫ﺷﻮد‬ ‫ﺟﺎﯾﮕﺰﯾﻦ‬ ‫ﺷﻮد‬.  ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻧﺎم‬‫داده‬ ‫ی‬‫ﺗﺒﺪﯾﻞ‬ ‫ﻫﺎی‬‫در‬ ‫ﺷﺪه‬OUT=‫ﻧﺎﻣﯽ‬ ،‫اﺳﺖ‬ ‫ﺑﺨﺸﯽ‬ ‫دو‬.‫و‬ ‫ﮐﺘﺎﺑﺨﺎﻧـﻪ‬ ‫ﻧـﺎم‬ ‫ﺷـﺎﻣﻞ‬ ‫اول‬ ‫ﺑﺨـﺶ‬ ‫ﻣﺠﻤﻮﻋ‬ ‫ﻧﺎم‬ ‫ﺷﺎﻣﻞ‬ ‫دوم‬ ‫ﺑﺨﺶ‬‫ﻪ‬‫داده‬ ‫ی‬‫اﺳﺖ‬ ‫ﻫﺎ‬.‫ﻣﺠﻤﻮﻋـﻪ‬ ،‫ﺷـﻮد‬ ‫ﺣﺬف‬ ‫اول‬ ‫ﺑﺨﺶ‬ ‫ﻧﺎم‬ ‫اﮔﺮ‬‫داده‬ ‫ی‬‫ﻫـﺎی‬SAS ‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬ ‫در‬‫ی‬WORK‫ﻣﯽ‬ ‫اﯾﺠﺎد‬‫ﺷﻮد‬.  »‫ﺑﺮای‬ ‫ﻣﻨﺎﺳﺐ‬ ‫ﻋﺒﺎرت‬‫ﻗﺎﻟﺐ‬‫ﺷـﻮد‬ ‫ﺗﺒـﺪﯾﻞ‬ ‫ﺑﺎﯾـﺪ‬ ‫ﮐﻪ‬ ‫ﻓﺎﯾﻠﯽ‬«‫ﻣﯽ‬‫ﺗﻮاﻧـﺪ‬DELIMITER‫اﮔـﺮ‬ ‫ﺑﺎﺷـﺪ‬‫ﻗﺎﻟـﺐ‬‫ﻓﺎﯾـﻞ‬ ‫ﺟﺪاﮔﺮﺑﺎﺷﺪ‬،‫ﯾﺎ‬; ‫ﻧﺎم‬SHEET= ‫اﮔﺮ‬ ‫ﺑﺎﺷﺪ‬‫ﻗﺎﻟﺐ‬‫ﻓﺎﯾﻞ‬EXCEL ‫ﺑﺎﺷﺪ‬.  ‫ﻋﺒﺎرت‬GETNAMES=YES;‫از‬SAS‫ﻣﯽ‬‫ﮐﻨـﺪ‬ ‫درﯾﺎﻓـﺖ‬ ‫اول‬ ‫ﺳـﻄﺮ‬ ‫از‬ ‫را‬ ‫ﻣﺘﻐﯿﺮﻫـﺎ‬ ‫ﻧـﺎم‬ ‫ﮐﻪ‬ ‫ﺧﻮاﻫﺪ‬.‫اﯾـﻦ‬ ‫اﮔـﺮ‬ ،‫ﺷﻮد‬ ‫ﺣﺬف‬ ‫ﻋﺒﺎرت‬SAS‫ﻧﺎم‬ ‫ﺗﺮﺗﯿﺐ‬ ‫ﺑﻪ‬‫ﻫﺎی‬var1،var2‫و‬ ،...‫ﻣﯽ‬ ‫ﻣﻨﺘﺴﺐ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﺑﻪ‬ ‫را‬‫ﮐﻨﺪ‬.  ‫ﻣﺜﺎل‬۱-۲۲‫ﺑﺮﻧﺎﻣﻪ‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫زﯾـﺮ‬ ‫ی‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬‫ﻓﻮرﻣـ‬ ‫ﺑـﺎ‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﺑـﻪ‬ ‫ﺗﺒـﺪﯾﻞ‬ ‫را‬ ‫واوک‬ ‫ﺟـﺪاﮔﺮ‬ ‫ﺖ‬‫داده‬ ‫ی‬‫ﻫـﺎی‬SAS ‫ﻣﯽ‬‫ﮐﻨﺪ‬.  PROC IMPORT DATAFILE='C:mydatafitness.dat' OUT=mydat.fitness DBMS=DLM REPLACE; DELIMITER=','; GETNAMES=YES; RUN; ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﯾﻦ‬ ‫اﺟﺮای‬،‫ﻣﺠﻤﻮﻋﻪ‬‫ی‬‫داده‬‫ﻫﺎی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬fitness‫ﮐﺘﺎ‬ ‫در‬ ‫را‬‫ﺑﺨﺎﻧﻪ‬‫ی‬mydat‫ﻣﯽ‬ ‫ذﺧﯿﺮه‬‫ﮐﻨﺪ‬. ‫ﻣﺜﺎل‬۱-۲۳‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﮐﻨﯿﺪ‬ ‫ﻓﺮض‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫ﻣﺜﺎل‬۱-۲۲‫در‬‫ﻗﺎﻟﺐ‬EXCEL2003‫ﺑﺎﺷـﺪ‬ ‫ﺷـﺪه‬ ‫ذﺧﯿﺮه‬.‫ﺑﺮﻧﺎﻣـﻪ‬‫زﯾـﺮ‬ ‫ی‬ ‫ﻓﺎﯾﻞ‬ ‫اﯾﻦ‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬ ،‫ﺧﻮاﻧﺪه‬ ‫را‬‫داده‬ ‫ی‬‫ﻫـﺎی‬SAS‫ﮐﺘﺎﺑﺨﺎﻧـﻪ‬ ‫در‬ ‫و‬ ‫ﮐـﺮده‬ ‫ﺗﺒـﺪﯾﻞ‬‫ی‬mydat‫ذﺧﯿـﺮه‬ ‫داﺋﻤـﯽ‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ ‫ﻣﯽ‬‫ﮐﻨﺪ‬. PROC IMPORT DATAFILE='C:mydatafitness.xls' OUT=mydat.fitness DBMS=EXCEL REPLACE;
  • 60.
    ۶۰ GETNAMES=YES; RUN; ‫ﻣﺜﺎل‬۱-۲۴‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﮐﻨﯿﺪ‬ ‫ﻓﺮض‬‫داده‬‫ی‬‫ﻣﺜﺎل‬ ‫ﻫﺎی‬۱-۲۲‫ﻗﺎﻟﺐ‬ ‫در‬MS ACCESS‫ﺑﺎﺷـﺪ‬ ‫ﺷﺪه‬ ‫ذﺧﯿﺮه‬.‫ﺑﺮﻧﺎﻣـﻪ‬‫زﯾـﺮ‬ ‫ی‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻓﺎﯾﻞ‬ ‫اﯾﻦ‬‫داده‬ ‫ی‬‫ی‬SAS‫ﻣﯽ‬ ‫ﺗﺒﺪﯾﻞ‬‫ﮐﻨﺪ‬. PROC IMPORT OUT=mydat.fitness DBMS=ACCESS REPLACE DATATABLE="Table1"; DATABASE="C:mydatafitness.mdb"; RUN; ۱-۱۱-۲‫ﺷﯿﻮه‬‫ی‬EXPORT ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺗﺒﺪﯾﻞ‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫داده‬ ‫ﻓﺎﯾﻞ‬ ‫ﺑﻪ‬‫ﻧﺮم‬ ‫ﺳﺎﯾﺮ‬ ‫ﺗﻮﺳﻂ‬ ‫ﺧﻮاﻧﺪن‬ ‫ﻗﺎﺑﻞ‬ ‫ﮐﻪ‬ ‫ای‬‫ﻣﺜﻞ‬ ‫اﻓﺰارﻫﺎ‬EXCEL‫ﺗﻮﺳﻂ‬ ،‫ﺑﺎﺷﺪ‬ ‫ﺷﯿﻮه‬‫ی‬EXPORT‫ﻣﯽ‬ ‫اﻧﺠﺎم‬‫ﺷﻮد‬.‫ﻧﺤﻮه‬‫اﺳﺘﻔﺎد‬ ‫ی‬‫از‬ ‫ه‬PROC EXPORT‫ﻣﺸـﺎﺑﻪ‬‫از‬ ‫اﺳـﺘﻔﺎده‬PROC IMPORT‫اﺳـﺖ‬. ‫ﻧﺤﻮه‬ ‫زﯾﺮ‬ ‫ﻣﺜﺎل‬‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﺷﯿﻮه‬ ‫اﯾﻦ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ی‬‫دﻫﺪ‬. ‫ﻣﺜﺎل‬۱-۲۵‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﮐﻨﯿﺪ‬ ‫ﻓﺮض‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫داﺋﻤ‬‫ﻧﺎم‬ ‫ﺑﻪ‬ ‫ﯽ‬fitness‫دارد‬ ‫وﺟﻮد‬.‫ﺑﺮﻧﺎﻣـﻪ‬‫ﻣﺠﻤﻮﻋـﻪ‬ ‫اﯾـﻦ‬ ‫زﯾـﺮ‬ ‫ی‬‫ی‬ ‫داده‬‫داده‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻫﺎ‬‫ﻫﺎﯾﯽ‬‫در‬‫ﻗﺎﻟﺐ‬EXCEL 2003‫ﮐﺮد‬ ‫ﺗﺒﺪﯾﻞ‬‫آدرس‬ ‫در‬ ‫و‬ ‫ه‬C:mydata‫ﻣﯽ‬ ‫ذﺧﯿﺮه‬‫ﮐﻨﺪ‬. PROC EXPORT DATA=fitness DBMS=EXCEL2003 OUTFILE='C:mydatafitness.xls' REPLACE; RUN; ۱-۱۱-۳‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺗﺒﺪﯾﻞ‬‫داده‬ ‫ی‬‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬‫ﻣﻨﻮﻫﺎ‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺗﺒﺪﯾﻞ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫در‬‫ﻗﺎﻟﺐ‬‫ﻫﺎی‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬ ‫ﺧﺎص‬‫داده‬ ‫ی‬‫ﻫﺎی‬SAS‫ﻣﯽ‬ ،‫ﺑﺮﻋﮑﺲ‬ ‫و‬‫ﻧـﻮار‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑـﺎ‬ ‫ﺗﻮاﻧـﺪ‬ ‫ﻣﻨﻮ‬‫ﺷـﻮد‬ ‫اﻧﺠـﺎم‬.‫ﺑـﺮای‬IMPORT‫ﯾـﺎ‬EXPORT‫ﻣﺠﻤﻮﻋـﻪ‬ ‫ﮐـﺮدن‬‫داده‬ ‫ی‬،‫ﻫـﺎ‬‫روی‬File‫در‬‫ﻣﻨـﻮ‬ ‫ﻧـﻮار‬‫و‬ ‫ﮐـﺮده‬ ‫ﮐﻠﯿـﮏ‬ ‫ﮔﺰﯾﻨﻪ‬‫ﻫﺎی‬Import Data‫ﯾﺎ‬Export Data‫ﮔﺰﯾﻨـﻪ‬ ،‫ﮐﺮده‬ ‫اﻧﺘﺨﺎب‬ ‫را‬‫ﺟﻌﺒـﻪ‬ ‫در‬ ‫ﻣﻨﺎﺳـﺐ‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫ﺑـﺎز‬ ‫ﮐـﻪ‬ ‫ﻫﺎﯾﯽ‬‫را‬ ‫ﺷـﻮد‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺗﺎ‬ ‫ﮐﻨﯿﺪ‬ ‫دﻧﺒﺎل‬‫داده‬ ‫ی‬‫دﻟﺨﻮا‬ ‫ﻫﺎی‬‫ﺷـﻮد‬ ‫اﯾﺠﺎد‬ ‫ه‬.‫ﮔﺰﯾﻨـﻪ‬ ‫و‬ ‫ﻧﻈـﺮ‬ ‫ﻣـﻮرد‬ ‫ﻗﺎﻟـﺐ‬ ‫اﻧﺘﺨـﺎب‬ ‫از‬ ‫ﭘـﺲ‬‫در‬ ‫ﻣﻨﺎﺳـﺐ‬ ‫ﻫﺎی‬ ‫ﭘﻨﺠﺮه‬ ‫آﺧﺮﯾﻦ‬‫ﻣﯽ‬ ‫ﺑـﺎز‬ ‫ﮐـﻪ‬ ‫ای‬‫ﻣﯽ‬ ‫ﺷـﻮد‬‫ﺑﺮﻧﺎﻣـﻪ‬ ‫دﺳـﺘﻮرات‬ ‫ﺑـﺮای‬ ‫ﻧـﺎﻣﯽ‬ ‫ﺗﻮاﻧﯿـﺪ‬‫ای‬SAS‫اﻧﺠﺎم‬ ‫ﻋﻤﻠﯿـﺎت‬ ‫ﺑـﺎ‬ ‫ﻣﺘﻨـﺎﻇﺮ‬‫ﺷـﺪه‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬ ‫را‬ ‫دﺳﺘﻮرات‬ ‫اﯾﻦ‬ ‫و‬ ‫ﮐﺮده‬ ‫اﻧﺘﺨﺎب‬‫دﻫﯿﺪ‬ ‫ﻗﺮار‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬ ‫ﺧﻮد‬ ‫ﻫﺎی‬. ۱-۱۲‫ﻣﺤﺎوره‬ ‫ﻣﺎﺗﺮﯾﺴﯽ‬ ‫زﺑﺎن‬‫ا‬‫ی‬SAS
  • 61.
    ۶۱ ‫ﻫﻤﺎن‬‫ﺑﺨـﺶ‬ ‫در‬ ‫ﮐـﻪ‬‫ﻃﻮر‬‫ﻧـﺮم‬ ،‫ﺷـﺪ‬ ‫ﮔﻔﺘـﻪ‬ ‫ﻗﺒـﻞ‬ ‫ﻫـﺎی‬‫اﻓـﺰار‬SAS‫ﺷـﯿﻮه‬ ‫دارای‬‫ﺑـﺎ‬ ‫ﮐـﺎر‬ ‫اﻣﮑـﺎن‬ ‫ﮐـﻪ‬ ‫اﺳـﺖ‬ ‫ﻣﺘﻌـﺪدی‬ ‫ﻫـﺎی‬ ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺗﺤﻠﯿﻞ‬ ‫و‬‫ﻣﯽ‬ ‫ﻓﺮاﻫﻢ‬ ‫را‬ ‫آﻣﺎری‬ ‫ﻣﺨﺘﻠﻒ‬ ‫ﻫﺎی‬‫ﮐﻨﻨﺪ‬.‫ﯾﮑ‬‫ﺷﯿﻮ‬ ‫از‬ ‫ﯽ‬‫ه‬‫ﻧـﺮم‬ ‫در‬ ‫ﻣﻔﯿـﺪ‬ ‫ﺑﺴﯿﺎر‬ ‫ﻫﺎی‬‫اﻓـﺰار‬SAS، ‫ﺷﯿﻮه‬‫ی‬IML ۸ ‫اﺳﺖ‬.‫ﺷﯿﻮه‬ ‫اﯾﻦ‬ ‫در‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫در‬‫و‬ ‫ﺷـﺪه‬ ‫ﻣﻌﺮﻓـﯽ‬ ‫اﺳـﮑﺎﻟﺮ‬ ‫ﯾـﺎ‬ ‫ﺑـﺮدار‬ ،‫ﻣـﺎﺗﺮﯾﺲ‬ ‫ﻗﺎﻟـﺐ‬ ‫ﻣﯽ‬ ‫را‬ ‫ﻣﺨﺘﻠﻔﯽ‬ ‫ﻣﺎﺗﺮﯾﺴﯽ‬ ‫ﻋﻤﻠﯿﺎت‬‫آن‬ ‫روی‬ ‫ﺑﺮ‬ ‫ﺗﻮان‬‫ﻫﺎ‬‫داد‬ ‫اﻧﺠﺎم‬. ‫ﺷﯿﻮه‬‫ی‬IML‫ﺑ‬‫ﻋﺒﺎرت‬ ‫ﺎ‬PROC  IML;‫ﺑﺎ‬ ‫و‬ ‫آﻏﺎز‬QUIT;‫ﻣ‬ ‫ﺧﺎﺗﻤﻪ‬‫ﯽ‬‫ﯾ‬‫ﺎﺑﺪ‬.،‫ﻋﺒﺎرت‬ ‫دو‬ ‫اﯾﻦ‬ ‫ﻣﺎﺑﯿﻦ‬‫ﻋﺒﺎرت‬‫ﻫﺎی‬‫ﺑﺮﻧﺎﻣﻪ‬‫ای‬ ‫ﻣﯽ‬ ‫ﻗﺮار‬‫ﮔﯿﺮ‬‫ﻧ‬‫ﺑﺎ‬ ‫آن‬ ‫ﺧﻂ‬ ‫ﻫﺮ‬ ‫ﮐﻪ‬ ‫ﺪ‬;‫ﻣﯽ‬ ‫ﭘﺎﯾﺎن‬‫ﯾﺎﺑﺪ‬.‫ﻋﺒﺎرت‬ ‫ﺑﺎ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫ای‬‫ﺗﻮان‬‫ﻣـﺎﺗﺮ‬‫ﯾ‬‫ﺲ‬‫ﺗﻌﺮ‬ ‫را‬ ‫ﻫـﺎ‬‫ﯾـ‬‫ﻒ‬‫و‬‫ﯾـ‬‫ﺎ‬‫ﯾـ‬‫ﮏ‬ ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﻓﺮاﺧﻮاﻧ‬ ‫را‬‫ﯽ‬‫ﺗﺒﺪﯾﻞ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺑﻪ‬ ‫و‬‫ﮐﺮد‬.‫ﻫﻤﭽﻨ‬‫ﯿ‬‫ﻦ‬‫ﻣﯽ‬‫ﺗﻮان‬‫از‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫و‬ ‫ﻫﺎ‬‫ﺗﺎﺑﻊ‬‫ﻫﺎی‬SAS‫ﺑـﺮا‬‫ی‬‫ﮐـ‬‫ﺎر‬ ‫ﻣﺎﺗﺮ‬ ‫ﺑﺎ‬‫ﯾ‬‫ﺲ‬‫داده‬‫ﻫﺎ‬‫اﺳﺘﻔﺎده‬‫ﮐﺮد‬. ۱-۱۲-۱‫ﺗﻌﺮ‬‫ﯾ‬‫ﻒ‬‫ﯾ‬‫ﮏ‬‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﺲ‬‫اﺳﮑﺎﻟﺮ‬ ‫ﯾﺎ‬ ‫ﺑﺮدار‬ ، ‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﺲ‬‫ﮔﻮﻧﻪ‬ ،‫ﻫﺎ‬‫ا‬‫ی‬‫ﻧﻤﺎ‬ ‫از‬‫ﯾ‬‫ﺶ‬‫داده‬‫ﻫﺴﺘﻨﺪ‬ ‫ﻫﺎ‬‫ﮐ‬‫دارا‬ ‫ﻪ‬‫ی‬‫ﻣ‬ ‫ﺳﺘﻮن‬ ‫و‬ ‫ﺳﻄﺮ‬‫ﯽ‬‫ﺑﺎﺷﻨﺪ‬‫ﮐـﻪ‬‫ﺳـﻄﺮ‬ ‫ﺗﻌـﺪاد‬‫ﻫﺎ‬‫ﺳـﺘﻮن‬ ‫و‬‫ﻫﺎ‬‫ﺑﻌـﺪ‬ ، ‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﻣ‬ ‫را‬ ‫ﺲ‬‫ﯽ‬‫ﺳﺎز‬‫د‬.‫ﻫﺮ‬‫ﯾ‬‫ﮏ‬‫ﻣﻮﻟﻔﻪ‬ ‫از‬‫ﻫﺎ‬‫ی‬‫ﯾ‬‫ﮏ‬‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﻣ‬ ‫ﺲ‬‫ﯽ‬‫ﻋﺪد‬ ‫ﺗﻮاﻧﺪ‬‫ی‬‫و‬‫ﯾ‬‫ﺎ‬‫ﻧﻮﯾﺴﻪ‬‫ای‬‫ﺑﺎﺷﺪ‬.‫ﻗﺎﻋﺪه‬‫ﻫﺎی‬‫ﺗﻌ‬‫ﯿﯿ‬‫ﻧـﺎم‬ ‫ﻦ‬ ‫ﯾ‬‫ﮏ‬‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﺲ‬‫ﮐ‬‫ﻣﺸﺎﺑﻪ‬ ‫ﺎﻣﻼ‬‫ﺑﺎ‬‫ﺗﻌ‬‫ﯿﯿ‬‫ﻧﺎم‬ ‫ﻦ‬‫ﯾ‬‫ﮏ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫در‬SAS‫ﻣ‬‫ﯽ‬‫ﺑﺎﺷﺪ‬‫ﮐ‬‫ﺑﺨﺶ‬ ‫در‬ ‫ﻪ‬۱-۳‫ﺷﺮح‬‫داد‬‫ه‬‫ﺷﺪ‬. ‫ﺑﺮا‬‫ی‬‫ﺗﻌﺮ‬‫ﯾ‬‫ﻒ‬‫ﯾ‬‫ﮏ‬‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﺲ‬‫ﺷﯿﻮه‬ ‫در‬‫ی‬IML‫ﻣﻮﻟﻔﻪ‬‫ﻫﺎ‬‫ی‬‫ﻣﺎﺗﺮ‬‫ﯾ‬‫داﺧﻞ‬ ‫ﺲ‬{ }،‫ﻧﻮﺷﺘﻪ‬‫ﻣﻮﻟﻔﻪ‬‫ﻫﺎ‬‫ی‬‫ﻫﻢ‬ ‫از‬ ‫ﻓﺎﺻﻠﻪ‬ ‫ﺑﺎ‬ ‫ﺳﻄﺮ‬ ‫ﻫﺮ‬ ‫ﺟﺪا‬‫ﺷﺪه‬‫ﺑ‬ ‫و‬‫ﯿ‬‫ﺳﻄﺮﻫﺎ‬ ‫ﻦ‬‫ﻧﯿﺰ‬‫از‬‫واوک‬‫اﺳﺘﻔﺎده‬‫ﻣﯽ‬‫ﺷﻮد‬.‫ﻣﺎﺗﺮ‬ ‫ﻣﺜﺎل‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬‫ﯾ‬‫ﺲ‬X، X               0 0 = 1 3 4 1 3 3 1 3×3 ‫ﯾ‬‫ﮏ‬‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﺲ‬3 × 3‫اﺳﺖ‬‫ﮐ‬‫ﺑﻪ‬ ‫ﻪ‬‫ز‬ ‫ﺻﻮرت‬‫ﯾ‬‫ﺮ‬‫ﺷﯿﻮه‬ ‫در‬‫ی‬IML‫ﺗﻌﺮ‬‫ﯾ‬‫ﻣ‬ ‫ﻒ‬‫ﯽ‬‫ﺷﻮد‬: PROC IML; RESET PRINT; X = {1 0 3, 4 1 3, 0 3 1}; QUIT;                                                              8 Interactive Matrix Language 
  • 62.
    ۶۲ ‫دﺳﺘﻮر‬RESET  PRINT;‫ﺷﯿﻮه‬ ‫اﺑﺘﺪای‬‫در‬ ‫ﮐﻪ‬‫ی‬IML‫ﻣﯽ‬‫ﻣﯽ‬ ‫ﺑﺎﻋﺚ‬ ،‫آﯾﺪ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺗﻤﺎم‬ ‫ﺷﻮد‬‫ﺷـﯿﻮه‬ ‫در‬ ‫ﺷـﺪه‬ ‫ﺗﻌﺮﯾـﻒ‬ ‫ﻫﺎی‬ ‫ﺷﻮ‬ ‫ﭼﺎپ‬‫ﻧ‬‫ﺪ‬.‫ﺻﻮرﺗﯽ‬ ‫در‬‫آن‬ ‫ﻫﻤﻪ‬ ‫ﭼﺎپ‬ ‫ﺑﻪ‬ ‫ﻣﺎﯾﻞ‬ ‫ﮐﻪ‬‫ﻧﺒﺎﺷﯿ‬ ‫ﻫﺎ‬‫ﻣـﯽ‬ ،‫ﻢ‬‫ﺗـﻮان‬‫دﺳـﺘﻮر‬ ‫از‬PRINT ‫ﺷـﯿﻮه‬ ‫داﺧـﻞ‬ ‫در‬‫ی‬IML‫ﺑـﻪ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻧﺎم‬ ‫و‬ ‫اﺳﺘﻔﺎده‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬‫ﻣ‬ ‫ﻫﺎی‬‫ﮐﺮد‬ ‫ذﮐﺮ‬ ‫آن‬ ‫ﻣﻘﺎﺑﻞ‬ ‫در‬ ‫را‬ ‫ﻧﻈﺮ‬ ‫ﻮرد‬. PROC IML; X = {1 0 3, 4 1 3, 0 3 1}; PRINT X; QUIT; ‫ﻧﮑﺘﻪ‬‫ی‬۱-۶‫ﻋﺒﺎرت‬QUIT;‫ﻣﯽ‬ ‫ﺳﺒﺐ‬‫ﮐﻪ‬ ‫ﺷﻮد‬SAS‫ﻣﺤـﯿﻂ‬ ‫از‬IML‫ﺧـﺎر‬‫ﺷـﻮد‬ ‫ج‬.‫ﺻـﻮرﺗﯽ‬ ‫در‬‫ﯾـﺎ‬ ‫و‬ ‫ﻋﺒـﺎرت‬ ‫اﯾـﻦ‬ ‫ﮐﻪ‬ ‫ﺷﯿﻮه‬‫ﻫﻢ‬ ‫ﮐﺎرﺑﺮ‬ ،‫ﻧﺸﻮد‬ ‫اﺟﺮا‬ ‫دﯾﮕﺮی‬ ‫ی‬‫ﻣﺤﯿﻂ‬ ‫در‬ ‫ﭼﻨﺎن‬IML‫ﻣﯽ‬ ‫ﺑﺎﻗﯽ‬‫ﻣﺎﻧﺪ‬. ‫ﺑﺮا‬‫ی‬‫ﻣﻌﺮﻓ‬‫ﯽ‬‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﺲ‬‫ﻣﻮﻟﻔﻪ‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬‫ﻫﺎ‬‫ی‬‫ﻧﻮﯾﺴﻪ‬‫ای‬‫ﻋﻤﻞ‬ ،‫ﺷﺪ‬ ‫ﮔﻔﺘﻪ‬ ‫آﻧﭽﻪ‬ ‫ﻣﺸﺎﺑﻪ‬‫ﻣﯽ‬‫ﺷﻮد‬‫ا‬ ‫ﺑﺎ‬‫ﯾ‬‫ﺗﻔﺎوت‬ ‫ﻦ‬‫ﮐ‬‫ﻣﻮﻟﻔـﻪ‬ ‫ﻫـﺮ‬ ‫اﮔﺮ‬ ‫ﻪ‬ ‫ﺑ‬ ‫را‬‫ﯿ‬‫ﻋﻼﻣﺖ‬ ‫ﻦ‬''‫ﻗﺮار‬‫ﻧﺸﻮد‬ ‫داده‬‫ﻣ‬ ‫ﭼﺎپ‬ ‫ﺑﺰرگ‬ ‫ﺣﺮوف‬ ‫ﺑﺎ‬ ،‫ﯽ‬‫ﺷﻮ‬‫د‬.‫ﺑﺮا‬‫ی‬‫ﻣﻮﻟﻔﻪ‬‫ﻫﺎ‬‫ی‬‫ﺧﺎﻟ‬‫ﯽ‬‫و‬ ‫و‬‫ﯾ‬‫ﮋه‬‫ﻧﯿﺰ‬‫ﺑﺎ‬‫ﯾ‬‫ﻋﻼﻣـﺖ‬ ‫از‬ ‫ﺪ‬ ''‫اﺳﺘﻔﺎده‬‫ﮐﺮد‬.‫ﻣﺜﺎل‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ PROC IML; X = {'a' 'b' 'c', 1 0 3, '' 1 3, 0 3 1}; PRINT X; QUIT; ‫ﺧﺮوﺟﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﺑﺎﻻ‬ ‫ی‬‫اﺳﺖ‬: X a b c 1 0 3 1 3 0 3 1
  • 63.
    ۶۳ ‫اﺳﺖ‬ ‫واﺿﺢ‬‫ﮐ‬‫ﻣﺎﺗﺮ‬ ‫ﺑﺮدار‬‫ﻪ‬‫ﯾ‬‫ﺴ‬‫ﯽ‬‫ﺳﻄﺮ‬ ‫ﺑﺎ‬‫ﯾ‬‫ﺳﺘﻮن‬ ‫ﺎ‬۱‫اﺳﺖ‬.‫ا‬ ‫ﺑﺮ‬ ‫ﺑﻨﺎ‬‫ﯾ‬‫ﺗﻌﺮ‬ ‫ﻦ‬‫ﯾ‬‫ﻧ‬ ‫ﺑﺮدار‬ ‫ﻒ‬‫ﯿ‬‫ﺰ‬‫ﮐ‬ً‫ﻼ‬‫ﺎﻣ‬‫ﺗﻌﺮ‬ ‫ﻣﺸﺎﺑﻪ‬‫ﯾ‬‫ﻣﺎﺗﺮ‬ ‫ﻒ‬‫ﯾ‬‫ﺲ‬ ‫اﺳﺖ‬.‫زﯾﺮ‬ ‫ﻣﺜﺎل‬ ‫در‬X‫و‬ ‫ﺳﻄﺮی‬ ‫ﺑﺮدار‬ ‫ﯾﮏ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬Y‫ﺳﺘﻮﻧﯽ‬ ‫ﺑﺮدار‬ ‫ﯾﮏ‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺗﻌﺮﯾﻒ‬. PROC IML; X = {1 2 3 4 5 6}; Y = {1, 2, 3, 4, 5}; PRINT X, Y; QUIT; ‫ﺧﺮوﺟﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬‫اﺳﺖ‬ ‫آﻣﺪه‬ ‫زﯾﺮ‬ ‫ﺷﮑﻞ‬ ‫در‬ ‫ﻓﻮق‬. X 1 2 3 4 5 6 Y 1 2 3 4 5 ‫ﺑﺮا‬‫ی‬‫ﺗﻌﺮ‬‫ﯾ‬‫ﻒ‬‫ﯾ‬‫ﮏ‬‫اﺳ‬ ‫ﻣﻘﺪار‬‫ﮑ‬‫ﻧ‬ ‫ﺎﻟﺮ‬‫ﯿ‬‫ﺎز‬‫ی‬‫ﻧﻤﺎد‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬{  }‫ﻧ‬‫ﯿ‬‫ﺴﺖ‬.‫ﺗﻨﻬﺎ‬‫ﮐ‬‫ﺎﻓ‬‫ﯽ‬‫ز‬ ‫ﻣﺜﺎل‬ ‫ﻣﺎﻧﻨﺪ‬ ‫اﺳﺖ‬‫ﯾـ‬‫ﻧـﺎﻣ‬ ‫آن‬ ‫ﺑـﻪ‬ ‫ﺮ‬‫ﯽ‬ ‫د‬ ‫اﺧﺘﺼﺎص‬‫ﻫ‬‫ﯿ‬‫ﺪ‬: PROC IML; K = 3; PRINT K; QUIT; ‫ﺑﺮا‬‫ی‬‫ا‬‫ﯾ‬‫ﻨ‬‫ﮑ‬‫ﻫﺮ‬ ‫ﻪ‬‫ﯾ‬‫ﮏ‬‫ﺳﻄﺮﻫﺎ‬ ‫از‬‫ﯾ‬‫ﺳﺘﻮن‬ ‫ﺎ‬‫ﻫﺎ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ی‬‫ﻧﺎﻣ‬‫ﯽ‬‫ﺑﺮا‬ ‫اﺑﺘﺪا‬ ،‫ﺑﺎﺷﻨﺪ‬ ‫داﺷﺘﻪ‬‫ی‬‫ﺳﻄﺮﻫﺎ‬‫ﯾ‬‫ﺳﺘﻮن‬ ‫ﺎ‬‫ﻫﺎ‬‫ی‬،‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻣﯽ‬‫ﺗﻮان‬‫ﻧﺎم‬‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻫﺎ‬‫ﺑﺮدار‬ ‫ﯾﮏ‬‫ﻣﺸﺨﺺ‬‫در‬ ‫آن‬ ‫از‬ ‫و‬‫دﺳـﺘﻮر‬ ‫در‬ ‫ﻧﻈـﺮ‬ ‫ﻣـﻮرد‬ ‫ﻣـﺎﺗﺮﯾﺲ‬ ‫ﭼـﺎپ‬ ‫زﻣﺎن‬PRINT‫ﺑـﻪ‬ ‫اﺳﺘﻔﺎده‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬‫ﮐﺮ‬‫د‬.
  • 64.
    ۶۴ PROC IML; X ={1 0 3, 4 1 3, 0 3 1}; Names = {A1, A2, A3}; PRINT X [ROWNAME = names]; QUIT; ‫ﺧﺮوﺟﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ی‬‫ﺑﺎﻻ‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬: X A1 1 0 3 A2 4 1 3 A3 0 3 1 ‫ﺷﮑﻞ‬۱-۱۱‫ﻧﺎم‬ ‫ﺳﻄﺮ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫از‬ ‫ﻧﻤﺎﯾﺸﯽ‬‫ﺷﺪه‬ ‫داده‬ ‫ـﻮاﻫ‬‫ـ‬‫ﺑﺨ‬ ‫ـﺮ‬‫ـ‬‫اﮔ‬‫ﯿ‬‫ـﺘﻮن‬‫ـ‬‫ﺳ‬ ‫ـﻪ‬‫ـ‬‫ﺑ‬ ،‫ﻢ‬‫ـﺎﻣ‬‫ـ‬‫ﻧ‬ ‫ـﺎ‬‫ـ‬‫ﻫ‬‫ﯽ‬‫ـﺎص‬‫ـ‬‫اﺧﺘﺼ‬‫ـﯿﻢ‬‫ـ‬‫دﻫ‬،‫ـﻪ‬‫ـ‬‫ﺑﺮﻧﺎﻣ‬ ‫در‬‫ـﺎﻻ‬‫ـ‬‫ﺑ‬ ‫ی‬‫ـﺎ‬‫ـ‬‫ﺟ‬ ‫ـﻪ‬‫ـ‬‫ﺑ‬‫ی‬ROWNAME‫ـﻪ‬‫ـ‬‫ﮔﺰﯾﻨ‬ ‫از‬ ‫ـﺪ‬‫ـ‬‫ﺑﺎﯾ‬‫ی‬ COLNAME‫اﺳﺘﻔﺎده‬‫ﮐﻨﯿﺪ‬. ‫ﻣﺜﺎل‬،‫ﺑﺎﻻ‬ ‫ﻫﺎی‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻣﻌﺮﻓﯽ‬ ‫روش‬‫داده‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬ ‫را‬ ‫ﻫﺎ‬‫ﻧ‬‫ﻣﯽ‬ ‫ﺸﺎن‬‫دﻫﺪ‬.‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﺎ‬ ‫ﮔﺎﻫﯽ‬‫داده‬ ‫ی‬‫ﺑـﺰرگ‬ ‫ﻫﺎی‬‫و‬ ‫ﺳـﺮ‬ ‫دارﯾ‬ ‫ﮐﺎر‬‫ﻢ‬‫روش‬ ‫ار‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﮐﻪ‬‫ﻣﻌﺮﻓﯽ‬ ‫ﻫﺎی‬‫ﺑﺨﺶ‬ ‫در‬ ‫ﺷﺪه‬‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬ ‫از‬ ‫ﯾﮑﯽ‬ ‫در‬ ‫ﻗﺒﻞ‬ ‫ﻫﺎی‬‫ﻫـﺎی‬SAS‫ﺷـﺪه‬ ‫ذﺧﯿـﺮه‬‫اﻧـﺪ‬. ‫ﺷﻤﺎ‬‫ﭘﺮدازش‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫اﯾﻦ‬‫داده‬ ‫ی‬‫آن‬ ‫ﺑﺎﯾﺪ‬ ‫ﻫﺎ‬‫ﺷﯿﻮه‬ ‫در‬ ‫را‬ ‫ﻫﺎ‬‫ی‬IML‫ﻓﺮاﺧﻮاﻧﯽ‬‫ﮐـﺮد‬.‫اﯾـﻦ‬ ‫ﺑـﺮای‬‫ﮐـﺎر‬‫ﻣﯽ‬‫ﺗـﻮان‬‫دﺳـﺘﻮر‬ ‫از‬ USE‫اﺳﺘﻔﺎده‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﮐﺮد‬. USE < ‫ﻧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬ > <VAR ‫ﻣﺘﻐ‬ ‫ﻧﺎم‬‫ﯿ‬‫ﺮﻫﺎ‬‫ﯾﯽ‬‫ﮐ‬‫ﻣ‬ ‫ﻪ‬‫ﯽ‬‫ﺧﻮاﻫ‬‫ﯿ‬‫ﻓﺮاﺧﻮاﻧ‬ ‫ﺪ‬‫ﯽ‬‫ﮐ‬‫ﻨ‬‫ﯿ‬‫ﺪ‬ > <WHERE ( ‫ﺷﺮﻃ‬ ‫ﻋﺒﺎرت‬‫ﯽ‬ )>; ‫ﺑﺨﺸﯽ‬ ‫دو‬ ‫ﻧﺎم‬ ‫درج‬ ‫از‬ ‫ﭘﺲ‬ ‫دﺳﺘﻮر‬ ‫اﯾﻦ‬ ‫در‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬)‫ﻧـﺎم‬ ‫و‬ ‫ﮐﺘﺎﺑﺨﺎﻧـﻪ‬ ‫ﻧـﺎم‬ ‫ﺷـﺎﻣﻞ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬(‫ﻧـﺎم‬ ، ‫ـﺖ‬‫ـ‬‫اﺳ‬ ‫ـﺮ‬‫ـ‬‫ﻧﻈ‬ ‫ـﻮرد‬‫ـ‬‫ﻣ‬ ‫ـﻪ‬‫ـ‬‫ﮐ‬ ‫ـﺎﯾﯽ‬‫ـ‬‫ﻣﺘﻐﯿﺮﻫ‬‫ﻣ‬ ‫وارد‬‫ﯽ‬‫ـﻮﻧﺪ‬‫ـ‬‫ﺷ‬.‫ـﺨﺺ‬‫ـ‬‫ﻣﺸ‬ ‫ـﺮی‬‫ـ‬‫ﻣﺘﻐﯿ‬ ‫ـﻪ‬‫ـ‬‫ﮐ‬ ‫ـﻮرﺗﯽ‬‫ـ‬‫ﺻ‬ ‫در‬‫ـﻮد‬‫ـ‬‫ﻧﺸ‬،SAS‫را‬ ‫ـﺎ‬‫ـ‬‫ﻣﺘﻐﯿﺮﻫ‬ ‫ـﺎم‬‫ـ‬‫ﺗﻤ‬ ‫ﻣﯽ‬ ‫ﻓﺮاﺧﻮاﻧﯽ‬‫ﮐﻨﺪ‬.‫ﻋﺒﺎرت‬ ‫از‬WHERE‫ﮐـﺮدن‬ ‫ﻣﺤـﺪود‬ ‫ﺑﺮای‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫اﺳـﺘﻔﺎده‬ ‫ﺷـﺮط‬ ‫ﯾـﮏ‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑـﺎ‬ ‫ﻣﯽ‬‫ﺷﻮد‬. ‫ﻣﺜﺎل‬۱-۲۶‫اﮔﺮ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬class‫ﮐـﻪ‬‫در‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧـﻪ‬Sashelp‫دارد‬ ‫وﺟـﻮد‬‫دﯾـﺪ‬ ‫ﺧﻮاﻫﯿـﺪ‬ ،‫ﮐﻨﯿـﺪ‬ ‫ﺑـﺎز‬ ‫را‬‫اﯾـﻦ‬ ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬،‫داﻧﺶ‬ ‫اﻃﻼﻋﺎت‬‫ﺷﺎﻣﻞ‬ ‫ﮐﻼس‬ ‫ﯾﮏ‬ ‫آﻣﻮزان‬‫ﭘﻨﺞ‬‫ﻣﺘﻐ‬‫ﯿـ‬‫ﺮ‬name،sex،age،height‫و‬weight‫را‬ ‫دارد‬ ‫ﺧﻮد‬ ‫در‬.‫ز‬ ‫دﺳﺘﻮر‬‫ﯾ‬‫ﺮ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎی‬class‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫را‬‫ﮐ‬‫ﻣ‬ ‫ﺎﻣﻞ‬‫ﯽ‬‫ﺧﻮاﻧﺪ‬:
  • 65.
    ۶۵ PROC IML; USE sashelp.class; SHOWCONTENTS; QUIT; ‫ﻋﺒﺎرت‬show  contents;‫اﻃﻼﻋ‬‫ﻣﺘﻐ‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﺎت‬‫ﯿ‬‫ﻣﺘﻐ‬ ‫ﻧﺎم‬ ‫ﺟﻤﻠﻪ‬ ‫از‬ ‫ﺮﻫﺎ‬‫ﯿ‬‫اﻧﺪازه‬ ‫و‬ ‫ﻧﻮع‬ ،‫ﺮﻫﺎ‬‫ی‬‫ﻫـﺮ‬‫ﮐـ‬‫را‬ ‫ﺪام‬‫ﻧﻤـﺎﯾﺶ‬ ‫ﻣ‬‫ﯽ‬‫دﻫﺪ‬.‫ﻓﻘﻂ‬ ‫اﮔﺮ‬‫اﻃﻼﻋﺎت‬‫ﺟﻨﺴﯿﺖ‬ ‫و‬ ‫ﻧﺎم‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬‫داﻧﺶ‬‫آﻣﻮزان‬‫ﻣﻮﻧﺚ‬‫ﺑﺎﺷـﺪ‬ ‫ﻣـﻮردﻧﻈﺮ‬،‫ﻣﯽ‬‫ﺗـﻮان‬‫ز‬ ‫دﺳـﺘﻮر‬ ‫از‬‫ﯾـ‬‫ﺮ‬ ‫اﺳﺘﻔﺎده‬‫ﮐﺮد‬. PROC IML; USE sashelp.class VAR{Name, Sex} WHERE(Sex = 'F'); SHOW CONTENTS; QUIT; ‫دﺳﺘﻮر‬READ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺑﻪ‬ ‫ﺷﺪه‬ ‫ﻓﺮاﺧﻮاﻧﯽ‬ ‫ی‬IML‫را‬‫ﻣﻌﺮﻓﯽ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﻣﯽ‬‫ﮐﻨﺪ‬.‫ﺑ‬‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺎ‬ ‫ﻣﯽ‬ ‫دﺳﺘﻮر‬ ‫اﯾﻦ‬‫ﺗﻮان‬‫ﻣـﺎﺗﺮﯾﺲ‬ ‫ﺑﻪ‬ ‫را‬ ‫ﺷﺪه‬ ‫ﻓﺮاﺧﻮاﻧﯽ‬ ‫اﻃﻼﻋﺎت‬ ‫از‬ ‫ﺑﺨﺸﯽ‬ ‫ﯾﺎ‬ ‫ﺗﻤﺎم‬‫ﻣـﺎﺗﺮﯾﺲ‬ ‫ﯾـﺎ‬‫ﻣﺨﺘﻠـﻒ‬ ‫ﻫـﺎی‬‫ﯾـﺎ‬ ‫ﻋـﺪدی‬ ‫ﻧﻮﯾﺴﻪ‬‫ای‬‫ﺗﺨﺼﯿﺺ‬‫داد‬.‫ﺻ‬ ‫ﺑﻪ‬ ‫دﺳﺘﻮر‬ ‫اﯾﻦ‬ ‫ﮐﻠﯽ‬ ‫ﺷﮑﻞ‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﻮرت‬: Read ALL var{ ‫ﻣﺘﻐ‬ ‫ﻧﺎم‬‫ﯿ‬‫ﺮﻫﺎ‬‫ی‬‫ﻣﻮردﻧﻈﺮ‬ } _ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻧﻮع‬‫ﻫﺎ‬ _ INTO < ‫ﻧﺎم‬‫ﻣﺎﺗﺮﯾﺲ‬‫ﺟﺪﯾﺪ‬ > <WHERE( ‫ﻋﺒﺎرت‬‫ﺷﺮﻃﯽ‬ )>; ‫ﻧﻮع‬‫ﻣﺘﻐﯿﺮ‬‫ﻣﯽ‬‫ﺗﻮاﻧﺪ‬‫ﮔﺰﯾﻨﻪ‬‫ﻫﺎی‬_NUM_‫ﯾﺎ‬_CHAR_‫را‬‫ﮐﻨﺪ‬ ‫اﺧﺘﯿﺎر‬.‫ﻧ‬ ‫ﻣﻌﺮﻓﯽ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻧﺎم‬ ‫اﮔﺮ‬‫ﺸـﻮﻧﺪ‬‫ﻧـﻮع‬ ‫ﻓﻘـﻂ‬ ‫و‬ ‫ﻋﺒﺎرت‬،‫ﺷﻮد‬ ‫وارد‬IML‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﺗﻤﺎم‬‫ر‬ ‫ﻧﻮع‬ ‫آن‬ ‫از‬‫ﻣﯽ‬ ‫ﻧﮕﻪ‬ ‫ا‬‫دارد‬. ‫ا‬ ‫ﺑﺎ‬ ‫ﻣﺜﺎل‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫از‬ ‫ﺳﺘﻔﺎده‬‫ﻣﯽ‬ ‫زﯾﺮ‬ ‫ی‬‫ﺗﻮان‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬class‫دو‬ ‫ﺑـﻪ‬ ‫را‬‫ﺟﺪﯾـﺪ‬ ‫ﻣـﺎﺗﺮﯾﺲ‬‫ﻧـﺎم‬ ‫ﺑـﻪ‬‫ﻫـﺎ‬‫ی‬ men‫و‬women‫ﺗﺒﺪ‬‫ﯾ‬‫ﻞ‬‫ﮐ‬‫ﺮد‬‫ﮐ‬‫ﻪ‬‫ﯾ‬‫ﮑ‬‫ﯽ‬‫ﺷﺎﻣﻞ‬‫د‬ ‫و‬ ‫ﻣﺮدان‬ ‫اﻃﻼﻋﺎت‬‫ﯾ‬‫ﮕﺮ‬‫ی‬‫ﺷﺎﻣﻞ‬‫زﻧﺎن‬ ‫اﻃﻼﻋﺎت‬‫اﺳﺖ‬. Read ALL VAR{height, weight} INTO women WHERE(sex='F'); Read ALL VAR{height, weight} INTO men WHERE(sex='M'); ۱-۱۲-۲‫ﻋﻤﻞ‬‫ﮔﺮ‬‫و‬ ‫ﻫﺎ‬‫ﺗﺎﺑﻊ‬‫ﻫﺎی‬‫ﻣﺎﺗﺮ‬‫ﯾ‬‫ﺴ‬‫ﯽ‬ ‫ﻧﺤﻮه‬ ‫ﻗﺒﻞ‬ ‫ﺑﺨﺶ‬ ‫در‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻣﻌﺮﻓﯽ‬ ‫ی‬‫ﻫﺎ‬‫ﺑﻪ‬‫دو‬‫روش‬‫ﺷﺪ‬ ‫داده‬ ‫ﺷﺮح‬.‫ﻣﺎﺗﺮﯾﺲ‬‫ﻣﺤـﯿﻂ‬ ‫ﺑـﻪ‬ ‫اﯾـﻦ‬ ‫ﺑﺮای‬ ‫ﻫﺎ‬IML‫ﻣﻌﺮﻓـﯽ‬ ‫ﻣﯽ‬‫آن‬ ‫روی‬ ‫ﺑﺮ‬ ‫ﻋﻤﻠﯿﺎﺗﯽ‬ ‫ﮐﻪ‬ ‫ﺷﻮﻧﺪ‬‫ﺷـﻮد‬ ‫اﻧﺠـﺎم‬ ‫ﻫﺎ‬.‫ﻋﻤﻠﯿـﺎت‬‫ﻣ‬ ‫ﻣﺎﺗﺮﯾﺴـﯽ‬‫ﻓﺮاﺧـﻮر‬ ‫ﺑـﻪ‬ ‫ﮐـﺪام‬ ‫ﻫـﺮ‬ ‫ﮐـﻪ‬ ‫دارد‬ ‫وﺟـﻮد‬ ‫ﺘﻨـﻮﻋﯽ‬
  • 66.
    ۶۶ ‫ﻣﺴﺌﻠﻪ‬‫ﮐﺮده‬ ‫ﭘﯿﺪا‬ ‫اﻫﻤﯿﺖ‬‫ﺑﺮرﺳﯽ‬ ‫ﻣﻮرد‬ ‫ی‬‫و‬‫ﻣـﯽ‬ ‫ﻗـﺮار‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬‫ﮔﯿﺮﻧـﺪ‬.‫ﺑـﺮای‬‫ا‬‫ﻋﻤﻠﯿـﺎت‬ ‫اﯾـﻦ‬ ‫ﻧﺠـﺎم‬‫ﻣـﯽ‬‫ﺑـﻪ‬ ‫ﺗﻮاﻧﯿـﺪ‬ ‫ﺳﺎدﮔﯽ‬‫از‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫و‬ ‫ﻫﺎ‬‫ﺗﺎﺑﻊ‬‫ﻫﺎی‬‫از‬‫ﭘ‬‫در‬ ‫ﺷﺪه‬ ‫ﺗﻌﺮﯾﻒ‬ ‫ﯿﺶ‬IML‫اﺳـﺘﻔﺎده‬‫ﮐـﺮد‬.‫اﻣـﺎ‬‫ﺧـﻮاﻫﯿ‬ ‫ﻧﺎﭼـﺎر‬ ‫ﻫـﻢ‬ ‫ﮔـﺎﻫﯽ‬‫ﻢ‬‫ﺑـﺎ‬ ‫ﺑـﻮد‬ ‫ﭼﻨﺪ‬ ‫ﺗﺮﮐﯿﺐ‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﺗﺎ‬ ‫و‬‫ﺑﻊ‬،‫دﻫﯿ‬ ‫اﻧﺠﺎم‬ ‫را‬ ‫ﺧﻮد‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻣﺎﺗﺮﯾﺴﯽ‬ ‫ﻋﻤﻠﯿﺎت‬‫ﻢ‬.‫ﻣﺜﺎل‬ ‫ﺑﺮای‬‫ﯾﺎﻓﺘﻦ‬‫وارون‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫ﻣﯽ‬ ‫را‬‫دﺳﺘﻮر‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﺗﻮان‬INV‫ﮐﺮد‬ ‫ﻣﺤﺎﺳﺒﻪ‬.‫اﻣﺎ‬‫ﻣﺤﺎﺳﺒﻪ‬ ‫ﺑﺮای‬‫آﻣـﺎره‬ ‫ی‬‫ﻣﺎﻧﻨـﺪ‬ ‫ای‬T2 ‫ﺗﺮﮐﯿـﺐ‬ ‫از‬ ‫ﺑﺎﯾـﺪ‬ ‫ﻫﺘﻠﯿﻨـﮓ‬ ‫ﭼﻨﺪ‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫اﺳـﺘﻔﺎده‬ ‫ﺗﺎﺑﻊ‬ ‫و‬‫ﮐـﺮد‬.‫اﺑﺘـﺪا‬ ‫ﺑﺨـﺶ‬ ‫اﯾـﻦ‬ ‫در‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫از‬ ‫ﭘـﺲ‬ ‫و‬ ‫ﻣﺎﺗﺮﯾﺴـﯽ‬ ‫ﻫـﺎی‬‫ﺗﻮاﺑـﻊ‬ ‫آن‬IML‫را‬‫ﻣ‬‫ﻌﺮﻓـﯽ‬ ‫ﻣﯽ‬‫ﮐﻨﯿﻢ‬.‫ﺑﮕﯿﺮﯾﺪ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫زﯾﺮ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺳﻪ‬ ‫اﺑﺘﺪا‬ ‫ﻣﻨﻈﻮر‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬. A B C                   0 002×2 2×2 2×3 1 12 2 4 5 = , = , = 1 13 4 1 ‫ز‬ ‫ﺟﺪول‬‫ﯾ‬‫ﻣﻬﻢ‬ ،‫ﺮ‬‫ﺗﺮ‬‫ﯾ‬‫ﻦ‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﻫﺎ‬‫ی‬‫ﻣﻘﺪﻣﺎﺗ‬‫ﯽ‬‫ﺑ‬‫ﯿ‬‫ﻣﺎﺗﺮ‬ ‫ﻦ‬‫ﯾ‬‫ﺲ‬‫ﻫﺎی‬‫ﺑﺎﻻ‬‫ﻫﻤﺮاه‬ ‫ﺑﻪ‬ ‫را‬‫ﺧﺮوﺟﯽ‬‫ﻣﺮﺑﻮط‬‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬‫دﻫﺪ‬. ‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﮐﺎرﺑﺮد‬‫ﻣﺜﺎل‬‫ﺧﺮوﺟﯽ‬ +‫ﮐﺮدن‬ ‫ﺟﻤﻊ‬‫ﻣﻮﻟﻔﻪ‬‫ﻣﺘﻨﺎﻇ‬ ‫ﻫﺎی‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫دو‬ ‫ﺮ‬M1=A+B;M          1 6 7 3 5 -‫ﺗﻔﺮﯾﻖ‬‫ﮐﺮدن‬‫ﻣﻮﻟﻔﻪ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫دو‬ ‫ﻣﺘﻨﺎﻇﺮ‬ ‫ﻫﺎی‬M2=A-B;M          2 -2 -3 3 3 *‫ﺿﺮب‬‫ﻣﺎﺗﺮﯾﺴﯽ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫دو‬M3=A*C;M          3 4 9 5 0 1 1 # ‫ﻣﻮﻟﻔﻪ‬ ‫ﺿﺮب‬‫ﻣﻮﻟﻔﻪ‬ ‫در‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫ﻫﺎی‬‫ﻫﺎی‬ ‫دﯾﮕﺮ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫ﻣﺘﻨﺎﻇﺮ‬ M4=A#B;M          4 8 10 0 4 ##‫ﻣﻮﻟﻔﻪ‬ ‫رﺳﺎﻧﺪن‬ ‫ﺗﻮان‬ ‫ﺑﻪ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫ﻫﺎی‬M5=B##2;M          5 16 25 0 1 / ‫ﻣﻮﻟﻔﻪ‬ ‫ﺗﻘﺴﯿﻢ‬‫ﻣﻮﻟﻔﻪ‬ ‫ﺑﺮ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫ﻫﺎی‬‫ﻫﺎی‬ ‫دﯾﮕﺮ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫ﻣﺘﻨﺎﻇﺮ‬ M6=A/B;M          6 0/5 0/4 0 4 ||‫دادن‬ ‫ﻗﺮار‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫دو‬‫ﻫﻢ‬ ‫ﮐﻨﺎر‬ ‫در‬M7=A||B;M         7 2 2 4 5 = 3 4 0 1
  • 67.
    ۶۷ //‫ﻗﺮار‬‫دادن‬‫ﻋﻤﻮدی‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫دو‬M8=A//B;M                 8 2 2 3 4= 4 5 0 1 ‫ﺟﺪول‬۱-۱ ‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﻫﺎ‬‫ی‬‫ﻋﻤﻠ‬ ،‫ﻓﻮق‬‫ﯽ‬‫ﺑ‬‫ﯿ‬‫ﻣﺎﺗﺮ‬ ‫دو‬ ‫ﻦ‬‫ﯾ‬‫ﺲ‬‫را‬‫ﻣ‬ ‫اﻧﺠﺎم‬‫ﯽ‬‫دﻫﻨﺪ‬.‫ز‬ ‫ﺟﺪول‬ ‫در‬‫ﯾ‬‫ﻧﺤﻮه‬ ‫ﺮ‬‫ی‬‫ﮐـ‬‫ﭼﻨـﺪ‬ ‫ﺎر‬‫ﻋﻤـﻞ‬‫ﮔﺮ‬‫د‬‫ﯾ‬‫ﮕـﺮ‬‫روی‬ ‫ﺑـﺮ‬ ‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫داده‬ ‫ﻧﺸﺎن‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬. ‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﮐﺎرﺑﺮد‬‫ﻣﺜﺎل‬‫ﺧﺮوﺟﯽ‬ +‫ﻣﺠﻤﻮع‬‫ﻣﻘﺪارﻫﺎی‬‫ﻣ‬‫ﺆ‬‫ﻟﻔﻪ‬‫ﻫﺎی‬‫ﻣﺎﺗﺮﯾﺲ‬M1=A[+];۱۱ <>‫ﻣﺎﮐﺴﯿﻤﻢ‬‫ﻣ‬ ‫ﻣﻘﺪار‬‫ﺆ‬‫ﻟﻔﻪ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻫﺎی‬M2=A[<>];۴ ><‫ﻣﯿﻨﯿﻤﻢ‬‫ﻣ‬ ‫ﻣﻘﺪار‬‫ﺆ‬‫ﻟﻔﻪ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻫﺎی‬M3=A[><];۲ :‫ﻣ‬ ‫ﻣﯿﺎﻧﮕﯿﻦ‬‫ﺆ‬‫ﻟﻔﻪ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻫﺎی‬M4=A[:];۷۵/۲ #‫ﺣﺎﺻﻞ‬‫ﻣ‬ ‫ﺿﺮب‬‫ﺆ‬‫ﻟﻔﻪ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻫﺎی‬M5=A[#];۴۸ ## ‫ﻣﺠﻤﻮع‬‫ﺗﻮان‬‫ﻣ‬ ‫دوم‬ ‫ﻫﺎی‬‫ﺆ‬‫ﻟﻔﻪ‬‫ﻫﺎی‬ ‫ﻣﺎﺗﺮﯾﺲ‬ M6=A[##];۳۳ [n1:nk,m1:mk] ‫ﺳﻄﺮ‬n1‫ﺗﺎ‬nk‫ﺳﺘﻮن‬ ‫و‬‫ﻫﺎی‬m1‫ﺗﺎ‬ mk‫ﻣﯽ‬ ‫ﺟﺪا‬ ‫را‬ ‫ﻣﺎﺗﺮﯾﺲ‬‫ﮐﻨﺪ‬. M7=C[1:2,2:3];M        0 1 1 =7 1 ‫ﺟﺪول‬۱-۲ ‫آﺧﺮﯾﻦ‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﺟﺪول‬‫ﺑﺎﻻ‬‫ﻣﯽ‬ ‫ﺟﺪا‬ ‫را‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫از‬ ‫ﺑﺨﺸﯽ‬ ،‫ﻣـﯽ‬ ‫در‬ ‫ﺟﺪﯾـﺪ‬ ‫ﻣـﺎﺗﺮﯾﺲ‬ ‫ﯾـﮏ‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ ‫و‬ ‫ﮐﻨـﺪ‬‫آورد‬. ‫ﻣﯽ‬‫اﯾﻦ‬ ‫ﺗﻮان‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﺑﺎ‬ ‫را‬‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﮐﺮد‬ ‫ﺗﺮﮐﯿﺐ‬ ‫دﯾﮕﺮ‬ ‫ﻫﺎی‬.‫ﻗ‬‫ﺎﻋﺪه‬‫اﻧﺠـﺎم‬ ‫ﺑـﺮای‬ ‫ﮐـﻪ‬ ‫اﺳـﺖ‬ ‫ﺻﻮرت‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬ ‫ﺗﺮﮐﯿﺐ‬ ‫اﯾﻦ‬ ‫ی‬ ‫رو‬ ‫ﺑﺮ‬ ‫ﻋﻤﻠﯿﺎت‬ ‫ﯾﮏ‬‫ی‬‫اﺑﺘﺪا‬ ،‫ﺧﺎﺻﯽ‬ ‫ﺳﻄﺮ‬‫را‬ ‫آن‬‫ﻋ‬ ‫ﺑﻌﺪ‬ ‫ﻗﺴﻤﺖ‬ ‫در‬ ‫و‬ ‫ﮐﺮده‬ ‫ﺟﺪا‬‫ﻤﻞ‬‫ﮔﺮ‬‫ﻣﻌﺮﻓﯽ‬‫ﻣﯽ‬‫ﺷﻮد‬.‫اﯾـﻦ‬ ‫ﮐﻠـﯽ‬ ‫ﺷﮑﻞ‬ ‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﺗﺮﮐﯿﺒﯽ‬ ‫ﻫﺎی‬‫ﺳﻄﺮی‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬. A[n1: nk, ‫ﻋﻤﻞ‬‫ﮔﺮ‬ ]; ‫ﺑﻪ‬‫ﻣﺸﺎﺑﻪ‬ ‫ﻃﻮر‬،‫ﺳﺘﻮﻧﯽ‬ ‫ﻋﻤﻠﯿﺎت‬ ‫اﻧﺠﺎم‬ ‫ﺑﺮای‬‫ﻋﻤﻞ‬‫ﺳﺘ‬ ‫ﺗﺮﮐﯿﺒﯽ‬ ‫ﮔﺮ‬‫ﺑﻪ‬ ‫ﻮﻧﯽ‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬. A[ ‫ﻋﻤﻞ‬‫ﮔﺮ‬ , m1: mk];
  • 68.
    ۶۸ ‫ﻣﻮﻟﻔﻪ‬ ‫ﻣﯿﺎﻧﮕﯿﻦ‬ ،‫ﻣﺜﺎل‬‫ﻋﻨﻮان‬ ‫ﺑﻪ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫دوم‬ ‫ﺳﺘﻮن‬ ‫ﻫﺎی‬A‫ﻋﺒﺎرت‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬A[2,:]‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬‫ﺣﺎﺻﻞ‬ ‫ﮐﻪ‬ ‫آﯾﺪ‬ ‫ﺑﺎ‬ ‫ﺑﺮاﺑﺮ‬ ‫آن‬۵/۳‫اﺳﺖ‬.،‫ﻣﺸـﺎﺑﻪ‬ ‫ﻃـﻮر‬ ‫ﺑـﻪ‬‫ﻋﺒـﺎرت‬A[+,2]‫ﻣﺠﻤـﻮع‬ ،‫ﻣﻘـﺪارﻫﺎی‬‫ﻣـﺎﺗﺮﯾﺲ‬ ‫دوم‬ ‫ﺳـﺘﻮن‬A‫ﻣﺤﺎﺳـﺒﻪ‬ ‫را‬ ‫ﻣﯽ‬‫ﮐ‬‫ﻨﺪ‬‫ﮐ‬‫ﻪ‬۶‫ﻣﯽ‬‫ﺷﻮد‬. ‫ﻧﮑﺘﻪ‬‫ی‬۱-۷‫ﺳﻄﺮ‬ ‫اﮔﺮ‬‫ﻣﺸـﺨﺺ‬ ‫ﺳﺘﻮﻧﯽ‬ ‫ﯾﺎ‬‫ﻧﺸـﻮد‬‫ﺟـﺎی‬ ‫و‬‫را‬ ‫آن‬‫ﺧـﺎﻟﯽ‬‫ﺑﺎﺷـﺪ‬،SAS‫ﺑﻪ‬‫ﺻـﻮرت‬‫ﭘـﯿﺶ‬‫ﺗﻤـﺎﻣﯽ‬ ‫ﻓـﺮض‬ ‫ﺳﻄﺮ‬‫ﻫﺎ‬‫ﺳﺘﻮن‬ ‫ﯾﺎ‬‫ﻣﯽ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻫﺎی‬‫ﮐﻨﺪ‬. ‫و‬ ‫ﻣﺜﺎل‬ ‫ﻫﻤﺮاه‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻣﺎﺗﺮﯾﺴﯽ‬ ‫ﻣﻬﻢ‬ ‫ﺗﺎﺑﻊ‬ ‫ﭼﻨﺪ‬ ‫ﻧﯿﺰ‬ ‫زﯾﺮ‬ ‫ﺟﺪول‬‫ﺧﺮوﺟﯽ‬‫آن‬‫ﺷﯿﻮه‬ ‫در‬ ‫ﻫﺎ‬‫ی‬IML‫ﻣﯽ‬ ‫ﻣﻌﺮﻓﯽ‬ ‫را‬‫ﮐﻨﺪ‬. ‫ﻋﻤﻞ‬‫ﮔﺮ‬‫ﮐﺎرﺑﺮد‬‫ﻣﺜﺎل‬‫ﺧﺮوﺟﯽ‬ T( )‫ﻣﺤﺎﺳﺒﻪ‬‫ﺗﺮاﻧﻬﺎده‬ ‫ی‬‫ی‬‫ﻣﺎﺗﺮﯾﺲ‬M1 = T(A); M         1 2 3 = 2 4 DET( )‫ﻣﺤﺎﺳﺒﻪ‬‫دﺗﺮﻣﯿﻨﺎ‬ ‫ی‬‫ن‬‫ﻣﺎﺗﺮﯾﺲ‬M٢ = DET(A); ۲ INV( )‫وارون‬‫ﻣﺎﺗﺮﯾﺲ‬M3 = INV(A); M         3 2 -1 = -1/5 1 DIAG( ) ‫ﻣﺤﺎﺳـﺒﻪ‬‫ی‬‫روی‬ ‫از‬ ‫ـﺮی‬‫ـ‬‫ﻗﻄ‬ ‫ـﺎﺗﺮﯾﺲ‬‫ـ‬‫ﻣ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ M4 =DIAG(A); M         4 2 0 = 0 4 J(n,m,k) ‫ﻣــــﺎﺗﺮﯾﺲ‬ ‫ﺳــــﺎﺧﺘﻦ‬n m‫ﺑــــﺎ‬ ‫ﻣﻮﻟﻔﻪ‬‫ﻫﺎی‬k  M5 =J(3,2,5); M                5 5 5 5 5= 5 5 I(n)‫ﻫﻤﺎﻧﯽ‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺳﺎﺧﺘﻦ‬n nM6 =I(2);M         6 1 0 = 0 1 EIGVAL( )‫ﻣﺤﺎﺳﺒﻪ‬‫ی‬‫وﯾ‬‫ﮋ‬‫ه‬‫ﻣﻘﺪارﻫﺎی‬‫ﻣﺎﺗﺮﯾﺲ‬M7=EIGVAL(A) 5.6457513 0 0.3542487 0 EIGVEC( )‫ﻣﺤﺎﺳﺒﻪ‬‫ی‬‫وﯾ‬‫ﮋ‬‫ه‬‫ﺑﺮدارﻫﺎی‬‫ﻣﺎﺗﺮﯾﺲ‬M8=EIGVEC(A) 0.4809652 -0.772178 0.8767397 0.6354064 ‫ﺟﺪول‬۱-۳‫ﻣﺎﺗﺮﯾﺴﯽ‬ ‫ﺗﺎﺑﻊ‬ ‫ﭼﻨﺪ‬ ‫ﮐﺎرﺑﺮد‬ ‫از‬ ‫ﻧﻤﺎﯾﺸﯽ‬ ۱-۱۲-۳‫آﻣﺎره‬‫در‬ ‫ﺧﻼﺻﻪ‬ ‫ﻫﺎی‬IML
  • 69.
    ۶۹ ‫آﻣﺎره‬ ‫ﺑﺨﻮاﻫﯿﺪ‬ ‫اﮔﺮ‬‫ﺧﻼﺻﻪ‬‫ﻫﺎی‬‫را‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﯾﮏ‬ ‫ﺳﺘﻮن‬ ‫ﭼﻨﺪ‬ ‫ﯾﺎ‬ ‫ﯾﮏ‬ ‫ی‬‫ﻣﯽ‬ ‫ﮐﻨﯿﺪ‬ ‫ﻣﺸﺎﻫﺪه‬‫دﺳﺘﻮر‬ ‫از‬ ‫ﺗﻮاﻧﯿﺪ‬SUMMARY ‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ،‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫آن‬ ‫ﮐﻠﯽ‬ ‫ﺷﮑﻞ‬ ‫ﮐﻪ‬. SUMMARY <VAR { ‫ﺳﺘﻮن‬‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻫﺎی‬ }> <CLASS{ }‫ﺳﺘﻮن‬‫ﻫﺎی‬‫ﮔﺮوه‬‫ﺷﺪه‬ ‫ﺑﻨﺪی‬ > <STAT{ }‫آﻣﺎره‬‫ﻫﺎ‬ > <WHERE(‫ﺷﺮط‬ ‫ﻋﺒﺎرت‬)>; ‫ﻋﺒﺎرت‬ ‫در‬VAR‫ﺳﺘﻮن‬ ‫ﻧﺎم‬‫را‬ ‫ﻫﺎﯾﯽ‬‫ﻣﯽ‬ ‫ﻧﻮﺷﺘﻪ‬‫ﺷﻮﻧﺪ‬‫ﮐﻪ‬‫آﻣﺎره‬‫ﻫﺎ‬‫ﺧﻼﺻﻪ‬ ‫ی‬‫آن‬ ‫ی‬‫ﻫﺎ‬‫اﺳﺖ‬ ‫ﻣﻮردﻧﻈﺮ‬.‫اﯾـﻦ‬ ‫ﺑﺎﺷﺪ‬ ‫ﻻزم‬ ‫اﮔﺮ‬ ‫آﻣﺎره‬‫زﯾﺮﮔﺮوه‬ ‫ﺗﻔﮑﯿﮏ‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬‫ﺷـﻮ‬ ‫ﻣﺤﺎﺳـﺒﻪ‬ ‫ﺳـﺘﻮن‬ ‫ﭼﻨـﺪ‬ ‫ﯾـﺎ‬ ‫ﯾـﮏ‬ ‫از‬ ‫ﻫﺎﯾﯽ‬‫ﻧ‬‫ﻋﺒـﺎرت‬ ‫در‬ ،‫ﺪ‬CLASS‫ﺳـﺘﻮن‬ ‫ﻧـﺎم‬‫ﮐـﻪ‬ ‫ﻫـﺎﯾﯽ‬ ‫ﮔﺮوه‬‫را‬ ‫ﻫﺴﺘﻨﺪ‬ ‫ﺷﺪه‬ ‫ﺑﻨﺪی‬‫ﻣﯽ‬ ‫ﻧﻮﺷﺘﻪ‬ ،‫ﺷﻮﻧﺪ‬.‫آﻣﺎره‬ ‫دﺳﺘﻮر‬ ‫اﯾﻦ‬‫را‬ ‫ﻣﺨﺘﻠﻔﯽ‬ ‫ﻫﺎی‬‫ﻣﯽ‬ ‫ﻣﺤﺎﺳﺒﻪ‬‫ﻋﻤﺪه‬ ‫ﮐﻪ‬ ‫ﮐﻨﺪ‬‫آن‬ ‫ﺗـﺮﯾﻦ‬‫در‬ ‫ﻫـﺎ‬ ‫زﯾﺮ‬ ‫ﺟﺪول‬‫ﺷﺪه‬ ‫ﻣﻌﺮﻓﯽ‬‫اﻧﺪ‬. ‫آﻣﺎره‬ ‫ﺷﺮح‬‫آﻣﺎره‬ ‫ﻣﺠﻤﻮع‬‫ﺗﻮان‬‫ﻫﺎی‬‫ﺗﺼﺤﯿﺢ‬‫ﺷﺪه‬ CSS  ‫ﻣﻘﺪار‬‫ﻣﺎﮐﺴﯿﻤﻢ‬ MAX  ‫ﻣﯿﺎﻧﮕﯿﻦ‬ MEAN  ‫ﻣﻘﺪار‬‫ﻣﯿﻨﯿﻤﻢ‬ MIN  ‫ﻣﺸﺎﻫﺪه‬ ‫ﺗﻌﺪاد‬‫ﻫﺎ‬ N  ‫ﻣﺸﺎﻫﺪه‬ ‫ﺗﻌﺪاد‬‫ﮔﻢ‬ ‫ﻫﺎی‬‫ﺷﺪه‬ NMISS ‫اﺳﺘﺎﻧﺪارد‬ ‫اﻧﺤﺮاف‬ STD  ‫ﻣﺠﻤﻮع‬SUM  ‫ﻣﺠﻤﻮع‬‫ﺗﻮان‬‫دوم‬ ‫ﻫﺎی‬‫ﺗﺼﺤﯿﺢ‬‫ﻧﺸﺪه‬USS  ‫وارﯾﺎﻧﺲ‬ VAR  ‫ﺟﺪول‬۱-۴ ‫ﻋﺒﺎرت‬ ‫اﮔﺮ‬STAT‫آﻣﺎره‬ ‫و‬‫ﻣﺸﺨﺺ‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻫﺎی‬‫ﻧﺸﻮﻧﺪ‬،SAS‫ﺑﻪ‬‫ﭘـﯿﺶ‬ ‫ﺻﻮرت‬‫آﻣـﺎره‬ ‫ﻓـﺮض‬‫ﻫـﺎی‬MAX،MEAN، MIN‫و‬ ،STD‫را‬‫و‬ ‫ﻣﺤﺎﺳﺒﻪ‬‫ﻣﯽ‬ ‫ﭼﺎپ‬‫ﮐﻨﺪ‬. ‫از‬‫ﮔﺰﯾﻨﻪ‬‫ی‬WHERE‫اﺳﺘﻔﺎده‬ ‫وﻗﺘﯽ‬‫ﻣﯽ‬‫ﺷﻮد‬‫ﮐﻪ‬‫ﺑﺨﻮاﻫﺪ‬ ‫ﮐﺎرﺑﺮ‬‫اﻧﺠـﺎم‬ ‫ﺟﺎﻣﻌـﻪ‬ ‫از‬ ‫ﺑﺨﺸـﯽ‬ ‫ﺑـﺮای‬ ‫ﺗﻨﻬـﺎ‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫دﺳﺘﻮر‬ ‫ﺷﻮد‬.‫در‬ ‫ﺷﺮﻃﯽ‬ ‫ﻋﺒﺎرت‬ ‫ﻧﻮﺷﺘﻦ‬ ‫ﺑﺎ‬ ،‫ﻟﺬا‬‫ﻣﻘﺎﺑﻞ‬WHERE‫ﻣﺤﺎﺳﺒﻪ‬‫آﻣﺎره‬ ‫ی‬‫ﺧﻼﺻـﻪ‬ ‫ﻫﺎی‬‫ﺑﺨـﺶ‬ ‫زﯾـﺮ‬ ‫ﻫﻤـﺎن‬ ‫ﺑـﻪ‬ ‫ﻣﺤـﺪود‬ ‫ﻣﯽ‬‫ﺷﻮد‬.
  • 70.
    ۷۰ ‫ﻣﺜﺎل‬۱-۲۷‫ﺑﺮﻧﺎﻣﻪ‬‫آﻣﺎره‬ ،‫زﯾﺮ‬ ‫ی‬‫اﺳﺘﺎﻧﺪارد‬‫اﻧﺤﺮاف‬ ‫و‬ ‫ﻣﯿﺎﻧﮕﯿﻦ‬ ‫ﻫﺎی‬‫را‬‫ﺑﺮای‬‫ﻣﺘﻐﯿﺮﻫﺎی‬‫و‬ ‫ﻗﺪ‬‫وز‬‫داﻧﺶ‬ ‫ن‬‫ﺑـﻪ‬ ‫آﻣـﻮزان‬ ‫ﺑﺮﻣﯽ‬ ‫را‬ ‫ﺟﻨﺲ‬ ‫ﺗﻔﮑﯿﮏ‬‫ﮔﺮداﻧﺪ‬: PROC IML; USE sashelp.class; SUMMARY VAR{height weight} CLASS{sex} STAT{MEAN STD}; QUIT; ‫ﺧﺮوﺟﯽ‬‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﯾﻦ‬. SEX Nobs Variable MEAN STD ------------------------------------------- F F 9 HEIGHT 60.58889 5.01833 WEIGHT 90.11111 19.38391 M M 10 HEIGHT 63.91000 4.93794 WEIGHT 108.95000 22.72719 All All 19 HEIGHT 62.33684 5.12708 WEIGHT 100.02632 22.77393 ------------------------------------------- ‫ﺷﮑﻞ‬۱-۱۲‫ﺧﺮوﺟﯽ‬‫ﻣﺜﺎل‬۱-۲۷ ‫دوم‬ ‫ﺳﺘﻮن‬ ‫در‬‫ﺧﺮوﺟﯽ‬،Nobs‫ﮔﺮوه‬ ‫زﯾﺮ‬ ‫ﻫﺮ‬ ‫ﺗﻔﮑﯿﮏ‬ ‫ﺑﻪ‬ ‫ﻣﺸﺎﻫﺪات‬ ،‫ﻣـﯽ‬ ‫را‬‫دﻫـﺪ‬‫در‬ ‫ﻫﻤـﻮاره‬ ‫ﮐـﻪ‬‫ﺧﺮوﺟـﯽ‬‫دﺳـﺘﻮر‬ ‫اﯾـﻦ‬ ‫ﻣﯽ‬ ‫ﭼﺎپ‬‫ﺷﻮد‬. ۱-۱۲-۴‫ﺳﺎﺧﺘﻦ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫در‬IML ‫ﻣﺎﺗﺮﯾﺲ‬ ‫دارﯾﻢ‬ ‫ﻧﯿﺎز‬ ‫ﮔﺎﻫﯽ‬‫ﺷﯿﻮه‬ ‫در‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬‫ی‬IML‫ﺳﺎﺧﺘﻪ‬‫ﻣﯽ‬‫ﺷﻮ‬‫ﻧ‬‫ﯾـﮏ‬ ‫ﺻـﻮرت‬ ‫ﺑﻪ‬ ‫را‬ ‫ﺪ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫در‬ ‫ﺑﺎﺷﯿﻢ‬ ‫داﺷﺘﻪ‬ ‫اﺧﺘﯿﺎر‬.‫ﻣﺜﺎل‬ ‫ﺑﺮای‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫اﯾﺠﺎد‬‫ﺷﺪه‬‫در‬IML‫ﺷﯿﻮه‬ ‫ﺳﺎﯾﺮ‬ ‫در‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺮای‬‫ﻫﺎ‬‫ی‬SAS‫ﻣﻮرد‬ ‫ﻫﺴﺘﻨﺪ‬ ‫ﻧﯿﺎز‬.‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺑﺮای‬ ‫ﺑﺎﯾﺪ‬ ،‫اﯾﻦ‬ ‫ﺑﺮ‬ ‫ﺑﻨﺎ‬‫ﻫﺎی‬‫اﯾﺠﺎد‬‫ﺑﺎ‬ ‫ﻣﻄﺎﺑﻖ‬ ‫ﻧﺎم‬ ‫ﯾﮏ‬ ،‫ﺷﺪه‬‫ﻗﺎﻋﺪه‬‫ی‬‫ﻧﺎم‬‫و‬ ‫ﮐـﺮده‬ ‫اﻧﺘﺨـﺎب‬ ‫ﮔـﺬاری‬ ‫ﺳﺘﻮن‬ ‫ﺑﺮای‬‫در‬ ‫ﮐﻪ‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻫﺎی‬‫ﻣﺠﻤﻮﻋﻪ‬‫ی‬‫داده‬‫ﻫﺎ‬‫ﻣﺘﻐﯿﺮ‬ ‫ﺟﺪﯾﺪ‬ ‫ی‬‫ﻫﺴـﺘﻨﺪ‬ ‫ﻫـﺎ‬‫ﻧـﺎم‬ ‫ﻧﯿـﺰ‬‫اﻧﺘ‬ ‫ﻫـﺎﯾﯽ‬‫ﺨـ‬‫ﺎب‬‫ﮐـﺮد‬. ‫زﯾﺮ‬ ‫دﺳﺘﻮر‬‫ﻣﺎﺗﺮ‬ ‫ﯾﮏ‬‫ﯾ‬‫ﺲ‬‫ﺷﯿﻮه‬ ‫در‬‫ی‬IML‫را‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬ ‫ﺑﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﻣﯽ‬ ‫ﺗﺒﺪﯾﻞ‬‫ﮐﻨﺪ‬: CREATE ‫ﻧﺎم‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﺟﺪﯾﺪ‬ ‫ی‬ FROM ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻧﺎم‬ <[COLNAME= ‫ﺳ‬ ‫ﻧﺎم‬ ‫ﺑﺮدار‬‫ﺘﻮن‬‫ﻫﺎ‬ ROWNAME=‫ﺳﻄﺮﻫﺎ‬ ‫ﻧﺎم‬ ‫ﺑﺮدار‬]>; APPEND FROM ‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﻧﺎم‬ ;
  • 71.
    ۷۱ ‫ﻣﺜﺎل‬۱-۲۸‫ﻣﯽ‬ ‫ﮐﻨﯿﺪ‬ ‫ﻓﺮض‬‫ﻣﺎﺗﺮﯾﺲ‬‫ﺧﻮاﻫﯿﻢ‬women‫را‬‫ﺑﺨﺶ‬ ‫در‬ ‫ﮐﻪ‬۱-۱۱-۱‫ﺷـﺪ‬ ‫ﺳﺎﺧﺘﻪ‬،‫ﯾـﮏ‬ ‫ﺑـﻪ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫ی‬ ‫داده‬‫ﻫﺎ‬‫ی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬stuwomen‫ﺳﺘﻮن‬ ‫و‬ ‫ﮐﻨﯿﻢ‬ ‫ﺗﺒﺪﯾﻞ‬‫آن‬ ‫ﻫﺎی‬‫را‬‫ﺗﺮﺗﯿﺐ‬ ‫ﺑﻪ‬we‫و‬he‫ﻧﺎم‬‫ﮐﻨﯿﻢ‬ ‫ﮔﺬاری‬. PROC IML; USE sashelp.class; Read ALL VAR{height, weight} INTO women WHERE(sex = 'F'); name = {we, he}; CREATE stuwomen FROM women [COLNAME = name]; APPEND FROM women; QUIT; ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﺟﺮای‬ ‫ﺑﺎ‬‫ی‬‫ﺑﺎﻻ‬‫ﻣﺠﻤﻮﻋﻪ‬ ،‫ی‬‫داده‬‫ﻫﺎﯾﯽ‬‫ﻧﺎم‬ ‫ﺑﻪ‬stuwomen‫ﮐﺘﺎﺑﺨﺎﻧﻪ‬ ‫در‬‫ی‬Work‫ا‬‫ﺷﺪ‬ ‫ﺧﻮاﻫﺪ‬ ‫ﯾﺠﺎد‬. ‫اﯾﻦ‬ ‫در‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺑﺎ‬ ‫ﮐﺎر‬ ‫ﻣﻘﺪﻣﺎت‬ ،‫ﺑﺨﺶ‬‫ﻫﺎ‬‫اراﺋﻪ‬‫ﺷﺪ‬‫ﺗﺤﻠﯿﻞ‬ ‫از‬ ‫ﺑﺴﯿﺎری‬ ‫اﻧﺠﺎم‬ ‫ﭼﻨﺪ‬ ‫ﻫﺮ‬ ،‫ﺑﯽ‬ ‫آﻣﺎری‬ ‫ﻫﺎی‬‫ﺷـﯿﻮه‬ ‫از‬ ‫ﻧﯿﺎز‬‫ی‬ IML‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺑﺎ‬ ‫ﮐﺮدن‬ ‫ﮐﺎر‬ ‫اﻫﻤﯿﺖ‬ ‫اﻣﺎ‬ ‫اﺳﺖ‬‫آﻣـﺎری‬ ‫ﭘﯿﺸـﺮﻓﺘﻪ‬ ‫ﻣﺴـﺎﺋﻞ‬ ‫در‬ ‫ﻏﺎﻟﺒـﺎ‬ ‫ﻫـﺎ‬‫زﯾـﺮ‬ ‫ﻣﺜـﺎل‬ ‫ﻣﺎﻧﻨـﺪ‬‫ﻧﺸـﺎن‬ ‫را‬ ‫ﺧـﻮد‬ ‫ﻣﯽ‬‫دﻫﺪ‬. ‫ﻣﺜﺎل‬۱-۲۹‫ﺗﺎﺑﻊ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬‫ﻫﺎی‬‫ﺗﻌﺮﯾﻒ‬‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺑﺮای‬ ‫را‬ ‫ﮐﺎﭘﺎ‬ ‫ﺿﺮﯾﺐ‬ ‫ﺷﺪه‬X‫ﺑﻪ‬‫ﻣﯽ‬ ‫دﺳﺖ‬‫آورﯾﻢ‬. PROC IML; /* Enter table of counts */ x = {17 4 8, 5 12 0, 10 3 13}; /* compute number of rows and columns for x */ nr = NROW(x); nc = NCOL(x); /* compute row and column totals */ xr = x(|, +|); xc = x(|+, |); /* compute table of expected counts for independent randomgrement */ e = xr * xc; /* compute overall total count */ t = SUM(x); /* compute kappa */
  • 72.
    ۷۲ k1 = SUM(DIAG(x))/ t; k2 = SUM(DIAG(e)) / (t ** 2); K3 = SUM(DIAG(x) * DIAG(xr + t(xc))) / (t ** 2); j1 = J(1, nr); j2 = J(nc, 1); tt1 = ((t(xc) * j1 + j2 * t(xr)) ## 2) # X; k4 = SUM(tt1) / (t ** 3); kappa = (k1 - k2) / (1 - K2); /* print results */ PRINT , , kappa; QUIT; ‫ﺧﺮوﺟﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﺿﺮﯾﺐ‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫ﻋﺪد‬ ‫ﯾﮏ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﺑﺎﻻ‬ ‫ی‬‫دﻫﺪ‬.‫ﻣﺎﺗﺮﯾﺲ‬ ‫ﺑﺮای‬X‫ﺑـﺎ‬ ‫ﺑﺮاﺑـﺮ‬ ‫ﮐﺎﭘﺎ‬ ‫ﺿﺮﯾﺐ‬ ۳۶۲۳/۰‫اﺳﺖ‬.
  • 73.
    ۷۳ ‫ﺗﻤﺮﯾﻦ‬‫ﻫﺎ‬ ۱-‫داده‬ ‫ﺑﺮدار‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎی‬‫ای‬‫ﯾ‬‫ﮏ‬‫ﮔﺎم‬DATA‫ی‬SAS‫ﻣﺘﻐ‬‫دارای‬‫ﯿ‬‫ﺮﻫﺎ‬‫ﯾ‬‫ز‬ ‫ﻣﻘﺪارﻫﺎی‬ ‫ﺑﺎ‬ ‫ﯽ‬‫ﯾ‬‫اﺳﺖ‬ ‫ﺮ‬: Code='VLC'  Size='M'  V1=2  V2=3  V3=7  V4= .  ‫ﻧﺘ‬‫ﯿ‬‫ﺠﻪ‬‫ی‬‫ﻋﺒﺎرت‬‫ز‬ ‫ﻫﺎی‬‫ﯾ‬‫ﺗﻌ‬ ‫را‬ ‫ﺮ‬‫ﯿﯿ‬‫ﮐﻨ‬ ‫ﻦ‬‫ﯿ‬‫ﺪ‬: a. (V1 + V2 – V3)/3  b. V3 – V2 / V1  c. V1V2 – V3  d. V2 V3/V1  e. V1 2 + V2 2  f. code = ‘VLc’    g. code = ‘VLc’ & Size = ‘M’   h. code = ‘VLc’ | Size = ‘M’  i. code = ‘cLV’ & V4 = .  j. ( V3 = . ) + ( V2 = 3)   k. ( V1 + V2 + V3 )^ = 12  l. code = ‘ VLc’ | (size = ‘M’ & V1=3)  m. 3 < V2 < 5  ‫راﻫﻨﻤﺎ‬‫ﯾ‬‫ﯽ‬:‫ﺑ‬ ‫ﺧﺎﻃﺮ‬ ‫ﺑﻪ‬‫ﯿ‬‫ﺎور‬‫ﯾ‬‫ﻋﺒﺎ‬ ‫ﮐﻪ‬ ‫ﺪ‬‫رت‬‫ﺣﺎﻟﺖ‬ ‫ﺑﺮای‬ ‫ﻣﻨﻄﻘﯽ‬ ‫ﻫﺎی‬'True'‫ﻣﻘﺪار‬‫ﯾـ‬‫ﺣﺎﻟـﺖ‬ ‫ﺑـﺮای‬ ‫و‬ ‫ﮏ‬'False'‫ﻣﻘـﺪار‬ ‫ﻣﯽ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫ﺻﻔﺮ‬‫ﮔ‬‫ﯿ‬‫ﺮﻧﺪ‬. ۲-‫ﯾ‬‫ﮏ‬‫ﮔﺎم‬DATA‫داده‬ ‫ﺧﻄﻮط‬ ،‫ز‬ ‫ﻫﺎی‬‫ﯾ‬‫ﻣﯽ‬ ‫را‬ ‫ﺮ‬‫ﺧﻮاﻧﺪ‬. 1b b 1.1b 2b 2.1b 3b 3.1  4.b 4.1  5. 
  • 74.
    ۷۴ 5.1    ‫ﺷﮑﻞ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﺻﻮرﺗﯽ‬ ‫در‬‫ﻋﺒﺎرت‬‫ﮐﻪ‬INPUT‫ﮔﺎم‬DATA‫ﯾ‬‫ﺣﺎﻟﺖ‬ ‫از‬ ‫ﮑﯽ‬‫ز‬ ‫ﻫﺎی‬‫ﯾ‬‫ﭼ‬ ،‫ﺑﺎﺷﺪ‬ ‫ﺮ‬‫ﯿ‬‫ﺴﺖ؟‬ a.  input x y;  b.  input x y @@;  c.  input x; d. input x y z; ‫ﺗﺬﮐﺮ‬:‫ﻧﻤﺎد‬b‫ﻧﻤﺎ‬‫ﯾ‬‫ﻨﺪه‬‫اﺳﺖ‬ ‫ﺧﺎﻟﯽ‬ ‫ﺳﺘﻮن‬ ‫ی‬. ۳-‫ﻫﺮ‬ ‫در‬‫ﯾ‬‫ﺣﺎﻟﺖ‬ ‫از‬ ‫ﮏ‬‫ز‬ ‫ﻫﺎی‬‫ﯾ‬‫ﻣﺸﺎﻫﺪه‬ ‫ﺮ‬‫ﻫـﺎ‬‫ﯾ‬‫در‬ ‫ﮐـﻪ‬ ‫را‬ ‫ﯽ‬‫ﻣﺠﻤﻮﻋـﻪ‬‫داده‬ ‫ی‬‫ﻫـﺎ‬‫ی‬SAS‫داده‬ ‫ﺧﻄـﻮط‬ ‫وﻗﺘـﯽ‬ ،‫ﺗﻮﺳـﻂ‬ ‫ﻫـﺎ‬ ‫ﻋﺒﺎرت‬INPUT‫ﻣﯽ‬ ‫ﺧﻮاﻧﺪه‬‫ﺷﻮد‬‫ﺳﭙﺲ‬ ‫و‬‫ﻣﯽ‬ ‫ﻧﻮﺷﺘﻪ‬‫ﺷﻮ‬‫ﻧ‬‫دﻫ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﺪ‬‫ﯿ‬‫ﺪ‬)‫ﻣﺘﻐ‬ ‫ﻧـﺎم‬‫ﯿ‬‫داده‬ ‫ﻣﻘـﺪار‬ ‫و‬ ‫ﺮﻫـﺎ‬‫ﺑـﺎ‬ ‫ﻣﺘﻨـﺎﻇﺮ‬ ‫ای‬ ‫آن‬‫ﻫﺎ‬.( A. INPUT id gender $ age height weight; 101 b M b 23 b 68 b 155 102 b F b . b 61 b b 102 103 b b M b b 55 b b b 70 b b b 202   B. INPUT id dob : mmddyy8. dx; 1 b 10/21/86 b 256.20 2 b 9/15/84 b 232.4   C. INPUT id $ 1-4 @8 pulse 3. +2 weight 4.1 pushups; L4WP236 b 85 b 92517 b 28 M5XQ b 47 b b b b b 1423 b 32   b b b b 158 b 79 b 81145 b 19    D. INPUT name : $12. Age 2. Income 6.2; Ahmadi b 26 b 53740 Hoseinzadehha b 34276520 ۴-‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﯾ‬‫ﯽ‬‫ﻋﻨﻮان‬ ‫ﺗﺤﺖ‬PROB_4.DAT‫آدرس‬ ‫در‬“C:TEMPDATA”‫ذﺧ‬‫ﯿ‬‫اﺳـﺖ‬ ‫ﺷﺪه‬ ‫ﺮه‬.‫ﺑﺮﻧﺎﻣـﻪ‬‫ا‬‫ی‬ ‫ﺑﺎ‬‫ﮐ‬‫ﺪ‬SAS‫ﺑﻨﻮ‬‫ﯾ‬‫ﺴ‬‫ﯿ‬‫ﺗﺎ‬ ‫ﺪ‬‫ﯾ‬‫ﮏ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬‫داﺋﻤ‬‫ﯽ‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬PROB_4‫در‬‫ﮐ‬‫ﺘﺎﺑﺨﺎﻧﻪ‬‫ی‬DATASETS‫ﺑﺴﺎزد‬.‫ﺑـﻪ‬ ‫ﻋﻼوه‬‫ﯾ‬‫ﮏ‬‫ﺧﺮوﺟ‬‫ﯽ‬‫ﺑﮕ‬ ‫آن‬ ‫از‬‫ﯿ‬‫ﺮ‬‫ﯾ‬‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫ﺪ‬‫ی‬‫ﮐ‬‫ﻪ‬: ‫اﻟﻒ‬(‫ﺧﺮوﺟ‬‫ﯽ‬‫آدرس‬ ‫در‬“A:OUTPUT”‫ﺻﻮرت‬ ‫ﺑﻪ‬HTML‫ذﺧ‬‫ﯿ‬،‫ﺷﻮد‬ ‫ﺮه‬
  • 75.
    ۷۵ ‫ب‬(‫ﺑ‬‫ﻣﻘﺎد‬ ‫ﻪ‬‫ﯾ‬‫ﻣﺘﻐ‬ ‫ﺮ‬‫ﯿ‬‫ﺮ‬SEX‫ﺑﺮﭼﺴﺐ‬‫ﻫﺎ‬‫ی‬FEMALE→F‫و‬MALE→M،‫ﺷﻮد‬‫داده‬ ‫ﻧﺴﺒﺖ‬ ‫پ‬(‫ﺗﺎر‬ ‫ﺷﺎﻣﻞ‬‫ﯾ‬،‫ﻧﺒﺎﺷﺪ‬ ‫ﺦ‬ ‫ت‬(‫ﺷﻤﺎره‬‫ی‬‫ﺧﺮوﺟ‬ ‫در‬ ‫ﺻﻔﺤﻪ‬‫ﯽ‬‫از‬۱،‫ﺷﻮد‬ ‫ﺷﺮوع‬ ‫ح‬(‫ﺗﺮﺗ‬‫ﯿ‬‫ﻣﺘﻐ‬ ‫ﺐ‬‫ﯿ‬‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﺮﻫﺎ‬NAME،SEX،۲X‫و‬۱X‫و‬ ،‫ﺑﺎﺷﺪ‬ ‫د‬(‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮ‬id‫ﻣﺘﻐ‬‫ﯿ‬‫ﺷﻨﺎﺳﺎ‬ ‫ﺮ‬‫ﯾ‬‫ﺑﺎﺷﺪ‬ ‫ﯽ‬. ‫داده‬‫ا‬ ‫ﻫﺎی‬‫ﯾ‬‫ﭘﯿﻮﺳﺖ‬ ‫در‬ ‫ﻣﺴﺌﻠﻪ‬ ‫ﻦ‬۱‫ﻧﺎ‬ ‫ﺑﺎ‬‫م‬PROB_4.DAT‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫آورده‬. ۵-‫ﺧﺮوﺟﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﺟﺮای‬ ‫از‬ ‫ﻧﺎﺷﯽ‬‫ی‬SAS‫ز‬‫ﯾ‬‫ﺗﺮﺳ‬ ‫را‬ ‫ﺮ‬‫ﯿ‬‫ﮐﻨ‬ ‫ﻢ‬‫ﯿ‬‫ﺪ‬.‫ﺟﺮ‬‫ﯾ‬‫ﻋﻤﻠ‬ ‫ﺎن‬‫ﯿ‬‫ﮐـﻪ‬ ‫را‬ ‫ﺎﺗﯽ‬‫ﮔـﺎم‬DATA‫ا‬ ‫ﺑـﺮای‬‫ﯾ‬‫ا‬ ‫ﺠـﺎد‬‫ﯾـ‬‫ﻦ‬ ‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ﻣﯽ‬ ‫ﻃﯽ‬‫ﺗﺸﺮ‬ ،‫ﮐﻨﺪ‬‫ﯾ‬‫ﮐﻨ‬ ‫ﺢ‬‫ﯿ‬‫ﺪ‬. DATA SET1; INPUT score@@; IF score>50 THEN DO; control ='y'; index=score-50; END; ELSE IF score<=50 THEN DO; control='n'; END; DATALINES; 47 49 50 52 58 . ; RUN; ۶-‫ﻣﺘﻐ‬ ‫ﻣﻘﺪارﻫﺎی‬‫ﯿ‬‫ﺮ‬kilometers‫در‬ ‫ﮐﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﻧﺎم‬ ‫ﺑﻪ‬distance‫ذﺧ‬‫ﯿ‬‫ﻣﯽ‬ ‫ﺮه‬‫دﻫ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﺷﻮد‬‫ﯿ‬‫ﺪ‬. DATA distance; INPUT kilometers 5.2; DATALINES; 1 12 123 1234 12345 1. 1.2 12. 123.4 ; RUN;
  • 76.
    ۷۶ ۷-‫ﯾ‬‫ﮏ‬‫ﮔﺎم‬DATA‫ی‬SAS‫ﺑﻨﻮ‬‫ﯾ‬‫ﺴ‬‫ﯿ‬‫ﮐﻪ‬ ‫ﺪ‬‫ﻣﺠﻤﻮﻋﻪ‬‫داده‬ ‫ی‬‫ﻫﺎ‬‫ی‬SAS‫ﻧﺎم‬‫ﺑﻪ‬corn‫ﻣﺘﻐ‬ ‫ﺑـﺎ‬‫ﯿ‬‫ﺮﻫـﺎی‬variety‫و‬yield ‫ﺑـﺎ‬ ‫داده‬‫ز‬ ‫ورودی‬ ‫ﻫﺎی‬‫ﯾ‬‫ا‬ ‫ﺮ‬‫ﯾ‬‫ﮐﻨﺪ‬ ‫ﺠﺎد‬. A b 24.2b b Bb 31.5b b B b 32.0b b Cb 43.9  Cb 45.2b b A b 21.8  B b 36.1b b Ab 27.2b b C b 34.6    ۸-‫ﮔﺎم‬DATA‫ی‬SAS‫ز‬‫ﯾ‬‫ﺑﮕ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫ﺮ‬‫ﯿ‬‫ﺮ‬‫ﯾ‬‫ﺪ‬: DATA set1; INPUT type c1 c2; DATALINES; 4 0 1 6 2 1 . 0 0 ; PROC PRINT; RUN;   ‫ﻋﺒﺎرت‬ ‫از‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻫﺮ‬ ‫اﮔﺮ‬‫ز‬ ‫ﻫﺎی‬‫ﯾ‬‫ﺑ‬ ‫ﺮ‬‫ﯿ‬‫ﻋﺒﺎرت‬ ‫ﻦ‬‫ﻫﺎی‬INPUT‫و‬DATALINES‫ﮔ‬ ‫ﻗﺮار‬‫ﯿ‬‫را‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫اﺟﺮای‬ ‫ﺧﺮوﺟﯽ‬ ،‫ﺮﻧﺪ‬ ‫ﻧﻤﺎ‬‫ﯾ‬‫دﻫ‬ ‫ﺶ‬‫ﯿ‬‫ﺪ‬. A. index = (2C1) + C2;   B. IF type <= 5 THEN DO; index = (2C1) + C2; OUTPUT; END;   C. IF type <= 5 THEN DO; index = (2C1) + C2; END; ELSE DELETE;   D. IF type > 5 THEN DELETE;    E. IF type > 5 THEN DELETE; index = (2C1) + C2;