การแปลงตัวระบุแหล่งที่มาใน Informatica ด้วยตัวอย่าง
⚡ สรุปอย่างชาญฉลาด
การแปลงข้อมูลแบบ Source Qualifier ใน Informatica แสดงถึงแถวข้อมูลที่ Integration Service อ่านจากแหล่งข้อมูลเชิงสัมพันธ์หรือไฟล์ข้อความธรรมดา และช่วยให้นักพัฒนาสามารถแทนที่การสืบค้นข้อมูลเริ่มต้น กรอง จัดเรียง และลบข้อมูลซ้ำซ้อนได้

การแปลง Source Qualifier คืออะไร?
การแปลงข้อมูล Source Qualifier เป็นการแปลงข้อมูลแบบแอคทีฟและเชื่อมต่อกัน ซึ่งแสดงถึงแถวข้อมูลที่ Integration Service อ่านเมื่อเซสชันทำงาน เมื่อใดก็ตามที่มีการเพิ่มแหล่งข้อมูลเชิงสัมพันธ์หรือไฟล์ข้อความธรรมดาลงในแผนที่pingจำเป็นต้องมีการแปลงข้อมูลด้วย Source Qualifier และ Designer จะเพิ่มการแปลงนี้ให้โดยอัตโนมัติ ด้วย Source Qualifier คุณสามารถกำหนดและแก้ไขวิธีการดึงข้อมูลจากแหล่งที่มาได้
การแปลงข้อมูลนี้ยังแปลงชนิดข้อมูลดั้งเดิมของแหล่งข้อมูลให้เป็นชนิดข้อมูลการแปลงของ Informatica ด้วย ดังนั้นการแปลงข้อมูลทุกอย่างที่อยู่หลังจากนั้นจึงทำงานกับชุดชนิดข้อมูลที่ไม่ขึ้นกับแพลตฟอร์มชุดเดียวกัน
เนื่องจาก Source Qualifier เป็นตัวสร้างคำสั่งค้นหาที่ส่งไปยังฐานข้อมูลจริง ดังนั้นจึงเป็นจุดแรกที่ควรตรวจสอบเมื่อต้องการทราบข้อมูลเพิ่มเติม แผนที่ping อ่านข้อมูลจำนวนแถวหรือคอลัมน์มากกว่าที่จำเป็น ตัวอย่างด้านล่างนี้ลดจำนวนคอลัมน์ในการค้นหาลงเหลือเพียงสี่คอลัมน์
วิธีการแก้ไข Source Qualifier ใน Informatica
ในตัวอย่างต่อไปนี้ เราจะแก้ไข Source Qualifier ของแผนที่ของเราping ใช้ “m_emp_emp_target” เพื่อให้แทนที่จะส่งคืนคอลัมน์ทั้งหมด จะส่งคืนเฉพาะคอลัมน์ที่เลือกไว้เท่านั้น
ขั้นตอน 1) เปิดแผนที่ping “m_emp_emp_target” ในแผนที่ping นักออกแบบ แผนที่ping เริ่มต้นด้วยการแสดงแหล่งที่มาของ EMP, ตัวกำหนดคุณสมบัติแหล่งที่มา SQ_EMP และเป้าหมาย EMP_TARGET บนผืนผ้าใบ
ขั้นตอน 2) Double-คลิกที่การแปลง Source Qualifier “SQ_EMP” หน้าต่างแก้ไขการแปลงสำหรับวัตถุนั้นจะเปิดขึ้น จากนั้น
- คลิกแท็บ คุณสมบัติ
- คลิก SQL ตัวเลือก Query Modify ซึ่งจะเปิดหน้าต่างตัวแก้ไข SQL
แท็บ Properties จะแสดงรายการคำสั่ง SQL ที่แสดงอยู่ด้านล่าง
ขั้นตอน 3) ในหน้าต่างตัวแก้ไข SQL
- กรอกแบบสอบถามต่อไปนี้
SELECT EMPNO, ENAME, JOB, MGR FROM EMP
หมายเหตุ – เราเลือกคอลัมน์ EMPNO, ENAME, JOB และ MGR จากแหล่งข้อมูล ดังนั้นเราจึงเก็บเฉพาะคอลัมน์เหล่านั้นไว้ในคำสั่ง SELECT
- กดปุ่ม OK
ขณะนี้โปรแกรมแก้ไข SQL จะเก็บคำสั่ง SQL ที่กำหนดเองแทนที่จะเป็นคำสั่งที่สร้างขึ้นโดยอัตโนมัติ
ขั้นตอน 4) ในหน้าต่างแก้ไขการแปลง (Edit Transformations window)
- เลือกแท็บ "พอร์ต" จากเมนู
- ในแท็บ Ports คุณจะเห็นพอร์ตทั้งหมด ให้เก็บเฉพาะพอร์ต EMPNO, ENAME, JOB, MGR ไว้ และลบพอร์ตอื่นๆ ออก
แท็บ Ports จะแสดงรายการพอร์ตทั้งหมดที่ใช้งานโดยการแปลงข้อมูลก่อนที่จะทำการลบ
ขั้นตอน 5) หลังจากลบพอร์ตแล้ว ให้เลือกปุ่ม OK จะมีเพียงสี่พอร์ตที่เหลืออยู่ในรายการ
ตอนนี้ให้คลิกแท็บ Properties อีกครั้งในหน้าต่าง Edit Transformations แล้วคุณจะเห็นเฉพาะข้อมูลที่คุณเลือกไว้เท่านั้น
เมื่อคุณคลิกปุ่ม “ตกลง” หน้าต่างแก้ไข SQL จะเปิดขึ้น
- ขั้นตอนนี้จะยืนยันว่าข้อมูลที่คุณเลือกนั้นถูกต้องและพร้อมสำหรับการโหลดลงในตารางเป้าหมาย
- คลิกปุ่ม OK เพื่อดำเนินการต่อ
หน้าต่างยืนยันจะแสดงคอลัมน์ทั้งสี่ซ้ำอีกครั้ง ซึ่งจะเป็นคอลัมน์ที่ต้องอ่านต่อไปนี้
บันทึกแผนที่ping (โดยใช้ปุ่มลัด Ctrl+S) และเรียกใช้คำสั่ง เวิร์กโฟลว์หลังจากดำเนินการเสร็จสิ้น เฉพาะคอลัมน์ที่เลือกไว้เท่านั้นที่จะถูกโหลดไปยังปลายทาง
ด้วยวิธีนี้ คุณสามารถกำหนดค่าใน Source Qualifier ว่าคอลัมน์ใดบ้างที่ต้องดึงมาจากแหล่งข้อมูล และนี่เป็นวิธีเดียวที่จะควบคุมว่าคอลัมน์ใดบ้างที่จะถูกนำเข้ามาในแผนที่ping.
คุณสมบัติของตัวระบุแหล่งที่มา
คุณสามารถใช้คุณสมบัติต่างๆ ของ Source Qualifier เพื่อกำหนดประเภทของข้อมูลต้นทางที่ต้องได้รับการแปลงและส่งไปยังตารางเป้าหมายได้
- ตัวกรองแหล่งที่มา – การใช้คุณสมบัติ Source Filter จะช่วยลดจำนวนระเบียนแหล่งข้อมูลได้ ตัวอย่างเช่น หากคุณต้องการดึงข้อมูลเฉพาะพนักงานของแผนกหมายเลข 10 คุณสามารถป้อนเงื่อนไขตัวกรอง deptno=10 ในคุณสมบัติ Source Filter แล้วเรียกใช้ข้อมูลได้ โปรดระบุชื่อตารางและชื่อพอร์ตในเงื่อนไข และอย่าใส่คำว่า WHERE – ตัวกรองที่มี WHERE จะทำให้เซสชันล้มเหลว
- จำนวนพอร์ตที่เรียงลำดับแล้ว – ในการแปลงข้อมูล Source Qualifier คุณยังสามารถเรียงลำดับข้อมูลขาเข้าตามตำแหน่งพอร์ตได้ด้วย Integration Service จะเพิ่มคำสั่ง ORDER BY ลงในแบบสอบถามเริ่มต้น โดยนับพอร์ตจากด้านบนของการแปลงข้อมูล ดังนั้นข้อมูลจึงถูกเรียงลำดับแล้วเมื่อมาถึงการแปลงข้อมูลภายในแผนที่ping.
เนื่องจากข้อมูลสามารถเรียงลำดับได้ตามพอร์ตเดียวหรือหลายพอร์ต คุณจึงต้องระบุจำนวนพอร์ตที่จะใช้ในการเรียงลำดับ หากคุณระบุค่า 1 ข้อมูลจะถูกเรียงลำดับเฉพาะตามหมายเลขพนักงาน (empno) เท่านั้น หากคุณระบุค่า 2 ข้อมูลจะถูกเรียงลำดับตามทั้งหมายเลขพนักงาน (empno) และชื่อพนักงาน (ename)
- เลือกความแตกต่าง – คุณสามารถดึงเฉพาะระเบียนที่ไม่ซ้ำกันจากแหล่งข้อมูลโดยใช้คุณสมบัตินี้ เมื่อคุณเลือกตัวเลือก Select Distinct บริการ Integration Service จะเพิ่มคำสั่ง SELECT DISTINCT เพื่อให้เฉพาะชุดค่าผสมที่ไม่ซ้ำกันของข้อมูลจากแหล่งข้อมูลเท่านั้นที่จะถูกดึงโดย Source Qualifier
แท็บ "คุณสมบัติ" ที่แสดงด้านล่างนี้ รวบรวมตัวเลือกเหล่านี้ไว้พร้อมกับรายการคุณสมบัติอื่นๆ ทั้งหมด
ตารางด้านล่างนี้สรุปรายการคุณสมบัติทั้งหมดที่มีอยู่ใน Source Qualifier แบบเชิงสัมพันธ์
| อสังหาริมทรัพย์ | สิ่งที่มันไม่ |
|---|---|
| แบบสอบถาม SQL | แทนที่คำสั่งค้นหาเริ่มต้นที่สร้างโดย Integration Service คำสั่งค้นหาแบบกำหนดเองจะแทนที่การเชื่อมต่อที่ผู้ใช้กำหนดและตัวกรองแหล่งที่มา |
| การเข้าร่วมที่ผู้ใช้กำหนดเอง | ระบุเงื่อนไขที่ใช้ในการรวมข้อมูลจากหลายแหล่งที่แสดงโดยตัวระบุแหล่งที่มาเดียวกัน |
| ตัวกรองแหล่งที่มา | ระบุเงื่อนไขการกรองที่ Integration Service ใช้ในการสืบค้นข้อมูลแต่ละแถว |
| จำนวนพอร์ตที่เรียงลำดับแล้ว | จำนวนคอลัมน์ที่ใช้ในการเรียงลำดับแถวที่อ่านจากแหล่งข้อมูลเชิงสัมพันธ์ ซึ่งจะถูกเพิ่มเข้าไปในคำสั่งค้นหาโดยใช้คำสั่ง ORDER BY |
| Tracระดับ | ปริมาณรายละเอียดที่เขียนลงในบันทึกเซสชันสำหรับการแปลงข้อมูลนี้ |
| เลือกความแตกต่าง | ส่งคืนเฉพาะแถวที่ไม่ซ้ำกันโดยการเพิ่ม SELECT DISTINCT ลงในคำสั่งค้นหา |
| พรี-SQL | คำสั่งต่างๆ จะถูกเรียกใช้กับฐานข้อมูลต้นทางก่อนที่ Integration Service จะอ่านข้อมูลจากฐานข้อมูลนั้น |
| โพสต์-SQL | คำสั่งต่างๆ จะถูกเรียกใช้กับฐานข้อมูลต้นทางหลังจากที่ Integration Service เขียนข้อมูลลงในฐานข้อมูลปลายทางแล้ว |
| ผลลัพธ์เป็นแบบกำหนดได้แน่นอน | ระบุว่าแหล่งข้อมูลจะส่งคืนข้อมูลเดียวกันระหว่างการทำงานแต่ละครั้ง เมื่อข้อมูลนำเข้ามีความสอดคล้องกัน |
| ผลลัพธ์สามารถทำซ้ำได้ | ระบุว่าแหล่งข้อมูลจะส่งคืนแถวในลำดับเดียวกันระหว่างการทำงานแต่ละครั้ง ซึ่งช่วยให้ Integration Service ข้ามขั้นตอนการจัดเก็บชั่วคราวสำหรับการกู้คืนได้ |
กฎและแนวทางสำหรับการแทนที่ SQL ของตัวระบุแหล่งที่มา
การแทนที่ค่าใน SQL นั้นมีประสิทธิภาพมาก เพราะมันจะแทนที่ทุกอย่างที่ Designer สร้างขึ้น และนั่นก็เป็นเหตุผลว่าทำไมมันถึงเกิดข้อผิดพลาดโดยไม่มีการแจ้งเตือนใดๆ หากไม่ปฏิบัติตามกฎด้านล่าง
- เชื่อมต่อพอร์ตก่อน เชื่อมต่อพอร์ตอินพุตและเอาต์พุตทั้งหมดที่คุณต้องการใช้ก่อนที่จะป้อนคำสั่งค้นหา เนื่องจากคำสั่งค้นหาที่สร้างขึ้นนั้นสร้างขึ้นจากพอร์ตที่เชื่อมต่อไว้
- จัดเรียงรายการ SELECT ตามลำดับพอร์ต คำสั่ง SELECT ต้องระบุชื่อพอร์ตตามลำดับที่ปรากฏในการแปลงข้อมูล หากลำดับไม่ตรงกัน เซสชันอาจล้มเหลวหรือให้ผลลัพธ์ที่ไม่คาดคิด
- ระบุคุณสมบัติของทุกคอลัมน์ ชื่อคอลัมน์แต่ละชื่อจะต้องมีคำนำหน้าเป็นชื่อตาราง มุมมอง หรือชื่อพ้องที่คอลัมน์นั้นสังกัดอยู่ ตัวอย่างเช่น ORDERS.ORDER_ID
- สร้างไฟล์ก่อนแก้ไข การคลิกปุ่ม "สร้าง SQL" จะแสดงแบบสอบถามเริ่มต้น ซึ่งมีตัวกรองแหล่งที่มาและข้อความ "sorted-ports" อยู่แล้ว ดังนั้นจึงสามารถสร้างแบบสอบถามที่กำหนดเองได้จากคำสั่งที่ใช้งานได้
- ตรวจสอบความถูกต้องของข้อความ โปรแกรมแก้ไข SQL มีปุ่มตรวจสอบความถูกต้อง (Validate) ที่จะรันคำสั่ง SQL และรายงานว่าไวยากรณ์ถูกต้องหรือไม่ก่อนที่จะเริ่มเซสชัน
- อ้างอิงคำสงวน คำสงวนของฐานข้อมูลใดๆ ที่ใช้ในคำสั่งค้นหาจะต้องอยู่ในเครื่องหมายอัญประกาศ
- จงสังเกตตัวอย่างที่ผ่านมา การสืบค้นแบบกำหนดเองจะแทนที่ตัวกรองแหล่งที่มาและจำนวนพอร์ตที่เรียงลำดับ และคำสั่ง SQL ที่ป้อนในนั้น เซสชั่น คุณสมบัติเหล่านี้จะแทนที่ทั้งเงื่อนไขการกรองและคำสั่งค้นหาที่กำหนดไว้ในแผนที่ping.
ใช้เพื่อการ Microsoft SQL Server ในแหล่งข้อมูลมีกฎเพิ่มเติมอีกข้อหนึ่งคือ จำนวนคอลัมน์ในคำสั่ง SELECT ต้องตรงกับจำนวนพอร์ตในการแปลงข้อมูล มิฉะนั้นเซสชันจะล้มเหลวขณะดึงข้อมูลแถว
วิธีเชื่อมโยงแหล่งข้อมูลสองแหล่งด้วยตัวกรองแหล่งข้อมูลเพียงตัวเดียว
Source Qualifier เดียวสามารถอ่านข้อมูลจากหลายตารางได้ เมื่อตารางสองตารางที่เกี่ยวข้องกันจากแหล่งข้อมูลเชิงสัมพันธ์เดียวกันถูกเชื่อมโยงกับ Source Qualifier เดียว บริการ Integration Service จะทำการเชื่อมต่อตารางเหล่านั้นภายในแบบสอบถามแหล่งข้อมูล แทนที่จะเชื่อมต่อภายในแผนที่pingซึ่งหมายความว่าฐานข้อมูลจะเป็นผู้ดำเนินการ และมีจำนวนแถวข้อมูลส่งไปยังเซสชันน้อยลง
การเชื่อมต่อเริ่มต้นจะเป็นการเชื่อมต่อแบบเท่ากันภายใน (inner equijoin) ที่เขียนไว้ในส่วน WHERE โดยมีรูปแบบเป็น Source1.column_name = Source2.column_name สำหรับการสร้างการเชื่อมต่อนี้ คอลัมน์ที่เชื่อมต่อจะต้องมีความสัมพันธ์แบบคีย์หลัก-คีย์รอง และมีชนิดข้อมูลที่ตรงกัน หากเมตาเดต้าที่นำเข้าไม่มีความสัมพันธ์ดังกล่าว คุณสามารถสร้างความสัมพันธ์นั้นได้ในส่วนอื่น ตัววิเคราะห์แหล่งที่มา โดยการเชื่อมโยงคอลัมน์ที่ตรงกันของคำจำกัดความจากแหล่งข้อมูลทั้งสอง
เมื่อไม่มีความสัมพันธ์หรือการเชื่อมต่อต้องเป็นการเชื่อมต่อภายนอก ให้ใช้คุณสมบัติการเชื่อมต่อที่ผู้ใช้กำหนดเองแทน เงื่อนไขที่ป้อนในนั้นจะแทนที่ข้อมูลการเชื่อมต่อที่เก็บไว้ในเมตาเดตา และบริการการรวมระบบจะเพิ่มเงื่อนไขนั้นลงในแบบสอบถามที่สร้างขึ้น
มีข้อจำกัดสองประการที่ควรจดจำไว้ ตารางทั้งสองต้องมาจากแหล่งข้อมูลเชิงสัมพันธ์เดียวกัน และแหล่งข้อมูลประเภทต่างกัน เช่น ไฟล์ข้อความธรรมดาและตาราง หรือฐานข้อมูลสองฐานที่แตกต่างกัน จะต้องเชื่อมต่อกันด้วยเงื่อนไขที่กำหนดไว้ การเปลี่ยนแปลงของช่างไม้ แทน.
การแปลงข้อมูลแบบ Source Qualifier เทียบกับ Filter เทียบกับ Joiner
วัตถุทั้งสามชนิดนี้สามารถลดหรือรวมแถวได้ และการเลือกวัตถุที่ไม่ถูกต้องเป็นสาเหตุทั่วไปที่ทำให้การประมวลผลช้าลง ตารางด้านล่างแสดงวัตถุเหล่านั้นไว้เคียงข้างกัน
| แง่มุม | แหล่งที่มารอบคัดเลือก | การแปลงตัวกรอง | การเปลี่ยนแปลงของช่างไม้ |
|---|---|---|---|
| สถานที่ที่งานดำเนินไป | ในฐานข้อมูลต้นทาง ภายในคำสั่งค้นหาที่สร้างขึ้น | ในบริการการผสานรวม ทีละแถว | ใน Integration Service จะใช้แคช |
| วัตถุประสงค์หลัก | อ่านแถวจากแหล่งข้อมูล แก้ไขคำสั่งค้นหา กรอง จัดเรียง และลบข้อมูลซ้ำ | ลบแถวที่ไม่ตรงตามเงื่อนไขข้อใดข้อหนึ่ง | รวมไปป์ไลน์สองอันเข้าเป็นชุดแถวเดียว |
| ประเภทแหล่งที่มา | ตารางเชิงสัมพันธ์และไฟล์ข้อความธรรมดาจากแหล่งข้อมูลเดียว | ข้อมูลท่อส่งใดๆ | แหล่งข้อมูลที่หลากหลาย รวมถึงไฟล์ข้อความธรรมดาและฐานข้อมูลต่างๆ |
| ร่วมสนับสนุน | การเชื่อมต่อภายในแบบเท่ากัน (Inner equijoin) หรือการเชื่อมต่อที่ผู้ใช้กำหนดเองภายในแหล่งข้อมูลเชิงสัมพันธ์เดียว | ไม่มี | การเชื่อมต่อแบบปกติ, การเชื่อมต่อภายนอกหลัก, การเชื่อมต่อภายนอกรายละเอียด และการเชื่อมต่อภายนอกแบบเต็ม |
| แถวที่ตัดผ่านเครือข่าย | เฉพาะแถวที่คำสั่งค้นหาแสดงผลลัพธ์เท่านั้น | ทุกแถวในแหล่งข้อมูลจะถูกอ่านก่อน | ทุกแถวในแหล่งข้อมูลจะถูกอ่านก่อน |
หลักการปฏิบัติง่ายๆ คือ กรองและรวมข้อมูลให้เร็วที่สุดเท่าที่แหล่งข้อมูลจะเอื้ออำนวย และเลือกสิ่งที่ดีที่สุด ตัวกรอง หรือใช้ Joiner เฉพาะงานที่ฐานข้อมูลต้นทางไม่สามารถทำได้ การใส่เงื่อนไขลงใน Source Qualifier เป็นหนึ่งในวิธีที่ประหยัดที่สุดที่สามารถทำได้ การปรับแต่งประสิทธิภาพ.








