home.kku.ac.th · web viewreading, combining, and modifying sas data setsคำน...
TRANSCRIPT
1
316441
STATISTICAL DATA PROCESSING การประมวลผลขอมลเชงสถต
Reading, Combining, and Modifying SAS Data Sets
คำานยามสำาหรบการอาน , การรวมและการปรบเปลยนชดขอมล SAS
ในบรบทของการประมวลผลขอมลขนตอนขอตกลงการอาน, การรวมและการปรบเปลยนมความหมายเหลาน
การอานชดขอมล SAS
กลาวถงการเปดชดขอมล SAS และนำาการสงเกตเปนเวกเตอรขอมลโปรแกรมสำาหรบการประมวลผล
รวมชดขอมล SAS
หมายถงการอานขอมลจากสองอยางหรอมากกวาชดขอมล SAS และทำาการประมวลผลโดย
concatenating interleaving one-to-one reading การอานแบบหนงตอหนง one-to-one merging หนงตอหนงการรวม match-merging จบคการรวม updating a master data set with a transaction
data set. การปรบปรงขอมลหลกทมการตงคารายการชดขอมล
วธการการรวมชดขอมล SAS ทกำาหนดไวในการรวมชดขอมล SAS: วธการ
2
การแกไขชดขอมล SAS
การใชคำาสงปรบเปลยนในการปรบปรงขอมลในขอมลทอยใน SAS คำาสง MODIFY สามารถประหยดเนอทดสกเพราะมนแกไขขอมลโดยไมตองสรางสำาเนาของชดขอมล คณสามารถปรบเปลยนขอมล SAS โดยชดคำาสงการเขยนโปรแกรมหรอขอมลทถกเกบไวในขอมลชดอน
ภาพรวมของเครองมอ
เครองมอหลกทใชสำาหรบการอาน, การรวม, และการปรบเปลยนชดขอมล SAS ม 4 คำาสง คอ ตง, ผสาน, แกไขและปรบปรง หวขอนจะอธบายเครองมอเหลานและตวอยางทแสดงใหเหนวาพจนานกรม: สำาหรบขอมลทงหมดเกยวกบคำาสงเหลานอางองภาษา SAS
อานชดขอมล SAS
การอานชดขอมล SAS แบบเดยว
หากตองการอานขอมลจากทมอยในชดขอมล SAS ใชคำาสง SET ในตวอยางน ขนตอนการสรางชดขอมล PERM.TOUR155_PEAKCOST โดยการอานขอมลจากชดขอมล PERM.TOUR155_BASIC_COST และ โดยการค ำานวณค าส ำาหร บสามต วแปรใหมค อ Total_Cost, Peak_Cost, และ Average_Night_Cost
data perm.tour155_peakcost; set perm.tour155_basic_cost; Total_Cost=AirCost+LandCost; Peak_Cost=(AirCost*1.15);
3
Average_Night_Cost=LandCost/Nights;run;
อานจากชดขอมล SAS หลายชด
คณสามารถอานชดขอมล SAS ไดจากหลายชดขอมลรวมทงการรวมและแกไขขอมลในรปแบบทแตกตางกน คณสามารถรวมสองขอมลหรอมากกวาสองชดทปอนในชดขอมล เพอสราง output ชดขอมล รวมขอมลจากสองหรอมากกวาสองชดขอมลทปอนตวแปรทพบบอย
การอานและการเขยนของตวแปรและขอสงเกต
ถาคณไมไดสงให SAS เขยนตวแปรทงหมดและขอสงเกตทงหมดจากการปอนขอมลชดขอมล output คณสามารถควบคมตวแปรและขอสงเกตทคณตองการอานและเขยนโดยใชคำาสง SAS ขอมลตงคาตวเลอกและฟงกชน คำาสงและขอมลทตงคาตวเลอกทคณสามารถใชทระบไวในตารางตอไปน
คำาสงและตวเลอกทควบคมการอานและการเขยน
งาน ขอความ ข อ ม ล ต งคาตวเลอก
ต ว เ ล อ กระบบ
ต ว แ ป รควบคม
DROP DROP=
KEEP KEEP=RENAM RENAME
4
E =สงเกตการควบคม
WHERE WHERE=
FIRSTOBS=
subsetting IF
FIRSTOBS=
OBS=
DELETE OBS=REMOVEOUTPUT
ใชคำาสงหรอขอมลทตงคาตวเลอก (เชน KEEP = DROP และ =) เพอควบคมตวแปรและขอสงเกตทคณตองการทจะเขยนถงขอมลออกชดคำาสง WHERE เปนขอยกเวน: ควบคมซงสงเกตไดจากการอานในเวกเตอรขอมลโปรแกรมซงขนอยก บคาของตวแปร คณสามารถใชตวเลอกชดขอมล (รวมถง WHERE =) กบการปอนขอมลหรอชดขอมลทสงออกขนอยกบฟงกชนของพวกเขาและสงทคณตองการทจะควบคม นอกจากนคณยงสามารถใชตวเลอกระบบ SAS ในการควบคมขอมลของคณ
รวมชดขอมล SAS: แนวคดพนฐาน
สงทคณตองรกอนทจะรวมขอมลทเกบไวใน SAS หลาย ชดขอมล
โปรแกรมประยกตจำานวนมากจำาเปนตองมการปอนขอมลทอยในรปแบบทเฉพาะเจาะจงกอนทขอมลจะสามารถประมวลผลใหผลลพธทม
5
ความหมาย ขอมลมกจะมาจากหลายแหลงและอาจจะอยในรปแบบทแตกตางกน
ดงนนคณจงไมจำาเปนตองใชขนตอนกลางเหตผลทเกยวของและประมวลผลขอมลกอนทคณจะสามารถวเคราะหหรอสรางรายงานจากมน
ความตองการใชแตกตางกน แตมปจจยรวมกนสำาหรบการใชงานทงหมดทเขารวมและประมวลผลขอมล
เมอคณไดกำาหนดสงทคณตองการสงออกใหมลกษณะเหมอนคณจะตอง
- กำาหนดวธการปอนขอมลทเกยวของ- มนใจไดวาขอมลจะถกจดเรยงอยางถกตองหรอการจดทำาดชนใน
กรณทจำาเปน- เลอกวธการเขาถงทเหมาะสมในการประมวลผลขอมลของทาน- เลอกเครองมอ SAS ทเหมาะสมในการทำางานใหเสรจสมบรณ
จากสวธทขอมลเกยวของกน
ความสมพนธระหวางหลายแหลงทมาของขอมลทปอนเขาไปเมอแตละแหลงทมขอมลรวมกนทงในระดบกายภาพหรอตรรกะ ตวอยางเชนขอมลของพนกงานและแผนกขอมลอาจจะเกยวของผานตวแปรรหสพนกงานทหนคาทวไป อกชดขอมลอาจมหมายเลขลำาดบตวเลขทมคาบางสวนเหตผลทเกยวของไปใหขอมลทแยกตางหากกำาหนดโดยจำานวนการสงเกต
คณจะสามารถระบความสมพนธทมอยในชดขอมลของคณได ความรนเปนสงสำาคญสำาหรบการทำาความเขาใจวธการประมวลผลขอมลนำา
6
เขาเพอผลตผลลพธทตองการ ขอมลทงหมดทเกยวของกบสประเภทเหลานจะโดดเดนดวยวธการสงเกตความสมพนธระหวางชดขอมล:
- หนงตอหนง - หนงตอหลายคน- หลายคนตอหนง - หลายคนตอหลายคน
เพอใหไดผลลพธทคณตองการคณควรเขาใจวาแตละวธการเหลานรวมการสงเกตวธการแตละวธปฏบตตอคาทซ ำากนของตวแปรทพบบอยและวธการแตละวธปฏบตตอคาทขาดหายหรอคา Non matched ของตวแปรทพบบอย
บางสวนของวธการยงตองตรวจสอบกระบวนการกอนกอนทคณจะกำาหนดขอมลของคณโดยการเรยงลำาดบพวกเขาหรอโดยการสรางดชน ดคำาอธบายของแตละวธในการรวมชดขอมล SAS: โดยวธการ
หนงตอหนง
ในความสมพนธแบบหนงตอหนงโดยทวไปจะสงเกตคาเดยวในหนงชดขอมลทมความเกยวของกบการสงเกตเดยวจากทอนขนอยกบคาของหนงหรอมากกวาหนงตวแปรทเลอกความสมพนธแบบหนงตอหนงกหมายความวาคาของตวแปรทเลอกแตละ N เกดขนไมมากกวาหนงครงในแตละชดขอมล เมอคณทำางานกบตวแปรทเลอกหลายความสมพนธนแสดงใหเหนวาการรวมกนของคาแตละ N เกดขนไมมากกวาหนงคร งในขอมลแตละชด
ในตวอยางตอไปนเปนขอสงเกตในชดขอมลเงนเดอนและภาษทเกยวของโดยคาทวไปสำาหรบจำานวนพนกงาน
หนงตอหนงความสมพนธ
7
หนงไปหลายและหลายไปหนง
หนงตอหลายคนหรอหลายตอหนงความสมพนธระหวางชดปอนขอมลแสดงใหเหนวาหนงในชดขอมลทมมากทสดคนหนงสงเกตทมคาเฉพาะของตวแปรทเลอก แตใสชดอน ๆ ขอมลอาจมมากกวาหนงการเกดขนของแตละ มลคา เมอคณทำางานกบตวแปรทเลอกหลายความสมพนธนแสดงใหเหนวาการรวมกนของคาแตละ N เกดขนไมไดตงมากกวาหนงครงในหนงขอมล แตอาจเกดขนไดมากกวาหนงครงในขอมลอน ๆ ทตง ลำาดบทชดขอมลทมการประมวลผล input กำาหนดวาความสมพนธเปนหนงตอหลายคนหรอหลายตอหนง
ในตวอยางตอไปนเปนขอสงเกตในขอมลชดหนงและสองมความสมพนธกนโดยคาทวไปสำาหรบคา A. ตวแปรทไมซำากนในขอมลชดหนง แตไมไดอยในขอมลสองชด
ความสมพนธแบบหนงตอหลาย
8
ในตวอยางตอไปนเปนขอสงเกตในขอมลชดหนงสองและสามมความสมพนธกนโดยคาทวไปสำาหรบตวแปร ID คาของ ID ทไมซ ำากนในชดขอมลทหนงและสาม แตไมไดอยในสอง ส ำาหรบคา 2 และ 3 จาก ID, ความสมพนธแบบหนงตอหลายคนอยระหวางการสงเกตในขอมลชดหนงและสองและความสมพนธหลายตอหนงอยระหวางการสงเกตในขอมลสองชดและสาม
หนงไปยงหลายและความสมพนธหลายตอหนง
หลายตอหลายคน
หมวดหมหลายตอหลายคนแสดงใหเหนวาขอสงเกตจากหลาย input แตละชดขอมลอาจจะเกยวของขนอยก บคาของหนงหรอมากกวาหนงตวแปรทพบบอย
ในตวอยางตอไปนเปนขอสงเกตในขอมลชด BREAKDOWN และการบำารงรกษาทเกยวของโดยคาทวไปสำาหรบรถยนตตวแปร คาของยานพาหนะทไมซ ำากนในแตละชดขอมลความสมพนธหลายตอหลายคนอยระหวางการสงเกตเหลานในชดขอมลสำาหรบคา AAA และ CCC ของยานพาหนะ
9
ความสมพนธหลายตอหลายคน
วธการเขาถงแบบเรยงตามลำาดบเมอเทยบกบตรง
ภาพรวม
เมอคณไดสรางความสมพนธของขอมลขนตอนตอไปคอการกำาหนดโหมดทดทสดของการเขาถงขอมลทเกยวของกบขอมล คณสามารถเขาถงการสงเกตตามลำาดบในลำาดบทพวกเขาปรากฏอยในแฟมทางกายภาพ หรอคณสามารถเขาถงไดโดยตรงทคณสามารถตรงไปทการสงเกตในขอมล SAS โดยไมตองมการประมวลผลการสงเกต
เขาถงลำาดบ
วธทงายทสดและอาจจะพบมากทสดในการประมวลผลขอมลทมขอมลขนตอนคอการอานการสงเกตในขอมลชดตามลำาดบ คณสามารถอานการสงเกตแบบลำาดบตลาดหลกทรพยฯ ผสานการปรบปรงหรอปรบเปลยนงบ คณยงสามารถใช SAS ฟงก ช น I / O ไฟล เชน เป ด FETCH และ FETCHOBS
การเขาถงโดยตรง
ชวยใหโปรแกรมการเขาถงการสงเกตเฉพาะหนงในสองวธ:
10
- จำานวนการสงเกต- โดยคาของหนงหรอมากกวาหนงตวแปรผานดชนงายหรอคอมโพสต
ในการเขาถงการสงเกตโดยตรงจากการสงเกตจ ำานวนของพวกเขาใช POINT = ตวเลอกกบตลาดหลกทรพยหรอแกไขคำาสง POINT = ชอตวเลอกตวแปรทมคากำาหนดของตลาดหลกทรพยสงเกตหรอแกไขคำาสงทอานในปจจบน ในการเขาถงการสงเกตตรงตามคาของหนงหรอมากกวาหนงตวแปรทกำาหนดกอนอนคณตองสรางดชนสำาหรบตวแปรแลวอานขอมลทตงคาการใชตวเลอกทสำาคญงบ กบตลาดหลกทรพยหรอแกไขคำาสง ดชนเปนโครงสรางทแยกตางหากทมคาขอมลของตวแปรสำาคญหรอตวแปรคกบระบตำาแหนงสำาหรบขอสงเกตทมคา
หมายเหต: คณยงสามารถใช SAS ฟงกชน I / O ไฟลเชน CUROBS, หมายเหต POINT และ FETCHOBS ในการเขาถงการสงเกตจำานวนสงเกต
- ภาพรวมของวธการในการรวมขอมล SAS ชด- คณสามารถใชวธการเหลานจะรวมชดขอมล SAS:- เชอมโยง- Interleaving- การอานแบบหนงตอหนง- หนงตอหนงการควบรวมกจการ- การผสาน- การปรบปรง- การเชอมโยง
11
รปตอไปนแสดงใหเหนถงผลของการเชอมโยงขอมลทงสองชด SAS เชอมโยงชดขอมลผนวกขอสงเกตจากขอมลชดหนงไปยงอกชดขอมลขนตอนทอานขอมล data1 เรยงตามลำาดบจนกวาจะสงเกตทกคนไดรบการประมวลผลแลวอาน data2 ชดรวมขอมลมผลของการเชอมโยงกน โปรดทราบวาชดขอมลทมการประมวลผลในลำาดบทแสดงไวในงบตลาดหลกทรพยฯ
เชอมโยงขอมลสองชด
interleaving
รปตอไปนแสดงใหเหนถงผลของการ interleaving ขอมลสองชด SAS Interleaving สงเกต intersperses สองหรอมากกวาของชดขอมลทอยบนพนฐานของหนงหรอมากกวาหนงตวแปรทพบบอย ขอมลชดรวมกนแสดงใหเหนถงผลทตามมา
Interleaving ขอมลสองชด
12
การอานคาแบบหนงตอหนงและการผสานคาหนงตอหนง
รปตอไปนแสดงใหเหนถงผลของการอานแบบหนงตอหนงและแบบหนงตอหนงการควบรวมกจการ การอานหนงตอหนง รวมสงเกตจากสองหรอมากกวา SAS ชดขอมลโดยการสรางขอสงเกตทมทงหมดของตวแปรจากขอมลในแตละสวนรวมในการตงคา ขอสงเกตทจะรวมกนข นอยก บตำาแหนงสมพทธของพวกเขาในแตละชดขอมลนนคอครงแรกทสงเกตในขอมลชดหนงกบครงแรกในการอน ๆ และอน ๆขนตอนทขอมลจะสนสดหลงจากทมนไดอานสงเกตดจากขอมลทมขนาดเลกตง คาการอานแบบหนงตอหนง การควบรวมจะคลายกบการอานแบบหนงตอขอยกเวนทสอง: คณใชงบรวมแทนของงบตลาดหลกทรพยและขนตอนทอานขอมลการสงเกตทงหมดจากขอมลทงหมดทกำาหนด ขอมลชดรวมกนแสดงใหเหนถงผลทตามมา
13
การผสาน
รปตอไปนแสดงใหเหนถงผลของการแขงขนรวมกน ตรงกบการรวมรวมขอสงเกตจากสองหรอมากกวา SAS ชดขอมลในการสงเกตเดยวในขอมลใหมตงขนอยกบคาของหนงหรอมากกวาหนงตวแปรทพบบอย
การรวมขอมลสองชด
14
การอปเดตปรบปรง
รปตอไปนแสดงใหเหนถงผลของการปรบปรงหลกชดขอมล การปรบปรงจะใชขอมลจากการสงเกตในขอมลการทำาธรกรรมการตงคาเปนลบเพมหรอเปลยนแปลงขอมลในการสงเกตในขอมลหลกตง คณสามารถปรบปรงขอมลหลกตงคาโดยใชคำาสง UPDATE หรองบ MODIFY ถาคณใชคำาสง UPDATE ชดของคณใสขอมลจะตองถกจดเรยงโดยคาของตวแปรทระบไวในแถลงการณของ (ในตวอยางน MASTER และรายการทมทงเรยงตามป.) ถาคณใชคำาสงปรบเปลยนการปอนขอมลของคณไมจำาเปนจะตองเรยงลำาดบ การ UPDATE แทนทแฟมทมอยดวยไฟลใหมชวยใหคณสามารถเพมลบหรอเปลยนชอคอลมน ทปรบเปลยนการดำาเนนการปรบปรงในสถานทโดยการเขยนใหมเฉพาะระเบยนทมการเปลยนแปลงหรอโดยการผนวกระเบยนใหมไปยงจดสนสดของแฟม
โปรดสงเกตวาโดยคาเร มตนการปรบปรงและแกไขไมใหแทนทคาทหายไป จะไมใชขอมลหลกและมคาทหายไปจากขอมลการทำาธรกรรม
การอปเดตขอมลชดปรญญาโท
15
ภาพรวมของเครองมอสำาหรบการรวมขอมล SAS ชด
ใชงบและวธการ
16
เมอคณเขาใจพนฐานของการสรางความสมพนธระหวางขอมลวธการในการเขาถงขอมลและวธการทคณสามารถรวมชดขอมล SAS, คณสามารถเลอกจากความหลากหลายของเคร องมอ SAS สำาหรบการเขาถงการประกอบและการประมวลผลขอมลของคณ ตารางตอไปนจะมรายการและคำาอธบายงบสน ๆ ขนตอนขอมลและขนตอนทคณสามารถใชสำาหรบการรวมขอมล SAS ชด
งบหรอวธการในการรวมขอมล SAS ชด
วธการเชอมตอ
ค ำาช แ จ งหรอขนตอน
การด ำา เน นการดำาเนนการ
มลำาดบ โดยตรง
สามารถใชกบคำาสง
ความคดเหน
จำาแนกเปน
ค ว บ ค ม ก า รด ำาเน นงานของตลาดหล กทรพย , ผ ส า น , UPDATE ห ร อแกไขคำาสงในขนตอนขอม ลและตงคาตวแปรจดกลมพเศษ
NA NA NA การประมวลผ ล โ ด ย ก ล มเ ป น ว ธ ก า รส ง เ ก ต ก า รประมวลผลทมค าเด ยวก นของหนงหรอมากกวาหน งตวแปร
ผสาน อานสงเกตจากสองหรอมากกวา SAS ช ด ข อ ม ลและรวมพวกเขาลงในการสงเกตเดยว
X X เมอใชรวมกบจำาแนกขอมลต อ ง ถ ก จ ดเรยงหรอการจดทำาดชนเมอจ ำา แ น ก ต า ม
17
ตวแปรแกไข ส ง เ ก ต
กระบวนการ ในขอม ล SAS ตงอ ย ใ น ส ถ า น ท (ค ม ช ด ก บ ก า รปรบปรง.)
X X X เ ร ย ง ข อ ม ลห ร อ จ ด ท ำาดชนไมจำาเปนสำาหรบการใช งานกบกตาม แ ต จ ะ ม ก า รแนะนำาในการดำาเนนงาน
ตงคา อ านสงเกตจากห น ง ห ร อ SAS ชดขอมล
X X X ใ ช = KEY ห ร อ POINT = เลอกคำาสงสำาหรบการเขาถ ง ข อ ม ลโดยตรง
ปรบปรง
ใ ช ก บ ก า ร ท ำาธ ร ก ร ร ม ก า รสงเกตในชดหลกข อ ม ล SAS UPDATE ไ ม สามารถปรบปรงการสงเกตการณในสถานท ; มนผ ล ต ส ำา เ น า ท ปรบปรงจากชดข อ ม ล ท เ ป นปจจบน
X X ท ง ต น แ บ บและชดขอมลก า ร ท ำาธรกรรมตองถ ก จ ด เ ร ย งตามหรอการจดทำาดชนโดยตวแปร
18
ผ น ว ก proc
เพ มการสงเกตจากขอมล SAS ตงไวท ปลายอกชดขอมล SAS
X
PROC SQL (หมายเห ต ตาราง 1)
อานสงเกตจากห น ง ห ร อ SAS ช ดขอม ล ; อ านสงเกตจากไดถง 32 SAS ช ดขอมลและรวมใหเ ป น ข อ ส ง เ ก ตเ ด ย ว ป ร ง แ ต งสงเกตในขอมล SAS ต ง อ ย ใ นสถานทได อยางง า ย ด า ย ผ ล ตผ ล ต ภ ณ ฑ Cartesian
X X X ทงสามวธการเขาถ งท มอย ในพรอค SQL แตวธการเขาถ ง ถ ก เ ล อ กโดยการเพ มประสทธภาพภายใน
หมายเหตตาราง 1: PROC SQL เป นการน ำา SAS จากภาษาของแบบสอบถามทมโครงสราง นอกเหนอไปจากความสามารถในการคาด SQL, PROC SQL รวมถงความสามารถเพมเตมทเฉพาะเจาะจงเพอ SAS เชนการใชรปแบบและภาษา SAS แมโคร
วธการเตรยมชดขอมล
กอนทจะรวมชดขอมล SAS, ตองปฏบตตามแนวทางนจะใหผลลพธทคณตองการ:
19
- รโครงสรางและเนอหาของชดขอมล- มองไปทแหลงทมาของปญหาทพบบอย- ตรวจสอบใหแนใจวาขอสงเกตทอยในลำาดบทถกตองหรอวาพวกเขา
สามารถเรยกดในลำาดบทถกตอง (เชนการใชดชน)- ทดสอบโปรแกรมของคณ- รโครงสรางและเนอหาของชดขอมล
เพอชวยในการกำาหนดวธการทขอมลของคณมความเกยวของใหดท โครงสรางของชดขอมล เพอดโครงสรางของชดขอมลดำาเนนการตามขนตอนชดขอมลขนตอนเนอหาหรอเขาถงหนาตาง SAS ในสภาพแวดลอม windowing ของคณจะแสดงขอมลทบงช ขอมลบงชรวมถงจำานวนของการสงเกตในแตละชดขอมลชอและคณลกษณะของแตละตวแปรและตวแปรทจะรวมอยในดชน เมอตองการพมพตวอยางของการสงเกตใชขนตอนการพมพหรอขนตอนการรายงาน คณยงสามารถใชฟงกช นเชน VTYPE, VLENGTH และ VLENGTHX เพอแสดงขอมลบงชทเฉพาะเจาะจง สำาหรบขอมลทสมบรณเกยวกบฟงกชนเหลานใหดอางอง SAS ภาษา: พจนานกรม
- ถาโปรแกรมของคณไมไดดำาเนนการอยางถกตองทบทวนการปอนขอมลของคณสำาหรบขอผดพลาดตอไปน:
ตวแปรทมชอเหมอนกน แตทเปนตวแทนของขอมลทแตกตาง
SAS รวมถงตวแปรเพยงตวแปรเดยวของชอทก ำาหนดในชดขอมลใหม หากคณกำาลงผสานขอมลสองชดทมตวแปรทมช อเดยวกน แตขอมลทแตกตางกนคาจากขอมลชดลาสดทมการอานเขยนไปคาจากชดขอมลอน ๆ เพอแกไขขอผดพลาดคณสามารถเปลยนชอตวแปรกอนทคณจะรวมชดขอมลโดยใช RENAME = ตวเลอกชดขอมลในตลาดหลกทรพยแหงประเทศไทย, UPDATE หรอผสานคำาสงหรอคณสามารถใชชดขอมลขนตอน
20
ตวแปรทรวมกนกบขอมลเดยวกน แตคณสมบตทแตกตางกน
ทาง SAS จดการกบความแตกตางเหลานขนอยกบคณลกษณะใดบางทแตกตางกน:
- ประเภทแอตทรบวต ถาแอตทรบวตประเภททแตกตางกน, SAS จะหยดการประมวลผลขอมลขนตอนและปญหาขอผดพลาดทระบวาตวแปรทไมเขากน
เพอแกไขขอผดพลาดนคณตองใชขนตอนทขอมลกบตวแปรทสรางใหมอกงบ SAS ทคณใชขนอยกบลกษณะของตวแปรแอททรบชน
ถาแอตทรบวตระยะเวลาทแตกตางกน, SAS จะใชเวลาระยะเวลาจากขอมลชดแรกทมตวแปร ในตวอยางตอไปนทกชดขอมลทระบไวในงบรวม มการสะสมไมลกบตวแปร ใน Quarter1 ยาวของการสะสมไมลกบตวแปรคอสไบต; ใน QUARTER2 เปนแปดไบตและในไตรมาสท 4 QUARTER3 และมนเปนหกไบต ในการแสดงผลขอมลการตงคารายป, ความยาวของการสะสมไมลก บต วแปรท เป นไบตท ส ซ งเป นระยะเวลาท ได มาจาก Quarter1
เชน ขอมลรายป;
รวม Quarter1 quarter2 quarter3 ไตรมาสท 4;
โดยบญช;
ทำางาน;
21
เมอตองการแทนทคาเรมตนและกำาหนดระยะเวลาในตวเองระบความยาวทเหมาะสมในงบยาวทนำาไปสตลาดหลกทรพยฯ ผสานหรอคำาสง UPDATE
คณสมบตฉลากรปแบบและการจดรปแบบ
ถาแอตทรบวตเหลานจะแตกตางกน SAS จะใชแอตทรบวตจากขอมลชดแรกทมตวแปรทมคณลกษณะรปแบบหรอการจดรปแบบตามทคณระบอยางชดเจนแทนทคาเร มตน ถาทกชดขอมลทมคณสมบตทระบไวอยางชดเจนอยางใดอยางหนงทระบไวในขอมลชดแรกแทนทคนอน ๆ เพอใหมนใจวาการสงออกชดใหมขอมลมแอตทรบวตทคณตองการใหใชค ำาสง attrib
คณยงสามารถใช SAS ฟงกช น I / O ไฟลเชน VLABEL, VLABELX และอน ๆ ทฟงกชนขอมลไดหลากหลายเพอการเขาถงขอมลน ส ำาหรบขอม ลท สมบ รณ เก ยวก บฟงก ช น เหล าน ให ด อ างอ ง SAS ภาษา : พจนานกรม
ตรวจสอบการสงซอทถกตอง
ถาคณใชการประมวลผลโดยกลมทมงบ UPDATE ตลาดหลกทรพยและผสานรวมชดขอมลใหแนใจวาขอสงเกตในชดขอมลจะถกจดเรยงในลำาดบของตวแปรทระบไวในคำาสงหรอวาชดขอมล มดชนทเหมาะสม ถาคณใชจำาแนกกลมในการประมวลผลคำาสงแกไขขอมลคณไมจำาเปนตองเรยงลำาดบ แตเรยงลำาดบขอมลปรบปรงประสทธภาพจำาแนกเปนตวแปรหรอตวแปรจะตองตรงกนทงสองชดขอมลและพวกเขาจะตองมคณสมบตเดยวกน สำาหรบขอมลเพมเตมโปรดดทการประมวลผลโดยกลมในขนตอนทขอมล
การทดสอบโปรแกรมของคณ
เปนขนตอนสดทายในการจดทำาชดขอมลของคณคณควรทดสอบโปรแกรมของคณ สรางขนาดเลกชวคราวชดขอมล SAS ทมตวอยางของ
22
การสงเกตวาในการทดสอบทงหมดของตรรกะของโปรแกรม ถาตรรกะของคณเปนความผดพลาดและคณไดรบผลลพธทไมคาดคดคณสามารถใชขนตอนการดบกขอมลในการแกปญหาโปรแกรมของคณ สำาหรบขอมลทสมบรณเกยวกบข นตอนการดบกเกอรขอมลดอ างอง SAS ภาษา: พจนานกรม
Combining SAS Data Sets: Methods การรวมชด ขอมล SAS: วธการ
คำานยาม
การเชอมโยงชดขอมลคอการรวมขอมลสองชดหรอมากกวา ขอมลชดหนงจากทอน ๆ ทเปนขอมลชดเดยว จำานวนของการสงเกตชดขอมลใหมคอผลรวมของจำานวนของการสงเกตในชดขอมลเดม คำาสงของการสงเกตเปนลำาดบ สงเกตคาทงหมดทไดจากขอมลชดแรก ตามดวยการสงเกตขอมลทงหมดจากชดขอมลทสองและอน ๆ
23
ในกรณอยางงาย ทกชดการปอนขอมลทมตวแปรเดยวกน ถาชดขอมลทปอนเขามตวแปรทแตกตางกนขอสงเกตจากขอมลชดหนงมคาทหายไปสำาหรบตวแปรทกำาหนดไวเฉพาะในชดขอมลอน ๆ ในทงสองกรณตวแปรในชดขอมลใหมจะเหมอนกบตวแปรในขอมลชดเกา
รปแบบ
ใชรปแบบของคำาสง SET นเพอเชอมชดขอมล:
ตงชดขอมล (s);
ทไหน
ขอมล - ตงคา
ระบชอทถกตองในชดขอมล SAD
สำาหรบคำาอธบายทสมบรณของคำาสงใหดอางองภาษา SAS: พจนานกรม
ขนตอนการประมวลผลขอมลระหวางการเชอมขอมล
ขนตอน การรวบรวม
SAS อานขอมล บงชของแตละ ชดขอมลท มช ออยใน ค ำาสงของ SET แลวสรางโปรแกรม เวกเตอร ขอมลทม ตวแปรทงหมดจากชดขอมลทงหมด เชนเดยวกบตวแปร ทสรางขนโดยขนตอนการสรางขอมล
การดำาเนนการ - ขนท 1
SAS อานคร งแรกสงเกตจากขอมลแรกทกำาหนดใหเปนเวกเตอร ขอมลโปรแกรมทจะประมวลผลครงแรกดไดจากคาสงเกต และดำาเนนกา
24
รอนๆ ในขนตอนขอมลจากนนจะเขยนเนอหาของโปรแกรมเวกเตอร ขอมลไปยงชด ขอมลใหม
SET ไมรเซตคาในเวกเตอร ขอมลโปรแกรมจะหายไปยกเวนสำาหรบตวแปรทมคา การคำานวณ หรอทไดรบมอบหมายในระหวางขนตอน ของขอมลตวแปรทถกสรางขน โดยขนตอนทจะถกกำาหนดใหหายไปทจดเรมตนของการทำาซำา คอขอมลแตละขนตอน ตวแปร ทอานจากชด ขอมลไมได
การดำาเนนการ - ขนท 2
SAS ยงคง ทจะอานคาสงเกตตามเวลา จากขอมลแรก ทก ำาหนดไวจนกวาจะพบตวบงชททายของแฟม คาของตวแปรในโปรแกรมเวกเตอร ขอมลจะถกตงแลว หายไปและเรมตนการอาน SAS สงเกตจากชดขอมลทสอง และอน ๆ จนกวาจะอานขอสงเกตทงหมดจากขอมลทงหมดทกำาหนด
ตวอยางท 1: ใชการเชอมขอมลในขนตอนขอมล
ในตวอยางนแตละชดขอมลมตวแปรทวไปและจำานวน และขอสงเกตทมการจดเรยงตามลำาดบจากคาของทใชรวมกน โดยทวไปแลวคณเชอมชดขอมล SAS ทมตวแปรเดยวกน ในกรณนแตละชดขอมลนอกจากนยงมตวแปรทไมซำากนเพอแสดงผลกระทบของการรวมชดขอมลทชดเจนมากขน ตอไปนแสดงใหเหนวาสตวและพนธพชทนำาเขาชดขอมลในหองสมดทถกอางองตวอยางโดย Libref:
ตวอยาง:
25
โปรแกรมตอไปนใชคำาสง SET เพอเชอมชดขอมลแลวพมพผล:
เ ม อ เ ช อ ม ช ด ข อ ม ล แ ล ว (DATAStep)
ทำาใหเกดการเชอมโยงกนกบชดขอมลทม 12 ขอสงเกตซงเปนผลรวมของการสงเกตจากชดขอมลรวมโปรแกรมเวกเตอร ขอมลมตวแปรทงหมด
26
จากขอมลทงหมดทกำาหนด คาของตวแปรทพบในหนงชดขอมล แตไมไดอยในอกชดขอมล ถกตงคาใหหายไป
ตวอยางท 2: เชอมขอมลโดยใช SQL
คณยงสามารถใชภาษา SQL เพอเชอมตาราง ในตวอยางน SQL อานแถวในตารางทงสองและสรางตาราใหมทช อรวมกน ตอไปนแสดงใหเหน YEAR1 และ YEAR2 ตาราง input:
รหส SQL ตอไปนสรางและพมพตารางรวมกน
proc sql; title 'SQL Table COMBINED'; create table combined as select * from year1 outer union corr select * from year2; select * from combined;quit;การเชอมตาราง (SQL)
27
ไฟลตอทาย
แทนการเชอมโยงขอมลหรอชดตาราง คณสามารถผนวกพวกและสรางผลเชนเดยวกบการเชอม SAS เชอมชดขอมล (ขนตอนขอมล) และตาราง (SQL) โดยการอานแตละแถวของขอมลในการสรางไฟลใหม เพอหลกเลยงการอานบนทกทงหมดคณสามารถผนวกไฟลสองไฟลแรกโดยใชขนตอนการผนวก:
proc append base=year1 data=year2;run;
YEAR1 ไฟลจะมแถวทงหมดจากตารางทงสอง
หมายเหต: คณไมสามารถใช PROC ผนวกกบเพมขอสงเกตถงขอมล SAS ตงอยในหองสมดลำาดบ [cautionend]
ประสทธภาพ
28
หากไมมการประมวลผลเพมเตมเปนสงจำาเปนทใช PROC ผนวกหรอคำาสงทผนวกอยในฐานขอมล PROC มประสทธภาพมากขนกวาการใชขนตอนทขอมลการเชอมชดขอมล
การสอดใบแทรกคำานยาม
การสอดใบแทรกใช SET และคำาสงทจะรวมขอมลหลายชดเปนหนงในดาตาเซตใหม จำานวนของการสงเกตในชดขอมลใหมคอผลรวมของจำานวนของการสงเกตจากชดขอมลเดม แตขอสงเกตในชดขอมลใหมจะถกจดเรยงโดยคาของตวแปรตาม หรอตวแปร และในแตละกลมตามคำาสงของขอมลในชดทพวกเขาเกดขน คณสามารถสอดใบแทรกชดขอมลโดยใชจำาแนกเปนตวแปรหรอโดยใชดชน
รปแบบ
ใชรปแบบของคำาสง SET เพอสอดใบแทรกขอมลชดนเมอคณใชจำาแนกเปนตวแปร:
29
SET ขอมลชด (s);
จำาแนกเปนตวแปร (s);
Whereขอมลการตงคา
ระบชอหนงระดบ ชอสองระดบ หรอหนงในขอมล SAS ชอชดพเศษ
ตวแปร
ระบตวแปรโดยทชดขอมลจะถกจดเรยงแตละตวแปรเหลาน จะเรยกวาเปนตวแปรสำาหรบขอมลทเปนปจจบนหรอขนตอน PROC
ใชรปแบบของคำาสง SET เพอสอดใบแทรกขอมลชดนเมอคณใชดชน:
SET data-set-1 . . . data-set-n KEY= index; Where
ขอมลการตงคา
ระบชอหนง ระดบชอสอง ระดบหรอหนงในขอมล SAS ชอชดพเศษ
ดชน
ใหการเขาถง nonsequential ไปสงเกตในชดขอมล SAS ซงจะขนอยกบคาของตวแปรดชนหรอคย
สำาหรบคำาอธบายทสมบรณของคำาสงของ SET รวมทง SET ทมตวเลอก = KEY ดอางองภาษา SAS : พจนานกรม
30
ตองเรยง
กอนทคณจะสามารถสอดใบแทรกชดขอมลสงเกตการณจะตองถกจดเรยงหรอจดกลมตามตวแปรเดยวกนหรอตวแปรทคณใชในคำาสงหรอคณตองมดชนทเหมาะสมสำาหรบชดขอมล
ขอมลขนตอนการประมวลผลในระหวางการสอดใบแทรก
ขนตอนการรวบรวม
SAS อานขอมลบงชของแตละชดขอมลทมชออยในคำาสงของ SET แลวสรางโปรแกรมเวกเตอรขอมลทมตวแปรทงหมดจากชดขอมลทงหมดเชนเดยวกบตวแปรทสรางขนโดยขนตอนขอมล
SAS สราง FIRST.variable และ LAST.variable สำาหรบตวแปรทระบไวในแตละคำาสง
การดำาเนนการ - ขนท 1
SAS เปรยบเทยบครงแรกจากคาสงเกต แตละชดขอมลทมชอในคำาสง SET ทจะกำาหนดโดยกลม ควรจะปรากฏขนคร งแรกในขอมลใหมทกำาหนด อานทงหมดไดจากการสงเกตโดยกลมแรกจากชดขอมลทเลอก หากจำาแนกเปนกลมทปรากฏอยมากกวาหนงชดขอมลกอานจากชดขอมลในลำาดบทปรากฏใน SET คาของตวแปรในโปรแกรมเวกเตอรขอมลถกตงคาใหหายไปเวลา SAS เรมตนจะตองอานชดขอมลใหมและจำาแนกตามกลมการเปลยนแปลง
การดำาเนนการ - ขนท 2
31
SAS เปรยบเทยบขอสงเกตตอไปจากขอมลแตละชดเพอตรวจสอบตอไปโดย เรมตนการอานการสงเกตจากขอมลทกำาหนดในคำาสงของ SET ทมขอสงเกตสำาหรบกรณนโดยสงเกตกลม SAS ตอไปจนกวาจะไดอานขอสงเกตทงหมดจากชดขอมล
ตวอยางท 1: การสอดใบแทรกในกรณทงายทสด
ในตวอยางนแตละชดขอมลทมตวแปรจำาแนกเปนธรรมดาและขอสงเกตทมการจดเรยงตามลำาดบจากคาของตวแปรจำาแนกเปน ตอไปนแสดงใหเหนวาสตวและพนธพชทนำาเขาชดขอมลในหองสมดทถกอางองโดยตวอยาง libref:
โปรแกรมตอไปนใช SET และสอดใบแทรกชดขอมลและพมพผล
32
Interleaved Data Sets
จากขอมลผลการตง INTERLEAVING ม 12 ขอสงเกตซงเปนผลรวมของการสงเกตจากชดขอมลรวมขอมลชดใหมทประกอบดวยตวแปรทงหมดจากขอมลทงสองชด คาของตวแปรทพบในหนงชดขอมล แตไมไดอยในทอน ๆ มการกำาหนดใหหายไปและสงเกตการณจดเรยงโดยคาของตวแปรเชงจำาแนก
ตวอยางท 2: การสอดใบแทรกดวยคาซำาของตวแปรเชงจำาแนก
ถาชดขอมลทมคาทซำากนของตวแปรสงเกตจะถกเขยนลงขอมลใหมทตงอยในลำาดบทเกดขน ในชดขอมลเดม ตวอยางนมคาทซ ำากนจากการจำาแนกตามตวแปรทใชรวมกน ตอไปนแสดงใหเหน ANIMAL1 และ PLANT1 ชดปอนขอมล:
33
โปรแกรมตอไปนใช SET และสอดใบแทรกชดขอมลและพมพผล:
Interleaved Data Sets with Duplicate Values of the BY Variable
34
จำานวนของการสงเกตในชดขอมลใหมคอผลรวมของการสงเกตในชดขอมล ขอสงเกตทจะถกเขยนลงขอมลใหมทตงอยในลำาดบทพวกเขาเกดขนในชดขอมลเดม
ตวอยางท 3: การสอดใบแทรก ทแตกตางกนดวยคาในแตละชดขอมล
ขอมลชด ANIMAL2 และ PLANT2 มทงคาทมอยในขอมลชดหนง แตไมไดอยในทอน ๆ ตอไปนแสดงใหเหน ANIMAL2 และชดปอนขอมล PLANT2:
โปรแกรมนใช SET และสอดใบแทรกชดขอมลเหลานและพมพผล:
35
ชดขอมลผลการศกษามขอสงเกต 9 จดโดยคาของตวแปรเชงจำาแนก
ความคดเหนและการเปรยบเทยบ
ในภาษาอน ๆ ทผสานคำาทใชมกจะหมายถงการสอดใบแทรก SAS สงวนผสานสำาหรบการดำาเนนงานในระยะทสงเกตจากสองหรอมากกวาชดขอมลทมการรวมกนเปนหนงขอสงเกต ขอสงเกตในชดขอมลบรรณนทศนจะไมรวมพวกเขาจะถกคดลอกจากชดขอมลตนฉบบในลำาดบของคาของตวแปรเชงจำาแนก
ถาตารางหนงมหลายแถวตามทขนตอนเกบรกษาขอมลการสงซอของแถวเหลานนอยในผลลพธ
36
เมอตองการใชขนตอนขอมลทตารางขอมลจะตองถกจดเรยงอยางเหมาะสมหรอการจดทำาดชน SQL ไมจำาเปนตองปอนขอมลไปยงตารางจะอยในลำาดบ
การอานแบบ One-to -One
คำานยาม
การอานแบบ One-to -One รวม คาสงเกตจากสองหรอมากกวาสองชดขอมล เปนหนงในการสงเกตโดยใช สองคนหรอมากกวา SET กำาหนดใหอาน ขอสงเกตทเปนอสระจากแตละชดขอมล กระบวนการนจะ
37
เรยกวา การจบค แบบหนงตอหนง ขอมลชดใหมทประกอบดวย ตวแปรทงหมดจากชดขอมลของทาน จำานวนของการสงเกตในชดขอมลใหม คอจำานวนของการสงเกตในขอมลเดมทมขนาดเลก ถาชดขอมลทมตวแปร ทวไป คาทอานไดจากขอมลลาสด ทกำาหนดใหแทนทคาทถกอานจากกอนหนานในชดขอมล
รปแบบ
ใช รปแบบของคำาสงใน SET น สำาหรบการอาน แบบหนงตอ หนง :
SET ขอมล ตง 1;
SET ขอมล ตง 2;
Where
ขอมล ชด - 1
ระบชอ หนง ระดบชอ สอง ระดบ หรอหนงในขอมล SAS พเศษ ชอ ชด ขอมล ชด - 1 เปนไฟล แรกทขนตอนท อาน ขอมล
ขอมล ชด - 2
ระบชอหนงระดบ ชอสองระดบ หรอหนงในขอมล SAS พเศษ ชอ ชดขอมล ชด - 2 เปนไฟล ทสองขนตอนทอานขอมล
ขอควรระวง:
38
ใชความระมดระวงเมอคณรวมชดขอมล กบ SET หลาย ๆ SET ท จะรวมการสงเกต สามารถใหผลลพธท ไมพงปรารถนา ทดสอบโปรแกรมของคณ ตวอยางทเปนตวแทนของชดขอมล กอนทจะใช วธน ในการ รวบรวม [ cautionend ]
สำาหรบ คำาอธบายทสมบรณของคำาสง SET ใหด อางอง SAS ภาษา: พจนานกรม
ขอมล ขนตอน การประมวลผล ในระหวางการอาน One-to -One
ขนตอน การรวบรวม
SAS อานขอมลบงชของขอมลแตละชดมชออยในคำาสงของ SET แลวสรางโปรแกรมเวกเตอร ขอมลทม ตวแปรทงหมดจากชดขอมลทงหมด เชนเดยวกบตวแปรทสรางขนโดยขนตอน ขอมล
การดำาเนนการ - ขนท 1
เมอ SAS รน คำาสง SET แรก SAS อาน คร งแรกทสงเกตจาก ขอมลแรกทกำาหนดใหเปนเวกเตอร ขอมลโปรแกรม SET สองอาน คร งแรกทสงเกตจากขอมลทสอง ทกำาหนดเปนเวกเตอร ขอมลโปรแกรม ถาทงชด ขอมลทมตวแปรเดยวกนคาจาก ขอมลทสองทก ำาหนด ใหแทนทคาจากขอมลชดแรก แมวาคาทขาดหายไป หลงจากทไดอานครงแรกทสงเกตจากชดขอมลทผานมาและ การดำาเนนการอน ๆ ในขนตอน ขอมลท SAS เขยน เนอหาของขอมลเวกเตอร โปรแกรมดาตาเซตใหม SET ไมรเซต คาในเวกเตอร ขอมลโปรแกรม จะ หายไปยกเวนสำาหรบตวแปรเหลานนทถกสรางขน หรอ ไดรบมอบหมาย คาระหวางการขนตอน ขอมล
39
การดำาเนนการ - ขนท 2
SAS ยงคงอานจากขอมลชดหนงแลว สวนตวอน ๆจนกวาจะ ตรวจพบตวบงชสนสดของแฟมในหนงชดขอมล SAS จะหยดการประมวลผลดวยการสงเกตลาสดของชดขอมลทสนทสด และไมไดอานขอสงเกตของทเหลอจากชดขอมลอกตอไป
ตวอยางท 1: อานแบบ One-to-One : กำาลงดำาเนนการเปนจำานวนเทากนสงเกต
ขอมล SAS ชดพชและสตวทงสองมตวแปรทใชรวมกนและมการจดเรยงโดยคาของตวแปรท ตอไปนแสดงใหเหนวาสตวและพนธพชทน ำาเขาชดขอมล:
โปรแกรมตอไปนใช SET 2 set ทจะรวมการสงเกตจากพชและสตว, และพมพผล:
40
การสงเกตในชดขอมลใหมแตละคนมตวแปรทงหมดจากชดขอมล แตโปรดทราบวาคาตวแปรทใชรวมกนในการสงเกตม 6 "กรม." มลคาของทวไปใน 6 การสงเกตของสตวชดขอมลทถกแทนทดวยคาในตวอาคารซงเปนชดขอมลท SAS อานลาสด
ความคดเหนและการเปรยบเทยบ
ผลทจะไดรบโดยการอานการสงเกตโดยใชสองคนหรอมากกวา SET มความคลายคลงกบผทจะไดรบโดยใชงบรวมกบคำาสงไมได แตดวยการอานแบบหนงตอหนง SAS หยดการประมวลผลกอนทจะสงเกตคาทงหมดจะถกอานจากขอมลทงหมดถาจำานวนของการสงเกตในชดขอมลไมเทากบ ใช SET หลาย SET กบขอมลอน ๆ ขนตอนททำาใหการใชงานเปนไปไดดงตอไปน:
การควบรวมกจการหนงสงเกตกบหลาย ๆคาสงเกต
41
สงเกตตามเงอนไขการรวม
อานจากขอมลทเหมอนกนตงสองครง
การรวมกนแบบหนงตอหนง (One-to-One Merging )
คำานยาม
One-to-One การรวมกนของขอสงเกตจากสองหรอมากกวาขอมล SAS ชดเดยวในการสงเกตชดขอมลใหม เพอดำาเนนการอยางใดอยางหนงตอหนง รวมโดยไมจำาแนกเปน SAS รวมครงแรกทคาสงเกตจากชดขอมลทงหมดในงบรวมเปนครงแรกทสงเกตในชดขอมลใหมทสองจากการสงเกตขอมลทงหมดทกำาหนดไวในขอสงเกตทสองในชดขอมลใหม
42
และอน ๆ ในการรวมแบบหนงตอหนงจ ำานวนคาสงเกตในชดขอมลใหมเทากบจำานวนของการสงเกตในชดขอมลทใหญทสดทมชออยในงบรวม
ถาคณใช MERGENOBY = ตวเลอกระบบ SAS คณสามารถควบคมวาปญหา ขอความเมอผสานการประมวลผลทเกดขนโดยไมตองมค ำาสงทเกยวของ
รปแบบ
ใชรปแบบของ MERGE นรวมชดขอมล SAS:
ผสานขอมลชด (s)
Where
ขอมลการตงคา
มชออยางนอยสองทมอยบนชดขอมล SAS
ขอควรระวง :
หลกเลยงการใชคาทซำากนหรอคาทแตกตางกนของตวแปรทพบบอย การรวมกยแบบ One-to-One กบชดขอมลทมคาทซ ำากนของตวแปรทรวมกนสามารถใหผลลพธทไมพงปรารถนา ถาตวแปรทมอยในหนงชดขอมลมากกวาคาจากขอมลชดสดทายทจะอานเปนทถกเขยนไปยงดาตาเซตใหม ตวแปรทจะรวมกนตรงตามทพวกเขาจะอานจากแตละชดขอมล การใชแบบหนงตอหนงผสานรวมชดขอมลทมคาทแตกตางกนของตวแปรทวไปยงสามารถกอใหเกดผลทไมพงประสงค ถาตวแปรทมอยมากกวาหนงชดขอมลคาจากขอมลลาสดของชดอานเปนหนงทถกเขยนไปยงขอมลใหมทกำาหนดไวแมวาคาทขาดหายไป เมอ SAS ไดประมวลผลการสงเกตการณ
43
ทงหมดในชดขอมลทงหมดขอสงเกตทตามมาในชดขอมลใหมมคาทหายไปสำาหรบตวแปรทเปนเอกลกษณของขอมลชดนน [cautionend]
สำาหรบคำาอธบายทสมบรณของงบรวมดอางอง SAS ภาษา: พจนานกรม
ขนตอนการประมวลผลขอมลในชวง การรวมกนแบบ One-to-One
ขนตอนการรวบรวม
SAS อานขอมลบงชของแตละชดขอมลทมช ออยในงบรวมแลวสรางโปรแกรมเวกเตอรขอมลทมตวแปรทงหมดจากชดขอมลทงหมดเชนเดยวกบตวแปรทสรางขนโดยขนตอนขอมล
การดำาเนนการ - ขนท 1
SAS อานคร งแรกทสงเกตจากขอมลแตละชดเปนโปรแกรมเวกเตอร ขอมลการอานชดขอมลในลำาดบทพวกเขาปรากฏในงบรวม ถาสองชดขอมลทมตวแปรเดยวกนคาจากขอมลทสองทก ำาหนดใหแทนทคาจากขอมลชดแรก หลงจากทไดอานครงแรกทสงเกตจากชดขอมลทผานมาและการดำาเนนการงบอน ๆ ในขนตอนขอมลท SAS เขยนเนอหาของขอมลเวกเตอรโปรแกรมดาตาเซตใหม เฉพาะตวแปรเหลานนทจะสรางหรอกำาหนดคาระหวางการขนตอนทขอมลจะถกกำาหนดใหหายไป
การดำาเนนการ - ขนท 2
SAS จะดำาเนนการตอไปจนกวาจะไดอานขอสงเกตทงหมดจากชดขอมล
44
ตวอยางท 1: การรวมกนแบบ One-to-One กบจำานวนทเทาเทยมกนของการสงเกต
ขอมล SAS ชดพชและสตวทงสองมรวมกนตวแปรสงเกตและมการจดเรยงตามคาของทใชรวมกน ตอไปนแสดงใหเหนวาสตวและพนธพชทน ำาเขาชดขอมล:
โปรแกรมตอไปนรวมชดขอมลเหลานและพมพผล:
45
การสงเกตในชดขอมลใหมแตละชดมตวแปรทงหมดจากชดขอมล ถาสองชดขอมลทมตวแปรเดยวกนคาจากขอมลทสองทกำาหนดใหแทนทคาจากขอมลชดแรกทแสดงในตางสงเกตท 6
ตวอยางท 2: การรวมกนแบบ One-to-One กบจำานวนไมเทากนจากการสงเกตการณ
ขอมล SAS ชดท 1 และสตว PLANT1 ทงสองมตวแปรทใชรวมกนและการสงเกตการจดเรยงตามคาของทใชรวมกน PLANT1 ชดขอมลทมการสงเกตนอยกวาสตว 1 ชดขอมล ตอไปนแสดงใหเหน ANIMAL1 และชด PLANT1 ปอนขอมล:
46
โปรดทราบวาขอสงเกตท 4 ถง 6 มคาทหายไปสำาหรบตวแปรพช
ตวอยางท 3: การรวมกนแบบ One-to-One ดวยซำาคาของตวแปรทใชรวมกน
ตวอยางตอไปนแสดงใหเหนถงผลทไมพงประสงคทคณสามารถไดรบโดยใชหนงตอหนงรวมกบชดขอมลทมคาทซ ำากนของตวแปรทพบบอย
47
คาจากขอมลชดสดทายทจะอานเปนหนงทถกเขยนไปยงชดขอมลใหม ตวแปรทจะรวมกนตรงตามทพวกเขาจะอานจากแตละชดขอมล ในตวอยางตอไปนชดขอมล ANIMAL1 และ PLANT1 มตวแปรทใชรวมกนและแตละชดขอมลทมขอสงเกตทมคาทซ ำากนของสามญ ตอไปนแสดงใหเหน ANIMAL1 และชด PLANT1 ปอนขอมล:
จำานวนของการสงเกตในขอมลชดใหม 6 โปรดทราบวาคาสงเกตท 2 และ 3 มคาทไมพงประสงค SAS อานสงเกตทสองจากชดขอมล ANIMAL1 จากนนกอานสงเกตทสองจากขอมลชด PLANT1 และแทนทคาสำาหรบตวแปรทวไปและ Plant1 สงเกตทสามถกสรางขนในลกษณะเดยวกน
48
ตวอยางท 4: การรวมกนแบบ One-to-One กบคาทแตกตางของตวแปรทใชรวมกน
ตวอยางตอไปนแสดงใหเหนถงผลทไมพงประสงคทไดรบจากการใชแบบหนงตอหนงผสานรวมชดขอมลทมคาทแตกตางกนของตวแปรทพบบอย ถาตวแปรทมอยในมากกวาหนงชดขอมลคาจากขอมลชดสดทายทจะอานเปนหนงทถกเขยนไปยงดาตาเซตใหมแมวาคาทขาดหายไป เมอ SAS ประมวลกระบวนการทงหมด observations ในชดขอมลทงหมดทเปนขอสงเกตทตามมาในชดขอมลใหมมค าทหายไปส ำาหรบตวแปรทเป นเอกลกษณของขอมลชดนน ในตวอยางนชดขอมล ANIMAL2 และ PLANT2 มคาทแตกตางกนของตวแปรทใชรวมกน ตอไปนแสดงใหเหน ANIMAL2 และชดปอนขอมล PLANT2:
49
ความคดเหนและการเปรยบเทยบ
ผลทไดจากการรวมแบบหนงตอหนงมความคลายคลงกบผลทไดรบจากการใชสองหรอมากกวา SET จะรวมการสงเกต อยางไรกตามดวยการรวมแบบแบบหนงตอหนง SAS ยงคงประมวลผลการสงเกตการณในทกชดขอมลทมชออยในขอมลรวม
Match-Merging
คำานยาม
MATCH-Merging เปนการรวมขอสงเกตจากสองหรอมากกวาในชดขอมล SAS ในการสงเกตเดยวในขอมลใหมตงตามคาของตวแปรทพบบอย จำานวนของการสงเกตในขอมลชดใหมคอผลรวมของจำานวนทใหญ
50
ทสดของการสงเกตในแตละกลมในทกชดขอมล ทจะดำาเนนการจบคผสานการใชคำาสงผสานกบคำาสง กอนทคณจะสามารถดำาเนนการจบคผสานทงชดขอมลจะตองถกจดเรยงตามตวแปรทคณระบในคำาสงหรอพวกเขาจะตองมดชน
รปแบบ
ใชรปแบบของ MERGE นเพอใหตรงกบจดหมายเวยนชดขอมล:
ผสานขอมลชด (s);
จำาแนกเปนตวแปร (s);
Where
ขอมลการตงคา
อยางนอยสองชอทมอย SAS ชดขอมลจากการสงเกตการณทจะอาน
ตวแปร
ชอตวแปรแตละตวโดยทชดขอมลจะถกจดเรยงหรอการจดทำาดชน
สำาหรบคำาอธบายทสมบรณของการผสานและจำาแนกดทอางองภาษา SAS : พจนานกรม
ขนตอน การรวบรวม
SAS อานขอมล บงชของแตละชด ขอมลท มชออยในงบรวมแลว สรางโปรแกรมเวกเตอร ขอมลทม ตวแปรทงหมดจากชด ขอมลทงหมด เชนเ ด ย ว ก บ ต ว แ ป ร ท ส ร า ง ข น โ ด ย ข น ต อ น ข อ ม ล SAS
51
สราง FIRST.variable และ LAST.variable สำาหรบตวแปร ทระบไวในแตละคำาสง
การดำาเนนการ - ขนท 1
SAS มลกษณะทเปนครงแรกโดยกลมในแตละชดขอมลทมชออยในการผสาร ทจะกำาหนดโดยกลม ควรจะปรากฏขนเปนครงแรกในชดขอมลใหม ขนตอนในการอานขอมลเวกเตอร ขอมลโปรแกรม ครงแรกทสงเกต ในการทจะจำาแนกเปนกลม จากแตละชด ขอมล การอานชดขอมลในลำาดบทพวกเขา ปรากฏในการผสาน ถาชดขอมลทไมไดมขอสงเกตในการทจะจำาแนกเปน กลมโปรแกรมเวกเตอรขอมลมคาท หายไป สำาหรบตวแปรทไมซำากบ ขอมลชดนน
การดำาเนนการ - ขนท 2
หลงจากการประมวลผล ครงแรกทสงเกตจากชดขอมลทผานมาและ การดำาเนนการ อน ๆ SAS เขยน เนอหาของโปรแกรมเวกเตอรขอมลไปยงชด ขอมลใหม SAS ยงคงรกษาคาของตวแปรทงหมดในเวกเตอร ขอมลโปรแกรมยกเวนตวแปรทถกสรางขนโดยขนตอน ขอมล SAS ตงคาเหลานน จะหายไป SAS ยงคง ทจะผสานการสงเกตจนกวาจะเขยน ขอสงเกตทงหมดจากคร งแรกโดย กลมไปยงชด ขอมลใหม เมอ SAS ได อาน ทงหมด observations ในกลมจากชดขอมลทจะกำาหนด ตวแปรทงหมดในเวกเตอร ขอมลโปรแกรมจะ หายไป SAS มลกษณะทกลม ในขอมล แตละชดจะกำาหนด โดยกลมควรจะปรากฏตอไปในดาตาเซตใหม
การดำาเนนการ - ขนท 3
SAS จะทำาซำาขนตอนเหลานจนกวาจะอานขอสงเกตทงหมดจากกลมในทกชดขอมล
52
ตวอยางท 1: รวมขอสงเกตตามเกณฑ
ขอมล SAS ชดพชและสตวแตละมการจำาแนกเปนตวแปรธรรมดาและขอสงเกตทมการจดเรยงตามลำาดบจากคาของตวแปรจำาแนกเปน ตอไปนแสดงใหเหนวาสตวและพนธพชทนำาเขาชดขอมล:
53
การสงเกตในชดขอมลใหมจะประกอบดวยตวแปรทงหมดจากชดขอมล
ตวอยางท 2: จบคผสานดวยคาซำาของตวแปรจำาแนก
เมอ SAS อานลาสดจากการสงเกตโดยกลมหนงในชดขอมล SAS ยงคงมค าในเวกเตอรขอมลโปรแกรมส ำาหรบตวแปรทงหมดทเป นเอกลกษณของขอมลชดนนจนกระทงสงเกตทงหมดทจำาแนกเปนกลมได
54
รบจากการอานขอมลทงหมดชดในตวอยางตอไปนชดขอมล ANIMAL1 และ PLANT1 มคาทซ ำากนจากจำาแนกตามตวแปรทใชรวมกน ตอไปนแสดงใหเหน ANIMAL1 และชด PLANT1 ปอนขอมล:
2 ขอสงเกตของการสงออกทมลคาของ Plant1 ตวแปรจะถกเกบไวจนกวาจะสงเกตทงหมดในกลมถกเขยนไปยงดาตาเซตใหม ตรงกบการควบรวมกจการยงผลตคาทซำากนใน ANIMAL1 4 และ 5
ตวอยางท 3: MATCH-Merge กบขอสงเกต Nonmatched
55
เมอ SAS ดำาเนนการแขงขนรวมกบการสงเกต nonmatched ในชดขอมลเขา SAS ยงคงรกษาคาของตวแปรทงหมดในเวกเตอรขอมลโปรแกรมแมวาคาทขาดหายไป ขอมลชด ANIMAL2 PLANT2 และไมไดมค าทงหมดของจำาแนกตามตวแปรทใชรวมกน ตอไปนแสดงใหเหน ANIMAL2 และชดปอนขอมล PLANT2:
ในฐานะทเปนเอาทพทจะแสดงใหเหนถงคาทงหมดของตวแปรทใชรวมกนและจะแสดงในชดขอมลใหมรวมทงคาขาดหายไปสำาหรบตวแปรทอยในหนงชดขอมล แตไมไดอยในทอน ๆ
56
Updating with the UPDATE and the MODIFY Statements การปรบปรงและปรบเปลยนคำาสง
คำาจำากดความ
การอปเดตขอม ลชด หมายถ งกระบวนการของการใช การเปลยนแปลงขอมลหลก ตง การปรบปรงชดขอมล ทคณทำางานกบ ขอมลสองชดขอมลชดขอมลทมขอมลเดมเปนหลกชดขอมลและ ชดขอมลทมขอมลใหม คอขอมลการทำาธรกรรม
คณสามารถปรบปร ง ช ด ขอมลโดยใช ค ำาส ง UPDATE หรอค ำาส ง MODIFY ปรบเปลยน :
UPDATE ใช การสงเกต จากขอมลการทำาธรกรรมการตงคาการ เปลยนคาของการสงเกตทสอดคลองกนจากชดขอมลหลก คณตองใชค ำาสงทม คำาสง UPDATE เพราะสงเกตทงหมด ในการทำาธรกรรมชดขอมลท คยไป สงเกตในขอมลหลก ตงตามคาของตวแปรจำาแนก
MODIFY สามารถแทนทลบและ ผนวก การสงเกตในขอมลทมอยตงใชคำาสง ปรบเปลยนสามารถประหยดเนอทดสก เพราะมนแกไขขอมลในสถานท โดยไมตองสรางสำาเนาของชดขอมล
จำานวนของการสงเกตในชดขอมลใหม คอผลรวมของตวเลขของการสงเกตในขอมลชดหลก และจำานวนของการสงเกตทเปรยบในการตงคาขอมลการทำาธรกรรม
สำาหรบ ขอมลทสมบรณ เกยวกบการปรบปรง และงบ แกไข, ด อางอง SAS ภาษา: พจนานกรม
57
ไวยากรณของคำาสง UPDATE
ใชรปแบบของคำาสง UPDATE นเพอปรบปรงหลกชดของขอมล:
UPDATE-master ชดขอมลธรกรรมขอมลชด;
จำาแนกเปนตวแปรรายการ;
Where
ขอมลชดหลก
ชอชดขอมล SAS ทใชเปนหลกของแฟม
การทำาธรกรรมขอมลชด
ชอชดขอมล SAS ทมการเปลยนแปลงทจะนำาไปใชกบขอมลหลก
ตวแปรรายการ
ระบตวแปรทสงเกตมการจบค
ถาธรกรรมชดขอมลทมคาทซ ำากนจากจำาแนกตามตวแปร SAS ใชการทำาธรกรรมทงการสงเกตคาสดทายทจะถกคดลอกลงในโปรแกรมเวกเตอรขอมลถกเขยนไปยงชดขอมลใหม หากขอมลของคณในรปแบบนใชคำาสงปรบเปลยนแทนคำาสง UPDATE ในการประมวลผลขอมลของคณ
ขอควรระวง :
คาของตวแปรตองไมซ ำากนสำาหรบการสงเกตในแตละหลกของชดขอมล ถาขอมลชดหลกมขอสงเกตสองขอทมคาเดยวกนของจำาแนกตาม
58
ตวแปรครงแรกทสงเกตจะมการปรบปรงและการสงเกตทสองจะถกละเวน SAS จะเขยนขอความเตอนไปยงลอกเมอขนตอนการดำาเนนการขอมล [cautionend]สำาหรบขอมลทสมบรณเกยวกบคำาสง UPDATE ใหดอางอง SAS ภาษา: พจนานกรม
ไวยากรณของคำาชแจง ปรบเปลยน
รปแบบของการปรบเปลยนคำาสงนจะถกใชในตวอยางทเปนไปตาม:
ปรบเปลยน-ชดขอมลหลก;
จำาแนกเปนตวแปรรายการ;
where
ขอมลชดหลก
ระบชดขอมล SAS ทคณตองการทจะปรบเปลยน
ตวแปรรายการ
ชอตวแปรโดยทขอมลทกำาหนดเปนแตละคำาสง
หมายเหต: คำาสงปรบเปลยนไมสนบสนนการเปลยนแปลงสวนอธบายของชดขอมล SAS เชนการเพมตวแปร [cautionend]
สำาหรบขอมลทสมบรณเกยวกบคำาสงปรบเปลยนใหดอางอง SAS ภาษา: พจนานกรม
59
ขนตอน การประมวลผล ขอมล ดวย คำาสง UPDATE
ขนตอน การรวบรวม
SAS อ า นข อ ม ล บ ง ช ข อ ง แ ต ล ะ ช ด ข อ ม ล ท ม ช อ อ ย ใ น ค ำา ส ง UPDATE และสรางโปรแกรม เวกเตอร ขอมลทม ตวแปรทงหมดจากขอมลทงหมดทกำาหนด เชนเดยวกบตวแปรทสรางขนโดยขนตอนขอมล
SAS สราง FIRST.variable และ LAST.variable สำาหรบตวแปร ทระบไวในคำาสง แตละ
การดำาเนนการ - ขนท 1
SAS มลกษณะทสงเกตแรกใน แตละชดขอมลทมชออยใน คำาสง UPDATE ทจะกำาหนดโดยกลมควรจะปรากฏขนเปนครงแรก หากการทำารายการตามมลคานำาหลก ดวยคา SAS อานจากขอมลการทำาธรกรรม ทกำาหนดเทานนและ กำาหนดตวแปรจากขอมลหลกชดทจะหายไป ถา โดยคาทนำาไป ทำาธรกรรม ดวยคา SAS อานจากขอมลหลกทกำาหนด เทานนและกำาหนด ตวแปรทไมซำากนจากขอมลการทำาธรกรรม การตงคา ทหายไปถาจำาแนกตามคาในหลกและชด ขอมลการทำาธรกรรมมคาเทากนจะใชการทำาธรกรรมครงแรก โดยการคดลอก คา nonmissing เปนเวกเตอร ขอมลโปรแกรม
การดำาเนนการ - ขนท 2
หลงจากทเสรจสนการทำาธรกรรม คร งแรกท SAS มลกษณะทสงเกตตอไปในการทำาธรกรรมชดขอมล ถา SAS พบกบหนงเดยวกนโดย
60
มลคาจะใชการทำาธรกรรมทเกนไปครงแรกทสงเกต แลวมคาใหมจากการทำาธรกรรมทงสองถาไมมการทำาธรกรรม อน ๆ ทมอยสำาหรบการสงเกตท SAS เขยน สงเกตถงชดขอมลใหม และการตงคาในเวกเตอร ขอมลโปรแกรมจะหายไป SAS ซำาขนตอนเหลาน จนกวาจะไดอานขอสงเกต ทงหมดจากกลมทงในชดขอมล
การปรบปรง ท ม ขอสงเกต Nonmatched ค าน ยม ท หายไป และ ตวแปร ใหม
ใน คำาสง UPDATE ถา สงเกตในหลกชดขอมลทไมไดมการสงเกตทสอดคลองกนใน การทำาธรกรรมชด ขอมล SAS เขยน สงเกตกบขอมลชดใหมโดยไมตองแกไขมนการสงเกต ใด ๆ จากการทำาธรกรรมชด ขอมลทไมสอดคลองกบการสงเกตในชด ขอมลหลกถกเขยนไปยงโปรแกรมเวกเตอรและกลายเปน ขอมล พนฐานสำาหรบการสงเกตในขอมลชดใหมขอมลในโปรแกรมเวกเตอร ขอมลทสามารถแกไขไดโดย การทำาธรกรรม อน ๆ กอนทมนจะ ถกเขยนไปยงชดขอมลใหม สงเกตชดขอมลไมจ ำาเปนตองมการปรบปรงการสงเกตทสอดคลองกน สามารถละเวนจากขอมลการท ำาธรกรรม
SAS ไมไดแทนทคาทมอยในขอมล คาทหายไปถาคาเหลานนจะกำาหนดเปน ระยะเวลา ( สำาหรบตวแปร ตวเลข) หรอ ชองวาง ( สำาหรบตวแปร ตวอกษร ) ในขอมลการทำาธรกรรมเพอแทนทคาทมอย ดวยคาทขาดหายไปคณตองสราง ขอมลการทำาธรกรรมซงตงอยใน คาทขาดหายถกเขยนดวยอกขระพเศษ ทหายไป มลคา หรอใชUpdateMode = ตวเลอก คำา NOMISSINGCHECK
61
ดวยการปรบปรง ,การทำาธรกรรมชดขอมล สามารถมตวแปรใหมทจะ เพมเขามาในการสงเกตทงหมด ในชดขอมลหลก
หากต องการด ต วอย าง โปรแกรม , ดจาก Example 3: Using UPDATE for Processing Nonmatched Observations, Missing Values, and New Variables.
ความตองการสำาหรบการจดเรยง คำาสง UPDATE
หากคณไมได ใชดชนทงสองหลกชดขอมลและการทำาธรกรรม ชดขอมลจะตองถกจดเรยงตาม ตวแปร เดยวกนหรอตวแปรทคณระบในคำาสงทมาพรอมกบ คำาสง UPDATE คาของตวแปรจำาแนกควรจะไมซ ำากนสำาหรบการสงเกตในชดขอมลหลกแตละชด ถาคณใชมากกวาหนงตวแปร จำาแนกการรวมกนของคา โดย ตวแปร ทควรจะไมซ ำากนสำาหรบการสงเกต ในแตละหลกของชดขอมล จำาแนกเปนตวแปรหรอตวแปร ควรจะเปนสงทไมจำาเปนตองปรบปรง
หมายเหต:คำาสงปรบเปลยนไมตองใชไฟลเรยงตามอยางไรกตามการเรยงลำาดบขอมลปรบปรงประสทธภาพ [ cautionend ]
การใช ดชนทมคำาชแจง MODIFY
MODIFY รกษาดชน ไมจำาเปนตองสรางดชน เชนเดยวกบ คำาสง UPDATEการเลอกระหวาง การปรบปรง หรอแกไข
62
การใช คำาสง UPDATE กเปรยบได กบการใช MODIFY ดวย โดยจะนำาไปใชทำาธรกรรม กบขอมลการตงคา ในขณะทการปรบเปลยน เปนเครองมอท มประสทธภาพมากขนกบการใชงานอน ๆ อกหลาย UPDATE ยงคงเปนเครองมอทางเลอกในบางกรณตารางตอไปน จะชวยใหคณเลอกวาจะใชการปรบปรงหรอแกไข ดวยการจำาแนก
MODIFY with BY versus UPDATE Issue MODIFY with BY UPDATEDisk space(พ น ท ว า ง ใ นดสก)
ช วยประหยด เน อ ท ด สก เพราะการปรบปรงขอมลในพนท
ตองใชพนทดสกมากขนเพราะมนผลตสำาเนาทปรบปรงจากชดขอมล
Sort and index(ก า รเ ร ย งลำาดบและดชน)
ไมจำาเปนตองเรยงขอมลถงแมวาการดำาเนนงานทดกขอแนะนำาวาทงสองชดขอมลทถกจดเรยงและท หล กชดขอมลทจะจดทำาดชน
ต อ ง ก า ร เ พ ย ง ท ง ส อ ง ช ดขอมลถกจดเรยง
When to use(เมอใช)
ใชเฉพาะเมอคณคาดหวงทจะด ำา เน นการสวนเล ก ๆ ของชดขอมล
ใชถ าคณคาดหวงท จ ะต องดำาเน นการมากทสดของชดขอมล
Where to specify the modified data set
ระบการปรบปรงขอมลทตงอยในทงขอมลและคำาสงทปรบเปลยน
ระบชดขอมลในการปรบปรงขอมลและคำาสง UPDATE
63
(ทระบชดข อ ม ลแกไข)Duplicate BY-values(ค า ต วแปรทซ ำากน)
ชวยใหคาทซ ำากนทงในหลกและขอมลการทำาธรกรรมชด
ชวยใหคาทซ ำากนในขอมลการทำาธรกรรมการตงคาเฉพาะ (ถ าซำากนทมอยในชดขอมลหลก SAS เตอน.)
Scope of changes(ขอบเขตของการเปล ยนแปลง)
ไมสามารถเปล ยนแปลงขอมลขอม ลบงช ดด งน นการเปลยนแปลงเชนการเพ มหร อลบต วแปรป ายตวแปรจะไมถกตอง
สามารถทำาการเปลยนแปลงทจำาเปนตองมการเปลยนแปลงในสวนอธบายของชดขอมลเชนการเพมตวแปรใหมและอน ๆ
Error checking(ก า รต ร ว จส อ บ ข อผ ดพลาด)
มความสามารถในการตรวจสอบขอผ ดพลาดโดยใช _IORC_ ตวแปรอตโนมตแ ล ะ SYSRC Autocall แมโคร Und
ความตองการในการตรวจสอบขอผดพลาดเพราะการทำาธรกรรมโดยไมตองบนทกหลกทสอดคลองกนจะไมใช แตจะมการเพมการตงคาไมมขอมล
Data set integrity(ค ว า มส ม บ ร ณ
ขอมลอาจมการปรบปร งบางสวนเนองจากการเลกจางงานทผดปกต
การสญเสยขอมลไมเกดข นเนองจาก UPDATE ทำางานบนสำาเนาของขอมล
64
ข อ ง ช ดขอมล)
For more information about tools for combining SAS data sets, see Statements or Procedures for Combining SAS Data Sets.
ความตองการในการตรวจสอบขอผดพลาดเพราะการทำาธรกรรมโดยไมตองบนทกหลกทสอดคลองกนจะไมใช แตจะมการเพมการตงคาไมมขอมลขอมลอาจมการปรบปรงบางสวนเนองจากการเลกจางงานทผดปกตการสญเสยขอมลไมเกดขนเนองจาก UPDATE ทำางานบนสำาเนาของขอมล
ตวอยางท 1: การใชการปรบปรงสำาหรบพนฐานบรอดแบนด
ในตวอยางน MASTER ชดขอมลทมคาเดมของตวแปรสตวและพนธพช NEWPLANT ชดขอมลทมขอมลการทำาธรกรรมการตงคาดวยคาใหมของโรงตวแปร ตอไปนแสดงใหเหนถงตนแบบและชดปอนขอมล NEWPLANT:
65
การสงเกตในชดขอมลใหมมคาใหมสำาหรบพชตวแปร
ตวอยางท 2: การใช UPDATE ดวยคาซำาของตวแปร
ถาขอมลชดหลกมขอสงเกตสองขอทมคาเดยวกนของจำาแนกตามตวแปรครงแรกทสงเกตจะมการปรบปรงและการสงเกตทสองจะถกละเวน SAS เขยนขอความเตอนไปยงลอก ถาธรกรรมชดขอมลทมคาทซ ำากนจากจำาแนกตามตวแปร SAS ใชการทำาธรกรรมทงการสงเกตคาทคดลอกลงใน
66
โปรแกรมเวกเตอรขอมลถกเขยนไปยงชดขอมลใหม ตอไปนแสดงใหเหน MASTER1 และปอนขอมล DUPPLANT
เมอขนตอนนรนขอมล, SAS สรางขอความแจงเตอนทระบวามมากกวาหนงสงเกตโดยกลม อยางไรกตามขนตอนขอมลอยางตอเนองเพอประมวลผลและขอมลชด UPDATE1 จะถกสรางขน
ชดขอมลผลการศกษามเจดขอสงเกต 2 และ 3 คาสงเกต มคาทซำากนจากจำาแนกตามตวแปรทใชรวมกน แตคาของตวแปร PLANT1 ไมไดถกปรบปรงเกดขนสองทของทซำากน
67
ต ว อ ย า ง ท 3: UPDATE ใ ช ส ำา ห ร บ ก า ร ป ร ะ ม ว ล ผ ล ข อ ส ง เ ก ต Nonmatched, คาทหายไปและตวแปรใหม
ในตวอยางนชดขอมล MASTER2 เปนขอมลหลกตง มนไมไดมคาทหายไปสำาหรบ Plant2 ตวแปรในครงแรกทสงเกตและไมทงหมดของคาของตวแปรโดยทวไปจะรวมการทำาธรกรรม NONPLANT ชดขอมลทมตวแปรใหมคาใหมของตวแปรโดยทวไปและคานยมทหายไปสำาหรบขอสงเกตทหลาย ตอไปน แสดงใหเหน MASTER2 และชดป อนขอมล NONPLANT:
ดงทแสดงการสงเกตทงหมดตอนนมคาสำาหรบตวแปรแร มลคาของแรมการตงคาทหายไปสำาหรบขอสงเกตบาง 2 สงเกตและ 6 ใน
68
รายการชดขอมลทไมไดมขอสงเกตทสอดคลองกนใน MASTER2 และพวกเขาไดกลายเปนขอสงเกตใหม สงเกตจาก 3 หลกชดขอมลถกเขยนไปยงดาตาเซตใหมโดยไมมการเปลยนแปลงและความคมคาสำาหรบ Plant2 ในการสงเกต 4 กไมไดเปลยนไปหายไป สามขอสงเกตในชดขอมลใหมมการปรบปรงคาสำาหรบตวแปร Plant2
มลคาของ Plant2 ใน 5 ขอสงเกตการตงค าท หายไปเพราะ UpdateMode = ต ว เล อ ก NOMISSINGCHECK มผ ล ใช บ ง ค บ สำาหรบตวอยางทมรายละเอยดสำาหรบการปรบปรงชดขอมลดการรวมและการปรบเปลยนชดขอมล SAS: ตวอยาง
69
ตวอยาง 4: การปรบปรงขอมลหลกตงโดยการเพมการสงเกต
ถาธรกรรมชดขอมลทมการสงเกตทไมตรงกบการสงเกตในขอมลชดตนแบบทคณตองปรบเปลยนโปรแกรม มลคาปใน 5 ขอสงเกตของการทำาธรกรรมสามารถจบคไดใน MASTER ไมม ตอไปนแสดงใหเหน MASTER และรายการทเกยวโยงปอนชดขอมล:
คณตองใชคำาสงเอาทพททชดเจนทจะเขยนใหมเพอสงเกตหลกชดขอมล (ดำาเนนการเรมตนสำาหรบขอมลทเปนขนตอนทใชคำาสงปรบเปลยนคอเปลยนไมไดเอาทพท) เมอคณระบงบผลผลตทชดเจนคณจะตองระบคำาสงแทนทขนตอนการปรบปรงขอมลตอไปน MASTER ชดขอมลขนอยกบคาในการทำาธรกรรมและเพมการสงเกตใหม โปรแกรมนยงใชตวแปร
70
อตโนมต _IORC_ สำาหรบขอผดพลาดการตรวจสอบ (สำาหรบขอมลเพมเตมเก ยวกบการตรวจสอบขอผดพลาดดได จาก Error Checking When Using Indexes to Randomly Access or Update Data.
Error Checking When Using Indexes to Randomly Access or Update Data
การตรวจสอบขอผดพลาดเมอใชดชนเพอเขาสมหรอการปรบปรงขอมล
ความสำาคญของการตรวจสอบขอผดพลาด
เมออานขอสงเกตกบตงคาคำาสงและตวเลอกสำาคญหรอมคำาสงแกไข การตรวจสอบขอผดพลาดทมความจ ำาเปนดวยเหตผลหลายประการ เหตผลทสำาคญทสดคอเครองมอเหลานใชวธการเขาถงไมตอเนองและเพอใหมการรบประกนวาการสงเกตจะอยทตรงตามคำาขอ การตรวจสอบขอผดพลาดคณสามารถดำาเนนการโดยตรงจากรหสเฉพาะ ผลของการดำาเนนการขนอยกบ I / O โปรแกรมของคณจะดำาเนนตอไปสำาหรบเงอนไขทคาดหวงและยตการดำาเนนการเมอผลทไมคาดคดเกดขน
เครองมอของการตรวจสอบขอผดพลาด
71
เครองมอทงสองไดถกสรางขนเพอใหการตรวจสอบขอผดพลาดงายขนเมอคณใชคำาสง MODIFY หรอคำาสง SET ซงเปนตวเลอกสำาคญในการประมวลผลขอมล SAS
_IORC_ ตวแปรอตโนมต SYSRC เรยกคำาสงอตโนมต คำาสงทประกอบดวยคำาสงยอย
_IORC_ ถกสรางขนโดยอตโนมต เมอคณใชคำาสง MODIFY หรอคำาสง SET ซงเปนตวเลอกสำาคญ
กลบเปนรหสตวเลขทบงชวาสถานะของการดำาเนนการ I / O จากดำาเนนการเรวทสดนใชค ำาส ง MODIFY หรอ SET ตรวจสอบคาของตวแปรน จะชวยใหคณสามารถตรวจสอบเงอนไข I / O ทผดปกต และดำาเนนการลงรหสเฉพาะแทนทจะมการประยกตใชอยางผดปกต จากตวอยาง ถาคากรอกตวแปรไมตรงกบขอสงเกตสมมตฐานสองสมมตฐาน อาจจะตองรวมเอาทพททตงสมมตฐาน หากสมมตฐานไมตรงกน อาจเพยงเขยนบนท กลงในแฟมบนท ก เพราะค าของตวแปรอตโนมต _IORC_ ทนำาเขาและอาจมการเปลยนแปลง SYSRC แมโครถกสรางขนเพอชวยใหคณสามารถทดสอบเงอนไข I / O โดยเฉพาะในขณะทปกปองรหสของคณจากการเปลยนแปลงในอนาคตคา _IORC_ เม อคณใช SYSRC คณสามารถตรวจสอบคาของ _IORC_ โดยระบ Mnemonic ไวในตารางตอไปน
ทพบมากทสดของคา Mnemonic _IORC_ สำาหรบการประมวลผลขน DATAMnemonic value จำา
Meaning of return code
When return code occurs
72
_DSENMRตงคาขอมลทเปนรายการเ ป ล ย น แ ป ล ง ต ง ข อสงเกตชดขอมลทไมอยในขอมลหลก
เล อกใช MODIFY และไมมการซำากนเกดขน
_DSEMTR ข อ ม ล Multiple TRANSACTION ข อสงเกตเดยวกนโดยคาตวแปรทไมอย ในชดขอมล MASTER
เปลยนแปลงตามการใช และขอสงเกตเดยวกนโดยในขอมลแรกทกำาหนด ไมพ บ ค า ท เ ข า ค ก น ใ นสถานการณเชนนครงแรกทสงเกตวาล มเหลวทจะพ บ ก า ร เ ข า ค ก น ก ล บ _DSENMR ขอสงเกตทตามมากลบ _DSEMTR
_DSENOM ไมมการจบคการสงเกตถกพบใน MASTER ชดขอมล
ตงคาหรอเปลยนแปลงคำาสง ไมมการซำากน
_SENOCHN การด ำา เน นการสงออกประสบความสำาเรจ
เลอกคำาสง MODIFY ในการปรบเปลยนคำาสงทมคาทซำากน
_SOK การด ำาเน นการ I / O ก ประสบความสำาเรจ
คนพบการเขาคกน
ตวอยางท 1: เสนทางการประมวลผลเมอสภาพทไมคาดคดเกดขน
ภาพรวม
73
ตวอยางนแสดงใหเหนถงวธการปองกนสภาพทไมคาดคดจากการยกเลกขนตอนขอมล เปาหมายคอการปรบปรงชดขอมล ดวยขอมลใหมจากการ transaction ชดขอมล โปรแกรมนอนมานวามคาทซ ำากนไมมตวแปรรวมกนในขอมลทงชด
หมายเหต: โปรแกรมนจะทำางานไดตามทคาดไวเฉพาะในกรณทหลกและชดขอมลทมขอสงเกตทตดตอกนทมคาเดยวกนส ำาหรบตวแปรทพบบอย สำาหรบคำาอธบายจากพฤตกรรมของการปรบเปลยน เมอดค ำาสงปรบเปลยนใน SAS ภาษาอางอง: พจนานกรม
นำาเขาชดขอมล
รายการชดขอมลทมสามขอสงเกต สองการปรบปรงขอมลใน MASTER และสงเกตใหมเกยวกบคาหมายเลข 6 ชนสวน ทตองการทจะเพมเขามา MASTER การจดทำาดชนเมอหมายเลขชนสวน ไมมคาทซ ำากนจากหมายเลขชนสวนใน MASTER หรอรายการไว ตอไปนแสดงใหเหน MASTER และรายการทเกยวโยงใสชดขอมล
MASTER TRANSACTION
OBS PartNumber Quantity OBS PartNumber AddQuantity
1 1 10 1 4 14 2 2 20 2 6 16 3 3 30 3 2 12 4 4 40 5 5 50
โปรแกรมเดม
74
วตถประสงคคอการปรบปรงขอมลหลกทก ำาหนดดวยขอมลจากรายการชดขอมล โปรแกรมอานรายการตามลำาดบ MASTER จะอานโดยตรงไมไดเรยงตามลำาดบ, ใชคำาสงปรบเปลยนและเลอกคำาสง
ขอสงเกตเทานนทมคาทตรงกนสำาหรบหมายเลขชนสวนซงเปนตวแปรทสำาคญจะมการอานจาก MASTER
data master; set transaction; modify master key=PartNumber; Quantity = Quantity + AddQuantity; run;
Open the MASTER data set for update. Read an observation from the TRANSACTION data set.
Match observations from the MASTER data set based on the values of PartNumber.
Update the information on Quantity by adding the new values from the TRANSACTION data set.
สงผลใหเขาสระบบ
โปรแกรมนไดรบการปรบปรงอยางถกตองแตมนหยดเมอมนไมสามารถพบการเขาคกนสำาหรบคาหมายเลขชนสวน 6 บรรทดตอไปนถกเขยนไปยงลอก SAS:
ERROR: No matching observation was found in MASTER data set. PartNumber=6 AddQuantity=16 Quantity=70 _ERROR_=1 _IORC_=1230015 _N_=2
75
NOTE: The SAS System stopped processing this step because of errors. NOTE: The data set WORK.MASTER has been updated. There were 1 observations rewritten, 0 observations added and 0 observations deleted.
Resulting Data Set
ไฟล MASTER ไดรบการปรบปรงอยางไมถกตอง ตนแบบทมการปรบปรงมหาขอสงเกต ขอสงเกตทหนงไดรบการปรบปรงอยางถกตอง ขอสงเกตใหมไมไดเพมและไมไดปรบปรงตอไปนแสดงใหเหน MASTER ชดอพเดตขอมลไมถกตอง
MASTER
OBS PartNumber Quantity 1 1 10 2 2 20 3 3 30 4 4 54 5 5 50Revised Program
โปรแกรมแกไข
วตถประสงคคอการใชสองการปรบปรงและหนงนอกเหนอไปจาก MASTER ปองกนไมใหขนตอนทขอมลจากการหยดเมอมนไมพบการเขาคกนใน MASTER สำาหรบคาหมายเลขชนสวนท 6 ในรายการ โดยการเพมการตรวจสอบขอผดพลาดในขนตอนนขอมลทไดรบอนญาตใหเสรจสมบรณตามปกตและผลตเปนรนทปรบปรงอยางถกตองจาก MASTER
76
โปรแกรมนใชต วแปรอตโนมต _IORC_ และแมโคร เรยกอตโนมต SYSRC ในกลมเลอกทจะตรวจสอบคาของตวแปร _IORC_ และดำาเนนการกรอกรหสทเหมาะสมขนอยกบวาหรอไมการเขาคกนถกพบ
data master; set transaction; modify master key=PartNumber; select(_iorc_); when(%sysrc(_sok)) do; Quantity = Quantity + AddQuantity; replace; end; when(%sysrc(_dsenom)) do; Quantity = AddQuantity; _error_ = 0; output; end; otherwise do; put 'ERROR: Unexpected value for _IORC_= ' _iorc_; put 'Program terminating. Data step iteration # ' _n_; put _all_; stop; end; end;run;
Open the MASTER data set for update.
Read an observation from the TRANSACTION data set.
Match observations from the MASTER data set based on the value of PartNumber.
77
ใชหลกสตรทถกตองของการดำาเนนการขนอยก บวาคาทตรงกนสำาหรบการหมายเลขชนสวนทพบใน MASTER ปรบปรงจำานวนโดยการเพมคาใหมจากรายการกลมทเลอกดำาเนนการเพอนำารหสทถกตอง เมอการเขาคกนเกดขน (_SOK) ปรบปรงจำานวนและแทนทการสงเกตเปนตนฉบบใน MASTER เมอมการเขาคกน (_DSENOM) จำานวนชดเทากบจ ำานวนเง น เพ มจ ำานวน จากรายการเป นและผนวกการสงเกตใหม _ERROR_ ถกรเซตเปน 0 เพอปองกนไมใหเงอนไขขอผดพลาดทจะเขยนเนอหาของเวกเตอรขอมลโปรแกรมลงในบนทก SAS เมอสภาพทไมคาดคดเกดขนเขยนขอความและเนอหาของเวกเตอรขอมลโปรแกรมเพอบนทกและหยดขนตอน
Resulting Log
สงผลใหเขาสระบบ
ขนตอนการดำาเนนการขอมลไมมขอผดพลาดและขอสงเกตไดรบการปรบปรงใหเหมาะสมและเพมบรรทดตอไปนถกเขยนไปยงลอก SAS: หมายเหต : WORK.MASTER ช ดขอม ลท ได ร บการปรบปร ง นอกจากนน 2 ขอสงเกตเขยนใหม 1 ขอสงเกตเพมและ 0 สงเกตลบ
Correctly Updated MASTER Data Set
MASTER ทปรบปรงแลวสำาหรบคาหมายเลขชนสวน 2 และ 4 และสงเกตใหมสำาหรบคาหมายเลขชนสวน 6 ตอไปนแสดงใหเหน MASTER ชดปรบปรงอยางถกตองของขอมล:
MASTER
78
OBS PartNumber Quantity 1 1 10 2 2 32 3 3 30 4 4 54 5 5 50 6 6 16 Example 2: Using Error Checking on All Statements That Use KEY=Overview
ตวอยางนแสดงวธการทส ำาคญกคอการใชการตรวจสอบขอผดพลาดของขอมลทงหมดทใช ตวเลอกทสำาคญเมอมการอานขอมล
ขอมลนำาเขาชด
MASTER และช ดขอม ลรายละเอ ยดมท งการจดท ำาด ชน เม อหมายเลขชนสวนสงซอชดขอมลทมคาสำาหรบทกสวนในลำาดบเดยว สงซอเฉพาะของมคาหมายเลขชนสวน 8 ตอไปนแสดงใหเหน MASTER ออกคำาสงและคำาอธบายชดขอมลทปอนเขา
MASTER ORDER
OBS PartNumber Quantity OBS PartNumber
1 100 10 1 200 2 200 20 2 400 3 300 30 3 100 4 400 40 4 300 5 500 50 5 800 6 500 7 600
79
DESCRIPTION
OBS PartNumber PartDescription
1 400 Nuts 2 300 Bolts 3 200 Screws 4 600 Washers
Original Program with Logic Error
โดยมวตถประสงคเพอสรางชดขอมลทมรายละเอยดและจำานวนในสตอกสำาหรบการมสวนรวมในการสงเพยงครงเดยว ยกเวนสำาหรบชนสวนทไมพบในทงสองชดขอมลเขา MASTER และคำาอธบายรายการชดขอมลทมตวเลขสวนหนงของชนสวนทงหมดทอยในลำาดบเดยว ชดขอมลจะถกอานเพอดงรายละเอยดของสวนหนงและอกสวนหนงจะถกอานเพอดงปรมาณทมอยในสตอก
โปรแกรมอานขอมลรายการสงทกำาหนดไวตามลำาดบแลวใชคำาสง SET ในการอานขอมลหลกและคำาอธบายชดโดยตรงขนอยก บคาทส ำาคญของหมายเลขชนสวน เมอการเขาคกนเกดขนในการสงเกตเปนลายลกษณอกษรทมขอมลทจำาเปนทงหมดสำาหรบมลคาของแตละหมายเลขชนสวนในรายการสง ความพยายามครงแรกทใชการแกปญหาขอผดพลาดการตรวจสอบเพยงหนงในสองรายการทใชเปนกญแจสำาคญในการอานขอมลชด
data combine; length PartDescription $ 15; set order; set description key=PartNumber; set master key=PartNumber; select(_iorc_); when(%sysrc(_sok)) do; output;
80
end; when(%sysrc(_dsenom)) do; PartDescription = 'No description'; _error_ = 0; output; end; otherwise do; put 'ERROR: Unexpected value for _IORC_= ' _iorc_; put 'Program terminating.'; put _all_; stop; end; end;run;
Create the COMBINE data set.
อาน สงเกต จากรายการสงชดขอมล อาน สงเกต จากคำาอธบายและขอมลหลกขนอยกบคาทตรงกนสำาหรบ หมายเลขชนสวน ตวแปรทสำาคญ โปรดทราบวา การตรวจสอบ ไมมขอผดพลาด เกดขนหลงจาก การสงเกตจะถกอาน จากคำาอธบาย ใชหลกสตร การกระทำาทถกตองขนอยก บวาคาทตรงกน ส ำาหรบหมายเลขชนสวน ทพบใน MASTER หรอคำาอธบาย ( ตรรกะ นจะขนอย บนสมมตฐาน ทผดพลาดวา กลมนเลอกดำาเนนการตรวจสอบ ขอผดพลาด ทงของรายการ กอนหนาน ทมใชตวเลอกมนจรง จะดำาเนนการตรวจสอบขอผดพลาดเรวทสด )กลมทเลอกนำาไปดำาเนนการ รหสทถกตอง เมอการเขาคกนเกดขน ( _SOK ) คาของ หมายเลขชนสวน ใน การสงเกตทจะถก อานจาก MASTER ตรงกบคา หมายเลขชนสวนปจจบนจาก รายการสง ดงนน ผล การสงเกต เมอไมมการเขาคกน( _DSENOM ) , ขอสงเกต ในการ MASTER มคาปจจบนของ หมายเลขชนสวน เพอ กำาหนดคาของ PartDescription เหมาะสมและ สงออก สงเกต _ERROR_ ถกรเซต
81
เปน 0 เพอปองกนไมให เงอนไข ขอผดพลาดทจะเขยนเนอหาของเวกเตอร ขอมลโปรแกรม ลงในบนทก SAS เมอสภาพ ทไมคาดคดเกดขน เขยนขอความ และ เนอหาของเวกเตอร ขอมล โปรแกรมเพอ บนทกและหยดขนตอน ขอมล
Resulting Log
โปรแกรมนจะสรางการแสดงผลขอมลชด แตดำาเนนการหนงในขอผดพลาดบรรทดตอไปนถกเขยนไปยงลอก SAS:
PartNumber=1 PartDescription=Nuts Quantity=10 _ERROR_=1 _IORC_=0 _N_=3 PartNumber=5 PartDescription=No description Quantity=50 _ERROR_=1 _IORC_=0 _N_=6 NOTE: The data set WORK.COMBINE has 7 observations and 3 variables.
Resulting Data Set
ตอไปนแสดงใหเหนวาถกสรางขนอยางไมถกตองขอมล COMBINE 5 ตงขอสงเกตไมควรอยในขอมลชดน มลคา 8 หมายเลขชนสวนไมอยใน MASTER อยางใดอยางหนงหรอคำาอธบายดงนนจำานวนไมควรจะแสดงสำาหรบมน นอกจากนยงมขอสงเกตท 3 และ 7 มคำาอธบายจาก 2 ขอสงเกตและ 6 ตามลำาดบ
82
COMBINE
OBS PartNumber PartDescription Quantity 1 2 Screws 20 2 4 Nuts 40 3 1 Nuts 10 4 3 Bolts 30 5 8 No description 30 6 5 No description 50 7 6 No description 50
Revised Program
เพอสรางผลลพธทถกตองชดขอมลตวอยางนจะด ำาเนนการตรวจสอบขอผดทงรายการทใชตวเลอกสำาคญ:
data combine(drop=Foundes); length PartDescription $ 15; set order; Foundes = 0; set description key=PartNumber; select(_iorc_); when(%sysrc(_sok)) do; Foundes = 1; end; when(%sysrc(_dsenom)) do; PartDescription = 'No description'; _error_ = 0; end; otherwise do; put 'ERROR: Unexpected value for _IORC_= ' _iorc_;
83
put 'Program terminating. Data set accessed is DESCRIPTION'; put _all_; _error_ = 0; stop; end; end;set master key=PartNumber; select(_iorc_); when(%sysrc(_sok)) do; output; end; when(%sysrc(_dsenom)) do; if not Foundes then do; _error_ = 0; put 'WARNING: PartNumber ' PartNumber 'is not in' ' DESCRIPTION or MASTER.'; end; else do; Quantity = 0; _error_ = 0; output; end; end; otherwise do; put 'ERROR: Unexpected value for _IORC_= ' _iorc_; put 'Program terminating. Data set accessed is MASTER'; put _all_; _error_ = 0; stop; end; end; /* ends the SELECT group */
84
Create the COMBINE data set.
อาน สงเกต จากรายการสงชดขอมล สราง Foundes ตวแปรเพอใหคา ของมนสามารถ นำามาใช เพอระบวาคาหมายเลขชนสวนม เมอมการเขาคกน คำาอธบายชดขอมล อาน สงเกต จาก คำาอธบาย ชดขอมลโดยใช หมายเลขชนสวน เปนตวแปรทสำาคญ
ใชหลกสตร ทถกตอง ของการดำาเนนการ ขนอยกบวาคาทตรงกน สำาหรบการ หมายเลขชนสวน ทพบใน รายละเอยด กลมทเลอก ดำาเนนการ เพอนำารหสทถกตอง ขนอยกบมลคา ของ _IORC_ เมอ การเขาคกนเกดขน ( _SOK ) คาของ หมายเลขชนสวน ในการสงเกตจะถกอาน จากคำาอธบาย ตรงกบคา ปจจบนจาก order Foundes จะถกตงคา เปน 1 เพอ แสดงใหเหนวา รายละเอยด สวนรวมในการสงเกต ในปจจบนไมมการซำากน ( _DSENOM ) ไมม ขอสงเกต ในคำาอธบาย ทมคาปจจบนของ หมายเลขชนสวน เพอให คำาอธบาย มการตงคาอยางเหมาะสม _ERROR_ ถกรเซตเปน 0 เพอปองกนไมให เกดขอผดพลาดท จะเขยน เนอหาของเวกเตอร ลงในบนทก SAS มลคา _IORC_ อน ๆ ท พบขอบงชสภาพทไมคาดคด ดงนน ขอความถกเขยนไปยงลอกและขนตอนทขอมลจะถก หยด
85
อาน สงเกต จาก MASTER ชด ขอมลโดยใช หมายเลขชนสวน เปนตวแปร ทสำาคญ
ใชหลกสตร ทถกตอง ของการดำาเนนการ ขนอยกบวาคาทตรงกน ส ำาหรบการ หมายเลขช นสวน ท พบใน MASTER เม อพบการซ ำาก น ( _SOK ) หมายเลขช นสวน ระหวางป จจ บนจาก order และ จาก MASTER , เขยน สงเกต เม อ ไมพบการซ ำาก น ( _DSENOM ) ใน MASTER , ทดสอบคา ของ Foundes ถา Foundes ไมเปนความจรง แลวไมพบคาในรายละเอยด อยางใดอยางหนง เพอให เขยนขอความ ลงในแฟมบนทกแต ไมไดเขยน สงเกต ถา Foundes เปนความจรง แต คาเปน ในคำาอธบาย แตไม MASTER ดงนน เขยน สงเกตแต กำาหนด จำานวน ถง 0 อกคร งถาสภาพ ทไมคาดคด เกดขน เขยนขอความและหยดขนตอน ขอมล
Resulting Log
ขนตอนขอมลดำาเนนการโดยไมผดพลาด หากขอสงเกตทถกสรางขนอยางถกตองและขอความตอไปนถกเขยนขนเพอบนทก: Correctly Created COMBINE Data Set
ตอไปนแสดงใหเหนถงการปรบปรงอยางถกตองขอมล COMBINE ตง โปรดทราบวาไมไดมการสงเกตหมายเลขชนสวนทมมลคา 8 คานจะไมเกดขนใน MASTER อยางใดอยางหนงหรอคำาอธบาย
COMBINE
OBS PartNumber PartDescription Quantity
1 2 Screws 20 2 4 Nuts 40 3 1 No description 10 4 3 Bolts 30
86
5 5 No description 50 6 6 Washers 0