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

การแปลงการค้นหาคืออะไร?
การแปลงข้อมูลแบบ Lookup คือการแปลงข้อมูลที่ใช้ในการค้นหาข้อมูลจากแหล่งข้อมูล ตัวบ่งชี้แหล่งข้อมูล หรือเป้าหมาย เพื่อดึงข้อมูลที่เกี่ยวข้อง โดยพื้นฐานแล้ว มันคือการดำเนินการแบบ Join ชนิดหนึ่ง ซึ่งตารางหนึ่งเป็นแหล่งข้อมูล และอีกตารางหนึ่งเป็นตารางที่ใช้ค้นหา แหล่งข้อมูลที่ใช้ค้นหานั้นอาจเป็นตารางเชิงสัมพันธ์ มุมมอง คำพ้องความหมาย หรือไฟล์ข้อความธรรมดา
การแปลงข้อมูลนี้เป็นแบบพาสซีฟ โดยจะส่งคืนแถวเดียวสำหรับแต่ละแถวที่เข้ามา ตั้งแต่ PowerCenter 9.x เป็นต้นไป สามารถสร้างการแปลงข้อมูลให้ส่งคืนทุกแถวที่ตรงกับเงื่อนไขได้ และในโหมดนี้จะเป็นการแปลงข้อมูลแบบแอคทีฟ การเลือกโหมดนี้จะเกิดขึ้นเมื่อสร้างการแปลงข้อมูล และไม่สามารถเปลี่ยนแปลงได้ในภายหลัง
มีสองวิธีในการวางตำแหน่งลงบนแผนที่pingและผลต่างนั้นจะเป็นตัวกำหนดว่าค่าที่ส่งกลับมาจะไปถึงส่วนที่เหลือของไปป์ไลน์ได้อย่างไร
| แง่มุม | การค้นหาที่เชื่อมต่อ | การค้นหาที่ไม่เชื่อมต่อ |
| ตำแหน่ง | อยู่ภายในไปป์ไลน์และรับค่าจากกระบวนการแปลงก่อนหน้า | อยู่นอกไปป์ไลน์และถูกเรียกใช้จากนิพจน์ |
| มันเรียกว่าอะไร | แถวต่างๆ ไหลเข้าสู่พอร์ตอินพุต | เรียกใช้โดยใช้ตัวระบุอ้างอิง :LKP |
| ค่าที่ส่งคืน | สามารถเชื่อมต่อพอร์ตเอาต์พุตหลายพอร์ตเข้ากับระบบปลายทางได้ | ค่าส่งคืนค่าหนึ่งจะถูกส่งกลับไปยังนิพจน์ที่เรียกใช้ |
| การใช้งานทั่วไป | ทุกแถวจำเป็นต้องมีคอลัมน์ที่ค้นหา | การค้นหาข้อมูลนั้นจำเป็นสำหรับบางแถวเท่านั้น หรือมีการเรียกใช้การค้นหาข้อมูลเดียวกันจากหลายที่ |
ในหัวข้อก่อนหน้านี้ เราได้ใช้ การเปลี่ยนแปลงของช่างไม้ เพื่อเชื่อมตาราง “emp” และ “dept” เข้าด้วยกันเพื่อดึงชื่อแผนก ในส่วนนี้ เราจะนำวิธีการดังกล่าวมาใช้โดยใช้การแปลงข้อมูลแบบ Lookup
วิธีสร้างการเปลี่ยนแปลงการค้นหา
ต่อไปนี้คือขั้นตอนการสร้าง Lookup transformation ใน Informatica
ขั้นตอน 1) สร้างแผนที่ใหม่ping โดยใช้ EMP เป็นแหล่งที่มาและ EMP_DEPTNAME เป็นเป้าหมาย แผนที่นี้แสดงแผนที่ping จากนั้น พื้นที่ทำงานของนักออกแบบจะประกอบด้วยแหล่งข้อมูล ตัวระบุคุณสมบัติของแหล่งข้อมูล และคำจำกัดความของเป้าหมาย
ขั้นตอน 2) สร้างการแปลงข้อมูลใหม่โดยใช้เมนู Transformation จากนั้นในหน้าต่าง Create Transformation:
- เลือกการแปลงแบบ Lookup เป็นการแปลง
- ป้อนชื่อการเปลี่ยนแปลง “lkp_dept”
- เลือกตัวเลือกสร้าง
ขั้นตอน 3) ขั้นตอนนี้จะเปิดหน้าต่างตารางค้นหา ในหน้าต่างนี้:
- ปุ่มเลือกแหล่งที่มา
- เลือกตาราง DEPT
- เลือกปุ่มตกลง
ขั้นตอน 4) ระบบจะสร้างการแปลงข้อมูลแบบ Lookup โดยใช้คอลัมน์จากตาราง DEPT จากนั้นเลือกปุ่มเสร็จสิ้น ตอนนี้อ็อบเจ็กต์ lkp_dept จะมี DEPTNO, DNAME และ LOC เป็นพอร์ต Lookup แล้ว
ขั้นตอน 5) ลากและวางคอลัมน์ DEPTNO จาก Source Qualifier ไปยัง Lookup transformation ซึ่งจะสร้างคอลัมน์ใหม่ชื่อ DEPTNO1 ใน Lookup transformation จากนั้นเชื่อมโยงคอลัมน์ DNAME จาก Lookup transformation ไปยังตารางเป้าหมาย
การแปลงข้อมูลแบบ Lookup จะค้นหาและส่งคืนชื่อแผนกโดยอิงจากค่า DEPTNO1 โดยที่ DEPTNO1 คือพอร์ตขาเข้าที่เก็บหมายเลขแผนกของพนักงาน ในขณะที่ DEPTNO คือพอร์ตที่อ่านได้จากตารางค้นหา DEPT
ขั้นตอน 6) Double คลิกที่การแปลงข้อมูลแบบ Lookup จากนั้นในหน้าต่างแก้ไขการแปลงข้อมูล:
- เลือกแท็บเงื่อนไข
- ตั้งค่าคอลัมน์เงื่อนไขเป็น DEPTNO = DEPTNO1
- เลือกปุ่มตกลง
ขั้นตอน 7) เชื่อมโยงคอลัมน์ที่เหลือจาก Source Qualifier ไปยังตารางเป้าหมาย
ตอนนี้บันทึก แผนที่ping และเรียกใช้งานหลังจากสร้างเซสชันและเวิร์กโฟลว์แล้ว แผนผังนี้ping จะดึงชื่อแผนกโดยใช้การแปลงข้อมูลแบบ Lookup
การแปลงข้อมูลแบบ Lookup ถูกตั้งค่าให้ค้นหาในตาราง DEPT และเงื่อนไขการเชื่อมต่อถูกตั้งค่าตามหมายเลขแผนก หากมีมากกว่าหนึ่งแถวในตาราง DEPT ที่ตรงตามเงื่อนไข นโยบายการค้นหา (Lookup Policy) ในคุณสมบัติการจับคู่หลายรายการ (Multiple Match) บนแท็บคุณสมบัติ (Properties) จะเป็นตัวตัดสินว่าค่าใดจะถูกส่งกลับ
การเปลี่ยนแปลงแบบใช้ซ้ำได้
การแปลงปกติคือวัตถุที่อยู่ในแผนที่ping และสามารถใช้งานได้ภายในแผนที่นั้นping เท่านั้น อย่างไรก็ตาม การทำให้การแปลงสามารถนำกลับมาใช้ใหม่ได้ จะทำให้สามารถนำไปใช้ซ้ำได้ภายในแผนที่หลายๆ แผนที่pings.
ตัวอย่างเช่น การแปลงข้อมูลแบบ Lookup ที่ดึงรายละเอียดพนักงานตามหมายเลขพนักงาน สามารถนำไปใช้ในแผนที่หลายแบบได้pings ในทุกที่ที่ต้องการรายละเอียดพนักงาน
การใช้การแปลงที่สามารถนำกลับมาใช้ใหม่ได้ ช่วยลดภาระงานในการสร้างฟังก์ชันเดียวกันซ้ำอีกครั้ง แผนที่ทุกแผนที่ping เก็บอินสแตนซ์ของอ็อบเจ็กต์ที่จัดเก็บไว้เพียงหนึ่งเดียว ดังนั้นการเปลี่ยนแปลงที่เกิดขึ้นกับการแปลงที่นำกลับมาใช้ใหม่ได้จะส่งผลต่ออินสแตนซ์ทั้งหมด
วิธีสร้างการเปลี่ยนแปลงแบบใช้ซ้ำได้
ต่อไปนี้คือขั้นตอนในการสร้างการแปลงข้อมูลที่สามารถนำกลับมาใช้ใหม่ได้
ขั้นตอน 1) เปิดแผนที่ping ซึ่งกำลังมีการเปลี่ยนแปลง ที่นี่เรากำลังสร้าง การแปลงลำดับ นำมาใช้ใหม่
ขั้นตอน 2) Double คลิกที่การแปลงเพื่อเปิดหน้าต่างแก้ไขการแปลง จากนั้น:
- เลือกแท็บการเปลี่ยนแปลงในหน้าต่าง
- เลือกช่องกาเครื่องหมายเพื่อให้การแปลงสามารถนำมาใช้ซ้ำได้
- เลือกใช่ในหน้าต่างยืนยัน
- เลือก ตกลง ในหน้าต่างคุณสมบัติการแปลง
การทำเช่นนี้จะทำให้การแปลงสามารถนำกลับมาใช้ใหม่ได้ หน้าต่างยืนยันในรายการที่สามนั้นควรค่าแก่การอ่านก่อนที่จะยอมรับ: การส่งเสริมการแปลงให้สามารถนำกลับมาใช้ใหม่ได้เป็นการเปลี่ยนแปลงแบบทางเดียวใน Designer และวัตถุจะไม่สามารถลดระดับลงได้ในภายหลัง ในกรณีที่แผนที่เดียวping หากต้องการสร้างสำเนาของตัวเอง ให้ลากวัตถุที่นำกลับมาใช้ใหม่ได้ลงบนพื้นที่ทำงานพร้อมกับกดปุ่ม Ctrl ค้างไว้ เพื่อสร้างอินสแตนซ์ที่ไม่สามารถนำกลับมาใช้ใหม่ได้แทน









