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.

  • 🔁 Baris dari kolom: Empat kolom penjualan triwulanan dalam satu baris sumber menjadi empat baris target, satu untuk setiap triwulan.
  • 🔢 Terjadilah yang menggerakkan segalanya: Nilai "Occurs" pada tab "Normalizer" menentukan berapa banyak port input dan berapa banyak baris output yang dibuat.
  • 🧪 Contoh yang dikerjakan: Enam Petaping Langkah-langkah perancang memindahkan berkas datar sales_source ke dalam tabel sales_target melalui transformasi nrm_sales.
  • 🔑 Port yang dihasilkan: GK_ mengembalikan kunci yang bertambah untuk setiap baris sumber, sedangkan GCID_ mengembalikan indeks kemunculan dari 1 hingga N.
  • Dua rasa: VSAM Normalizer membaca sumber COBOL, sedangkan pipeline Normalizer menangani data relasional dan file datar.
  • ⚠️ Perangkap umum: Mengatur nilai Occurs pada kolom yang hanya muncul sekali, atau membiarkannya nol untuk kolom yang berulang, akan merusak daftar port.

Transformasi Normalizer di Informatica

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.

Lokasiping Kanvas perancang dengan definisi sales_source, Source Qualifier-nya, dan tabel sales_target.

Langkah 3) Dari menu Transformasi, buat transformasi baru. Di jendela Buat Transformasi:

  1. Pilih Normalizer sebagai transformasi.
  2. Masukkan nama, “nrm_sales”
  3. Pilih opsi buat

Tampilan jendelanya seperti tangkapan layar di bawah ini, dengan daftar tipe transformasi di sebelah kiri dan kotak nama di bawahnya.

Buat jendela Transformasi dengan Normalizer terpilih dan nama nrm_sales dimasukkan.

Langkah 4) Transformasi akan dibuat, pilih opsi selesai. Transformasi nrm_sales yang kosong sekarang berada di kanvas di antara Source Qualifier dan target.

Lokasiping Kanvas yang menampilkan transformasi Normalizer nrm_sales yang baru dibuat tanpa kolom apa pun.

Langkah 5) Double Klik pada transformasi Normalizer, lalu:

  1. Pilih tab Normalizer
  2. Klik ikon untuk membuat dua kolom
  3. Masukkan nama kolom
  4. Tetapkan jumlah kemunculan menjadi 4 untuk penjualan dan 0 untuk nama toko
  5. 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.

Tab Normalizer pada jendela Edit Transformations dengan kolom penjualan diatur ke empat kemunculan dan nama toko diatur ke nol.

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.

Daftar port yang dihasilkan untuk nrm_sales menunjukkan empat port input penjualan ditambah port GK dan GCID.

Langkah 6) Lalu di petaping:

  1. Tautkan empat kolom kualifikasi sumber dari empat kuartal ke kolom normalizer masing-masing.
  2. Tautkan kolom nama toko ke kolom normalizer
  3. Tautkan kolom nama_toko & penjualan dari normalizer ke tabel target
  4. Tautkan kolom GK_sales dari normalizer ke tabel target

Setelah setiap mata rantai digambar, peta yang sudah lengkap pun jadi.ping tampak seperti ini.

Peta yang sudah selesaiping dengan empat port kuartal dan nama toko yang terhubung ke nrm_sales dan port store_name, sales, dan GK_sales yang terhubung ke sales_target.

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.

Pertanyaan Umum Demo Slot

Tidak. Transformasi tersebut hanya membagi satu baris menjadi banyak baris. Menggabungkan banyak baris menjadi satu dilakukan dengan Aggregator, atau dengan Expression yang memutar nilai menggunakan port variabel, tergantung pada bentuk kolom outputnya.

Hanya String, Nstring, dan Number. Tidak ada opsi Datetime pada tab Normalizer, jadi nilai tanggal harus melalui transformasi sebagai string dan dikonversi dalam transformasi Expression di kedua sisinya.

Ya. Peta Integrasi Data Cloudping Designer menawarkan transformasi Normalizer dengan tujuan yang sama, dikonfigurasi melalui nilai occurs per field. Tata letak tab berbeda dari PowerCenter, jadi petakanpingData tersebut dibangun ulang, bukan disalin.

Union menggabungkan baris yang datang dari beberapa pipeline menjadi satu aliran dengan daftar port bersama. Normalizer bekerja pada satu pipeline dan mengalikan baris dari kolom yang berulang di dalam setiap record yang masuk.

Normalizer pipeline dapat dibangun di Transformation Developer, atau dipromosikan dari sebuah map.ping, dan kemudian dibagikan. Sebuah VSAM Normalizer tidak bisa, karena terikat pada definisi sumber COBOL yang menghasilkannya.

Transformasi itu sendiri tidak mahal karena tidak menyimpan cache. Biayanya muncul di tahap selanjutnya: nilai Occurs sebesar empat akan melipatgandakan volume baris setiap transformasi berikutnya dan penulis target harus menanganinya.

Model pembuatan profil memindai kolom sumber dan menandai grup berulang seperti QUARTER1 hingga QUARTER4 yang seharusnya berada di baris, bukan kolom. Saran ini hanyalah titik awal — nilai kemunculan dan penanganan kunci masih perlu dikonfirmasi oleh pengembang.

Ini membantu di sekitar peta.ping alih-alih di dalamnya — menulis SQL yang melakukan unpivot pada tabel untuk perbandingan, menghasilkan data uji, atau menyusun file parameter. Kanvas Designer itu sendiri bukanlah sesuatu yang dapat diedit oleh Copilot.

Ringkaslah postingan ini dengan: