06 February 2009

DataStage: Find TOPn by Head Stage

นอกจากนี้การหา ค่าสูงสุด 20 อันดับแรกโดยใช้ Range Partition สามารถใช้อีกวิธีคือ การประยุกต์ใช้ Head Stage ดังนี้



รูป 1

จากรูป 1 เป็น Job ที่ใช้หาค่าสูงสุด 20 อันดับแรก หลังจากใช้ Sort Stage ที่ชื่อ srt_Data_In_Partition ในการเรยงลำดับข้อมูล CRN_BAL ในแต่ละ Partition จาก มากไปหาน้อยเรียบร้อยแล้ว จึงใช้ Head Stage ที่ชื่อ hd_Top_100 เลือกข้อมูล 100 อันดับแรก จากแต่ละ Partition โดย กำหนดค่า Property ใน Head Stage รูป 2) ดังนี้
- Rows
- Number of Rows (Per Partition) กำหนดเป็น 100 เพื่อเลือกข้อมูล 100 รายการแรก ของ ทุก Partition

- Partitions
- All Partitions กำหนดเป็น True เพื่อเลือกข้อมูล ทุก Partition




รูป 2

เมื่อผ่าน Head Stage ที่กล่าวมาจะทำให้ได้ ข้อมูลออกมา 400 รายการ แล้วจึง ใช้ Head Stage ชื่อ hd_Top_20_on_Partition_0 เพื่อเลือกข้อมูล เฉพาะ 20 รายการแรก โดยกำหนด ให้ Execution Mode เป็น Sequential เพื่อรวมข้อมูลที่ถูกแบ่งออกเป็น Partition เป็น File เดียว โดย กำหนดที่ Stage tab และ ไปที่ Advance Tab เลือกกำหนดค่า Execution Mode เป็น Sequential ที่ List Box ที่ชื่อ Execution Mode (รูป 3) จากนั้นจึง กำหนดค่า Number of Row (Per Partition) เป็น 20 และ All Partition เป็น True เพื่อเลือก 20 รายการแรก (รูป 4)



รูป 3



รูป 4

No comments: