Transformasi Kualifikasi Sumber di Informatica dengan CONTOH
โก Ringkasan Cerdas
Transformasi Source Qualifier di Informatica merepresentasikan baris-baris yang dibaca oleh Integration Service dari sumber relasional atau file datar, dan memungkinkan pengembang untuk mengganti kueri default, memfilter, mengurutkan, dan menghilangkan duplikasi data tersebut.

Apa itu Transformasi Kualifikasi Sumber?
Transformasi Source Qualifier adalah transformasi aktif dan terhubung yang merepresentasikan baris yang dibaca oleh Integration Service saat sesi berjalan. Setiap kali sumber relasional atau file datar ditambahkan ke peta.pingTransformasi Source Qualifier diperlukan, dan Designer menambahkannya secara otomatis. Dengan Source Qualifier, Anda dapat menentukan dan mengganti cara data diambil dari sumber.
Transformasi ini juga mengkonversi tipe data asli dari sumber menjadi tipe data transformasi Informatica, sehingga setiap transformasi yang ditempatkan setelahnya bekerja dengan satu set tipe data yang netral terhadap platform.
Karena Source Qualifier membangun kueri yang sebenarnya mencapai basis data, maka ini adalah tempat pertama yang harus dilihat ketika sebuah petaping Membaca lebih banyak baris atau kolom daripada yang dibutuhkan. Contoh di bawah ini mempersempit kueri menjadi empat kolom.
Cara Memodifikasi Source Qualifier di Informatica
Pada contoh berikut, kita akan memodifikasi Source Qualifier dari peta kita.ping โm_emp_emp_targetโ, sehingga alih-alih mengembalikan semua kolom, ia hanya mengembalikan kolom yang dipilih.
Langkah 1) Buka petaping โm_emp_emp_targetโ di Petaping Perancang. Petaping Dimulai dengan sumber EMP, Kualifikasi Sumber SQ_EMP, dan target EMP_TARGET pada kanvas.
Langkah 2) Double-Klik transformasi Source Qualifier โSQ_EMPโ. Ini akan membuka jendela Edit Transformations untuk objek tersebut. Kemudian
- Klik tab Properti
- klik SQL Opsi Modifikasi Kueri, ini akan membuka jendela editor SQL
Tab Properti menampilkan baris Kueri SQL seperti yang ditunjukkan di bawah ini.
Langkah 3) Di jendela editor SQL
- Masukkan pertanyaan berikut
SELECT EMPNO, ENAME, JOB, MGR FROM EMP
Note โ Kami memilih kolom EMPNO, ENAME, JOB, dan MGR dari sumber data, jadi kami hanya menyertakan kolom-kolom tersebut dalam kueri SELECT.
- Pilih tombol OK
Editor SQL sekarang menyimpan kueri kustom, bukan kueri yang dihasilkan secara otomatis.
Langkah 4) Di jendela Edit Transformasi,
- Pilih tab Port dari menu.
- Di bawah tab Port, Anda akan melihat semua port. Pertahankan hanya port EMPNO, ENAME, JOB, MGR dan hapus port lainnya.
Tab Port mencantumkan setiap port yang dibawa oleh transformasi sebelum penghapusan.
Langkah 5) Setelah menghapus port, pilih tombol OK. Hanya empat port yang tersisa dalam daftar.
Sekarang klik tab Properti lagi di jendela Edit Transformasi, dan Anda hanya akan melihat data yang telah Anda pilih.
Saat Anda mengklik tombol โOKโ, jendela Editor SQL akan terbuka.
- Ini akan mengkonfirmasi bahwa data yang Anda pilih sudah benar dan siap untuk dimuat ke dalam tabel target.
- Klik tombol OK untuk melanjutkan.
Jendela konfirmasi mengulang empat kolom yang akan dibaca selanjutnya.
Simpan petaping (menggunakan pintasan Ctrl+S) dan jalankan alur kerjaSetelah dieksekusi, hanya kolom yang dipilih yang akan dimuat ke dalam target.
Dengan cara ini, Anda dapat menimpa (override) di Source Qualifier kolom mana yang perlu diambil dari sumber, dan ini adalah satu-satunya cara untuk mengontrol kolom spesifik mana yang dimasukkan ke dalam map.ping.
Properti Kualifikasi Sumber
Anda dapat menggunakan berbagai properti Source Qualifier untuk menentukan jenis data sumber apa yang perlu ditransformasikan dan dikirim ke tabel target.
- Filter Sumber โ Dengan menggunakan properti Filter Sumber, Anda dapat mengurangi jumlah data sumber. Misalnya, jika Anda hanya ingin mengambil data karyawan dari departemen nomor 10, Anda dapat memasukkan kondisi filter deptno=10 di properti Filter Sumber dan menjalankan data. Sertakan nama tabel dan nama port dalam kondisi tersebut, dan hilangkan kata kunci WHERE โ filter yang berisi WHERE akan menyebabkan sesi gagal.
- Jumlah Port yang Diurutkan โ Dalam transformasi Source Qualifier, Anda juga dapat mengurutkan catatan input berdasarkan posisi port. Integration Service menambahkan klausa ORDER BY ke kueri default, menghitung port dari bagian atas transformasi, sehingga data sudah diurutkan saat mencapai transformasi di dalam map.ping.
Karena data dapat diurutkan berdasarkan satu port atau beberapa port, Anda harus menentukan jumlah port yang akan digunakan dalam pengurutan. Jika Anda memberikan nilai 1, maka hanya data empno yang akan diurutkan. Jika Anda memberikan nilai 2, maka data akan diurutkan berdasarkan empno dan ename.
- Pilih Berbeda โ Anda hanya dapat mengambil data unik dari sumber menggunakan properti ini. Saat Anda memilih opsi Pilih Unik, Layanan Integrasi menambahkan pernyataan SELECT DISTINCT, sehingga hanya kombinasi data sumber yang unik yang diambil oleh Kualifikasi Sumber.
Tab Properti yang ditampilkan di bawah ini memuat opsi-opsi ini bersama dengan daftar properti lainnya.
Daftar lengkap properti yang tersedia pada Source Qualifier relasional dirangkum dalam tabel di bawah ini.
| Milik | Apa yang dilakukannya |
|---|---|
| Permintaan SQL | Menggantikan kueri default yang dihasilkan oleh Layanan Integrasi. Kueri kustom menimpa gabungan (join) yang ditentukan pengguna dan filter sumber. |
| Gabung yang Ditentukan Pengguna | Menyediakan kondisi yang digunakan untuk menggabungkan data dari beberapa sumber yang diwakili oleh Source Qualifier yang sama. |
| Filter Sumber | Menyediakan kondisi filter yang diterapkan oleh Layanan Integrasi saat melakukan kueri baris. |
| Jumlah Port yang Diurutkan | Jumlah kolom yang digunakan untuk mengurutkan baris yang dibaca dari sumber relasional, ditambahkan ke kueri sebagai ORDER BY. |
| TracTingkat ing | Jumlah detail yang ditulis ke log sesi untuk transformasi ini. |
| Pilih Berbeda | Mengembalikan baris unik saja dengan menambahkan SELECT DISTINCT ke dalam kueri. |
| Pra-SQL | Perintah dijalankan terhadap basis data sumber sebelum Integration Service membaca sumber tersebut. |
| Post-SQL | Perintah dijalankan terhadap basis data sumber setelah Integration Service menulis ke target. |
| Output bersifat deterministik. | Menyatakan bahwa sumber mengembalikan data yang sama antar eksekusi ketika input konsisten. |
| Hasilnya Dapat Diulang | Menyatakan bahwa sumber mengembalikan baris dalam urutan yang sama antara eksekusi, yang memungkinkan Integration Service untuk melewati proses staging untuk pemulihan. |
Aturan dan Pedoman untuk Penggantian SQL Kualifikasi Sumber
Penggantian SQL sangat ampuh karena menggantikan semua yang dihasilkan oleh Designer, dan itulah sebabnya mengapa ia gagal tanpa pemberitahuan ketika aturan di bawah ini diabaikan.
- Hubungkan port terlebih dahulu. Hubungkan setiap port input dan output yang ingin Anda gunakan sebelum memasukkan kueri, karena kueri yang dihasilkan dibangun dari port yang terhubung.
- Pertahankan daftar SELECT sesuai urutan port. Pernyataan SELECT harus mencantumkan nama port sesuai urutan kemunculannya dalam transformasi. Jika urutannya tidak sesuai, sesi dapat gagal atau mengembalikan hasil yang tidak terduga.
- Berikan kualifikasi pada setiap kolom. Setiap nama kolom harus diawali dengan nama tabel, tampilan, atau sinonim tempat kolom tersebut berada, misalnya ORDERS.ORDER_ID.
- Hasilkan sebelum Anda mengedit. Mengklik Generate SQL akan menampilkan kueri default, yang sudah berisi filter sumber dan klausa sorted-ports, sehingga penggantian dapat dibangun dari pernyataan yang berfungsi.
- Validasi pernyataan tersebut. Editor SQL memiliki tombol Validasi yang menjalankan kueri dan melaporkan apakah sintaksnya benar sebelum sesi dimulai.
- Kutip kata-kata yang dilindungi. Setiap kata kunci yang dicadangkan dalam basis data yang digunakan dalam kueri harus diapit tanda kutip.
- Perhatikan presedennya. Kueri khusus akan menimpa filter sumber dan jumlah port yang diurutkan, serta kueri SQL yang dimasukkan di dalamnya. Sidang Properti tersebut menimpa baik kondisi filter maupun kueri yang didefinisikan dalam peta.ping.
Untuk Microsoft SQL Server Terdapat satu aturan tambahan: jumlah kolom dalam pernyataan SELECT harus sesuai dengan jumlah port dalam transformasi, atau sesi akan gagal saat mengambil baris.
Cara Menggabungkan Dua Sumber dengan Satu Kualifikasi Sumber
Satu Source Qualifier dapat membaca lebih dari satu tabel. Ketika dua tabel terkait dari sumber relasional yang sama dihubungkan ke satu Source Qualifier, Integration Service menggabungkannya di dalam kueri sumber, bukan di dalam map.ping, yang berarti basis data yang melakukan pekerjaan tersebut dan lebih sedikit baris yang dikirim ke sesi.
Gabungan default adalah gabungan ekuijoin dalam yang ditulis ke dalam klausa WHERE sebagai Source1.column_name = Source2.column_name. Agar gabungan tersebut dapat dihasilkan, kolom yang digabungkan harus memiliki hubungan kunci utama-kunci asing dan tipe data yang cocok. Jika metadata yang diimpor tidak memiliki hubungan tersebut, Anda dapat membuatnya di Penganalisis Sumber dengan menghubungkan kolom yang cocok dari kedua definisi sumber.
Jika relasi tidak ada atau penggabungan harus berupa outer join, gunakan properti User-Defined Join sebagai gantinya. Kondisi yang dimasukkan di sana akan menggantikan informasi penggabungan yang terdapat dalam metadata, dan Integration Service akan menambahkannya ke kueri yang dihasilkan.
Ada dua batasan yang perlu diingat. Kedua tabel harus berasal dari sumber relasional yang sama, dan sumber dengan tipe berbeda โ file datar dan tabel, atau dua basis data yang berbeda โ harus digabungkan dengan tanda kurung siku. Transformasi tukang kayu sebagai gantinya.
Transformasi Kualifikasi Sumber vs Filter vs Penggabung
Tiga objek dapat mengurangi atau menggabungkan baris, dan memilih yang salah adalah penyebab umum sesi yang lambat. Tabel di bawah ini menyajikan ketiganya secara berdampingan.
| Aspek | Kualifikasi Sumber | Transformasi filter | Transformasi tukang kayu |
|---|---|---|---|
| Di mana pekerjaan berlangsung | Di dalam basis data sumber, di dalam kueri yang dihasilkan | Di Layanan Integrasi, baris demi baris | Di Layanan Integrasi, menggunakan cache |
| Tujuan utama | Baca baris sumber, timpa kueri, filter, urutkan, hapus duplikat. | Hapus baris yang gagal memenuhi salah satu kondisi. | Gabungkan dua pipeline menjadi satu set baris. |
| Jenis sumber | Tabel relasional dan file datar dari satu sumber. | Data pipeline apa pun | Sumber heterogen, termasuk file datar dan berbagai basis data. |
| Bergabunglah dengan dukungan | Penggabungan internal yang setara atau penggabungan yang ditentukan pengguna di dalam satu sumber relasional. | None | Sambungan luar normal, sambungan luar master, sambungan luar detail, dan sambungan luar penuh. |
| Barisan yang melintasi jaringan | Hanya baris yang dikembalikan oleh kueri. | Setiap baris sumber dibaca terlebih dahulu. | Setiap baris sumber dibaca terlebih dahulu. |
Aturan praktisnya sederhana: saring dan gabungkan sedini mungkin sesuai dengan sumbernya, dan carilah Filter atau hanya sebagai penggabung untuk pekerjaan yang tidak dapat dilakukan oleh basis data sumber. Mendorong kondisi ke dalam Kualifikasi Sumber adalah salah satu kemenangan termurah yang tersedia selama proses tersebut. penyempurnaan kinerja.








