Transformasi Normalizer di Informatica dengan CONTOH
⚡ Ringkasan Cerdas
Transformasi normalisasi di Informatica adalah transformasi aktif yang mengubah satu baris yang berisi kolom berulang menjadi beberapa baris, dan juga menghasilkan kolom kunci yang mengidentifikasi setiap kemunculan yang dihasilkannya.
Apa itu Transformasi Normalizer?
Normalizer adalah transformasi aktif yang digunakan untuk mengubah satu baris menjadi beberapa baris dan sebaliknya. Ini adalah cara cerdas untuk merepresentasikan data Anda dengan cara yang lebih terorganisir.
Jika dalam satu baris terdapat data yang berulang di beberapa kolom, maka data tersebut dapat dipisahkan menjadi beberapa baris. Terkadang kita memiliki data yang muncul di beberapa kolom. Misalnya:
| Nama siswa | Skor Kelas 9 | Skor Kelas 10 | Skor Kelas 11 | Skor Kelas 12 |
| mahasiswa 1 | 50 | 60 | 65 | 80 |
| mahasiswa 2 | 70 | 64 | 83 | 77 |
Dalam kasus ini, kolom nilai kelas berulang dalam empat kolom. Dengan menggunakan Normalizer, kita dapat memisahkannya menjadi kumpulan data berikut.
| Nama siswa | Kelas | Skor |
| mahasiswa 1 | 9 | 50 |
| mahasiswa 1 | 10 | 60 |
| mahasiswa 1 | 11 | 65 |
| mahasiswa 1 | 12 | 80 |
| mahasiswa 2 | 9 | 70 |
| mahasiswa 2 | 10 | 64 |
| mahasiswa 2 | 11 | 83 |
| mahasiswa 2 | 12 | 77 |
Dua baris dengan lima kolom telah menjadi delapan baris dengan tiga kolom. Karena jumlah baris yang keluar dari transformasi berbeda dengan jumlah baris yang masuk, Normalizer merupakan transformasi yang aktif, dan aturan yang sama berlaku untuk contoh penjualan yang dibuat di bagian selanjutnya.
Cara Menggunakan Transformasi Normalizer di Informatica
Enam langkah berikut ini membentuk sebuah peta.ping yang membaca berkas data penjualan toko per kuartal dan menulis satu baris target per kuartal.
Langkah 1) Buat tabel sumber “sumber_penjualan” dan tabel target “target_penjualan” menggunakan skrip dan impor keduanya Informatika.
Unduh File Sales_Source.txt di atas
Langkah 2) Buat petaping memiliki sumber “sales_source” dan tabel target “sales_target”. Petaping Kanvas perancang kemudian menyimpan definisi sumbernya, yaitu Kualifikasi Sumber dan definisi targetnya.
Langkah 3) Dari menu Transformasi, buat transformasi baru. Di jendela Buat Transformasi:
- Pilih Normalizer sebagai transformasi.
- Masukkan nama, “nrm_sales”
- Pilih opsi buat
Tampilan jendelanya seperti tangkapan layar di bawah ini, dengan daftar tipe transformasi di sebelah kiri dan kotak nama di bawahnya.
Langkah 4) Transformasi akan dibuat, pilih opsi selesai. Transformasi nrm_sales yang kosong sekarang berada di kanvas di antara Source Qualifier dan target.
Langkah 5) Double Klik pada transformasi Normalizer, lalu:
- Pilih tab Normalizer
- Klik ikon untuk membuat dua kolom
- Masukkan nama kolom
- Tetapkan jumlah kemunculan menjadi 4 untuk penjualan dan 0 untuk nama toko
- Pilih tombol OK
Nilai "Occurs" adalah entri terpenting pada tab ini: nilai ini memberi tahu Designer berapa kali kolom tersebut berulang dalam satu baris sumber. Nama toko muncul sekali per baris, jadi nilai "Occurs" tetap 0.
Kolom akan dihasilkan dalam transformasi. Anda akan melihat 4 kolom penjualan karena kami menetapkan jumlah kemunculan menjadi 4. Di sampingnya, Designer menambahkan port kunci yang dihasilkan dan ID kolom yang dihasilkan seperti yang dijelaskan di bagian selanjutnya.
Langkah 6) Lalu di petaping:
- Tautkan empat kolom kualifikasi sumber dari empat kuartal ke kolom normalizer masing-masing.
- Tautkan kolom nama toko ke kolom normalizer
- Tautkan kolom nama_toko & penjualan dari normalizer ke tabel target
- Tautkan kolom GK_sales dari normalizer ke tabel target
Setelah setiap mata rantai digambar, peta yang sudah lengkap pun jadi.ping tampak seperti ini.
Simpan petaping dan jalankan setelah membuatnya Sidang ke alur kerja. Untuk setiap kuartal penjualan toko, baris terpisah akan dibuat oleh transformasi normalizer.
Hasil dari peta kitaping akan seperti –
| Nama Toko | Perempat | Penjualan |
| DELHI | 1 | 150 |
| DELHI | 2 | 240 |
| DELHI | 3 | 455 |
| DELHI | 4 | 100 |
| MUMBAI | 1 | 100 |
| MUMBAI | 2 | 500 |
| MUMBAI | 3 | 350 |
| MUMBAI | 4 | 340 |
Data sumber memiliki kolom yang berulang yaitu QUARTER1, QUARTER2, QUARTER3, dan QUARTER4. Dengan bantuan Normalizer, kami telah menyusun ulang data agar sesuai dengan satu kolom tunggal QUARTER dan untuk satu record sumber, empat record dibuat di target.
Dengan cara ini, Anda bisa menormalkan data dan membuat beberapa rekaman untuk satu sumber data.
Port dan Properti Transformasi Normalisasi
Kolom tidak pernah diketik pada tab Port. Kolom didefinisikan pada tab Normalizer, dan Designer kemudian membuat port yang sesuai secara otomatis. Tabel di bawah ini menjelaskan fungsi setiap entri dan setiap port yang dihasilkan.
| Port atau atribut | Apa yang dilakukannya |
| Terjadi | Jumlah kemunculan kolom dalam satu baris sumber. Nilai 0 menandai kolom yang hanya muncul sekali, seperti nama toko. |
| Tingkat | Mengelompokkan kolom ke dalam hierarki record. Digunakan untuk sumber COBOL dan tetap bernilai 0 untuk struktur datar. |
| Port input | Normalizer pipeline menciptakan satu port input per kejadian, jadi nilai Occurs sebesar 4 menghasilkan empat port input. |
| Output port | Kolom yang muncul berulang kali memiliki satu port keluaran yang mengembalikan satu baris per kemunculan. |
| GK_ | Kunci yang dihasilkan. Layanan Integrasi akan menambah nomor urutan ini setiap kali memproses baris sumber. |
| GCID_ | ID kolom yang dihasilkan. Ini adalah indeks kemunculan, jadi kolom yang muncul empat kali akan mengembalikan 1, 2, 3, atau 4. |
Perbedaan antara kedua port yang dihasilkan perlu diingat, karena keduanya terlihat seperti penghitung. GCID dimulai ulang dari 1 untuk setiap baris sumber, sementara GK terus meningkat sepanjang sesi. Dalam peta penjualanping, GK_sales adalah port yang terhubung ke target, sehingga setiap dari delapan baris output membawa kunci yang berbeda.
Dua pengaturan pada tab Properti mengontrol bagaimana tombol tersebut berperilaku di antara setiap eksekusi. Reset Mengembalikan nilai kunci yang dihasilkan di akhir sesi ke nilai yang dimilikinya sebelum sesi dimulai. Restart Urutan kunci yang dihasilkan dimulai dari 1 setiap kali sesi dijalankan, menimpa nilai urutan yang ditampilkan pada tab Port. Definisi atribut lengkap dipublikasikan di Panduan Transformasi PowerCenter.
Normalisasi VSAM vs Normalisasi Pipeline
PowerCenter menyediakan dua versi transformasi yang sama, dan contoh di atas menggunakan versi kedua. Pilihan di antara keduanya sepenuhnya ditentukan oleh sumbernya.
| Aspek | Penormalisasi VSAM | Penormalisasi Saluran Pipa |
| Peran dalam petaping | Berfungsi sebagai Kualifikasi Sumber untuk definisi sumber COBOL. | Dapat ditempatkan di mana saja dalam alur kerja, setelah Source Qualifier biasa. |
| Bagaimana cara pembuatannya? | Dibuat secara otomatis saat kode sumber COBOL diseret ke dalam peta.ping | Dibuat dari menu Transformasi, seperti pada Langkah 3 di atas. |
| Port input untuk kolom berulang | Satu port input untuk seluruh kolom yang muncul berulang kali. | Satu port input untuk setiap kemunculan kolom. |
| Mengedit kolom | Ubah kode sumber COBOL dan buat ulang transformasinya. | Edit kolom pada tab Normalizer kapan saja. |
| Data tipikal | File mainframe menggunakan klausa OCCURS dan REDEFINES | Kolom berulang dalam tabel relasional dan file datar. |
Sebuah file COBOL juga dapat memuat beberapa tipe record dalam file fisik yang sama, itulah sebabnya versi VSAM membaca copybook dan bukan daftar kolom. Untuk penggunaan sehari-hari ETL Untuk bekerja dengan basis data dan file yang dipisahkan oleh pembatas, pipeline Normalizer adalah pilihan yang tepat.
Kesalahan Umum pada Transformasi Normalisasi dan Cara Memperbaikinya
Sebagian besar masalah Normalizer trackembali ke dua atau tiga pengaturan. Daftar di bawah ini mencakup pengaturan yang paling sering muncul selama pengembangan.
- Daftar port tidak sesuai dengan sumbernya. Terlalu sedikit atau terlalu banyak port input hampir selalu berarti nilai Occurs salah. Buka kembali tab Normalizer dan atur Occurs ke jumlah kolom berulang yang tepat, lalu tautkan kembali peta tersebut.ping, karena mengubah Occurs akan membangun ulang port.
- Terjadi pada satu kolom yang hanya muncul sekali. Memberikan nilai Occurs pada nama toko lebih besar dari 0 akan menggandakan baris yang seharusnya tidak diulang. Kolom yang hanya muncul sekali akan tetap bernilai 0.
- Kolom tanggal tidak dapat didefinisikan. Tab Normalizer hanya menerima kolom String, Nstring, dan Number, jadi tanggal harus dibawa sebagai string dan dikonversi dalam transformasi Expression sebelum mencapai target.
- Jumlah baris tampak salah di log sesi. Membaca dua baris sumber dan menulis delapan baris target adalah perilaku yang benar untuk nilai Occurs sebesar 4, bukan suatu cacat. Normalizer aktif justru karena jumlah tersebut berbeda.
- Kunci yang dihasilkan berulang atau melompat antar proses. Ini adalah pasangan Reset dan Restart pada tab Properti. Restart memaksa urutan kembali ke 1 untuk setiap sesi, yang jarang diinginkan ketika kunci masuk ke dalam tabel gudang data.
- Perubahan pada tab Port tidak akan tersimpan. Port dihasilkan, bukan dibuat. Setiap perubahan kolom harus dilakukan pada tab Normalizer, dan untuk VSAM Normalizer, perubahan tersebut harus dilakukan pada kode sumber COBOL itu sendiri.
Ketika beberapa grup berulang harus dipisahkan sekaligus, biasanya lebih rapi menggunakan satu Normalizer per grup dan menggabungkan hasilnya di tahap selanjutnya daripada membebani satu transformasi. Jika persyaratannya sebaliknya, yaitu menggabungkan banyak baris menjadi satu, maka... Transformasi agregator adalah alat yang tepat.







