ÖRNEK ile Informatica'da Normalleştirici Dönüşümü
⚡ Akıllı Özet
Informatica'daki Normalleştirici dönüşümü, tekrarlayan sütunlar içeren tek bir satırı birden fazla satıra dönüştüren ve ayrıca ürettiği her bir tekrarı tanımlayan anahtar sütunlar oluşturan aktif bir dönüşümdür.

Normalleştirici Dönüşüm Nedir?
Normalleştirici, tek bir satırı birden fazla satıra ve tersine dönüştürmek için kullanılan aktif bir dönüşümdür. Verilerinizi daha düzenli bir şekilde temsil etmenin akıllı bir yoludur.
Tek bir satırda birden fazla sütunda tekrarlanan veri varsa, bu veri birden fazla satıra bölünebilir. Bazen veriler birden fazla tekrarlanan sütunda bulunur. Örneğin:
| Öğrenci adı | 9. Sınıf Puanı | 10. Sınıf Puanı | 11. Sınıf Puanı | 12. Sınıf Puanı |
| Öğrenci 1 | 50 | 60 | 65 | 80 |
| Öğrenci 2 | 70 | 64 | 83 | 77 |
Bu durumda, sınıf puanı sütunu dört sütunda tekrarlanıyor. Normalleştiriciyi kullanarak bunları aşağıdaki veri kümesine ayırabiliriz.
| Öğrenci adı | Sınıf | Puan |
| Öğrenci 1 | 9 | 50 |
| Öğrenci 1 | 10 | 60 |
| Öğrenci 1 | 11 | 65 |
| Öğrenci 1 | 12 | 80 |
| Öğrenci 2 | 9 | 70 |
| Öğrenci 2 | 10 | 64 |
| Öğrenci 2 | 11 | 83 |
| Öğrenci 2 | 12 | 77 |
Beş sütunlu iki satır, üç sütunlu sekiz satıra dönüştü. Dönüşümden çıkan satır sayısı, dönüşüme giren satır sayısından farklı olduğu için, Normalleştirici aktif bir dönüşümdür ve aynı kural bir sonraki bölümde oluşturulan satış örneği için de geçerlidir.
Informatica'da Normalleştirme Dönüşümü Nasıl Kullanılır?
Aşağıdaki altı adım bir harita oluşturur.ping Bu, çeyrek dönemlik mağaza satışlarını içeren düz bir dosyayı okur ve her çeyrek için bir hedef satır yazar.
) 1 Adım Komut dosyasını kullanarak "sales_source" kaynak tablosunu ve "sales_target" hedef tablosunu oluşturun ve bunları içe aktarın Bilişim.
Yukarıdaki Sales_Source.txt Dosyasını indirin
) 2 Adım Harita oluşturping Kaynak tablosu “sales_source” ve hedef tablosu “sales_target” olan bir harita.ping Tasarımcı tuvali daha sonra kaynak tanımını, yani onun içeriğini barındırır. Kaynak Niteleyici ve hedef tanımı.
) 3 Adım Dönüştürme menüsünden yeni bir dönüştürme oluşturun. Dönüştürme Oluştur penceresinde:
- Dönüştürme işlemi olarak Normalleştiriciyi seçin.
- Adı girin: “nrm_sales”
- Oluşturma seçeneğini seçin
Pencere, sol tarafta dönüşüm türü listesi ve altında isim kutusuyla aşağıdaki ekran görüntüsüne benzer şekilde görünmektedir.
) 4 Adım Dönüşüm oluşturulacak, "Tamam" seçeneğini seçin. Boş nrm_sales dönüşümü artık tuvalde Kaynak Niteleyici ve hedef arasında yer alıyor.
) 5 Adım Double Normalleştirici dönüşümüne tıklayın, ardından:
- Normalleştirici sekmesini seçin.
- İki sütun oluşturmak için simgeye tıklayın.
- Sütun adlarını girin
- Oluşum sayısını satışlar için 4 ve mağaza adı için 0 olarak ayarlayın
- Tamam düğmesini seçin
"Occurs" değeri bu sekmedeki en önemli girdidir: Tasarımcıya sütunun bir kaynak satırında kaç kez tekrarlandığını söyler. Mağaza adı her satırda yalnızca bir kez göründüğü için "Occurs" değeri 0'da kalır.
Dönüştürme işleminde sütunlar oluşturulacaktır. 4 adet satış rakamı sütunu göreceksiniz çünkü tekrar sayısını 4 olarak ayarladık. Bunların yanına, Tasarımcı bir sonraki bölümde açıklanan oluşturulmuş anahtar ve oluşturulmuş sütun kimliği portlarını ekler.
) 6 Adım Sonra da haritaping:
- Dört çeyreğin kaynak niteleyicisinin dört sütununu sırasıyla normalleştirici sütunlara bağlayın.
- Mağaza adı sütununu normalleştirici sütununa bağlayın
- Mağaza_adı ve satış sütunlarını normalleştiriciden hedef tabloya bağlayın
- GK_sales sütununu normalleştiriciden hedef tabloya bağlayın
Tüm bağlantılar çizildikten sonra, harita tamamlanmış olur.ping buna benzer.
Haritayı kaydetping ve oluşturduktan sonra çalıştırın. Oturum hem de iş akışı. Bir mağazanın her çeyrek satışı için normalizer dönüşümü ile ayrı bir satır oluşturulacaktır.
Haritamızın çıktısıping şöyle olacak:
| Dükkan adı | Çeyrek | Satış |
| Delhi | 1 | 150 |
| Delhi | 2 | 240 |
| Delhi | 3 | 455 |
| Delhi | 4 | 100 |
| MUMBAI | 1 | 100 |
| MUMBAI | 2 | 500 |
| MUMBAI | 3 | 350 |
| MUMBAI | 4 | 340 |
Kaynak verilerde QUARTER1, QUARTER2, QUARTER3 ve QUARTER4 olmak üzere tekrarlanan sütunlar bulunmaktaydı. Normalleştirici yardımıyla, verileri tek bir QUARTER sütununa sığacak şekilde yeniden düzenledik ve kaynak verilerdeki her bir kayıt için hedef verilerde dört kayıt oluşturuldu.
Bu sayede verileri normalleştirebilir ve tek bir veri kaynağı için birden fazla kayıt oluşturabilirsiniz.
Normalleştirici Dönüşüm Bağlantı Noktaları ve Özellikleri
Portlar sekmesinde sütunlar asla yazılmaz. Bunlar Normalleştirici sekmesinde tanımlanır ve Tasarımcı daha sonra eşleşen portları otomatik olarak oluşturur. Aşağıdaki tablo, her bir girişin ve oluşturulan her bir portun ne işe yaradığını açıklamaktadır.
| Bağlantı noktası veya özellik | Ne yapar |
| oluşur | Kaynak satırdaki sütunun örnek sayısı. 0 değeri, mağaza adı gibi tek seferlik bir sütunu işaretler. |
| Seviye | Sütunları bir kayıt hiyerarşisi halinde gruplandırır. COBOL kaynakları için kullanılır ve düz bir yapı için 0 olarak kalır. |
| Giriş portları | Bir pipeline Normalizer, her bir olay için bir giriş portu oluşturur; bu nedenle, 4'lük bir Occurs değeri dört giriş portu üretir. |
| Çıkış noktası | Birden fazla tekrarlanan sütun, her tekrar için bir satır döndüren tek bir çıkış portuna sahiptir. |
| GK_ | Oluşturulan anahtar. Entegrasyon Servisi, kaynak satırı her işlediğinde bu sıra numarasını artırır. |
| GCID_ | Oluşturulan sütun kimliği. Bu, sütunun kaç kez geçtiğinin indeksidir; bu nedenle dört kez geçen bir sütun 1, 2, 3 veya 4 değerini döndürür. |
Oluşturulan iki port arasındaki farkı hatırlamakta fayda var, çünkü ikisi de sayaç gibi görünüyor. GCID her kaynak satırı için 1'den yeniden başlarken, GK tüm oturum boyunca artmaya devam ediyor. Satış haritasındapingGK_sales, hedefle bağlantılı porttur; bu nedenle sekiz çıktı satırının her biri farklı bir anahtar taşır.
Özellikler sekmesindeki iki ayar, bu tuşun çalıştırmalar arasında nasıl davranacağını kontrol eder. Reset Oturumun sonunda oluşturulan anahtar değerini, oturum başlamadan önceki değerine geri döndürür. Yeniden Oturum her çalıştığında oluşturulan anahtar dizisini 1'den başlatır ve Bağlantı Noktaları sekmesinde gösterilen sıra değerini geçersiz kılar. Tüm öznitelik tanımları şurada yayınlanır: PowerCenter Dönüşüm Kılavuzu.
VSAM Normalleştirici ve Pipeline Normalleştirici Karşılaştırması
PowerCenter aynı dönüşümün iki sürümünü sunar ve yukarıdaki örnekte ikincisi kullanılmıştır. Bunlardan hangisinin kullanılacağı tamamen kaynağa bağlıdır.
| Görünüş | VSAM Normalleştirici | İşlem Hattı Normalleştirici |
| Haritadaki rolüping | COBOL kaynak tanımı için Kaynak Nitelik Belirleyicisi görevi görür. | Normal bir Kaynak Nitelikleyicisinin ardından, işlem hattının herhangi bir yerinde yer alır. |
| Nasıl oluşturulur? | COBOL kaynak kodu haritaya sürüklendiğinde otomatik olarak oluşturulur.ping | Yukarıdaki 3. adımda olduğu gibi, Dönüştürme menüsünden oluşturuldu. |
| Tekrarlayan sütun için giriş portları | Çoklu tekrarlanan sütunun tamamı için tek bir giriş portu. | Sütunun her bir oluşumu için bir giriş portu. |
| Sütunları düzenleme | COBOL kaynak kodunu değiştirin ve dönüşümü yeniden oluşturun. | Normalleştirici sekmesindeki sütunları istediğiniz zaman düzenleyebilirsiniz. |
| Tipik veriler | OCCURS ve REDEFINES maddelerini kullanan ana bilgisayar dosyaları | İlişkisel tablolarda ve düz dosyalarda tekrarlanan sütunlar |
Bir COBOL dosyası aynı fiziksel dosyada birden fazla kayıt türü de içerebilir; bu nedenle VSAM sürümü sütun listesi yerine copybook okur. Günlük kullanım için ETL Veritabanları ve sınırlı dosyalarla çalışırken, Normalizer işlem hattı en uygun olanıdır.
Sık Görülen Normalleştirme Dönüşümü Hataları ve Bunların Nasıl Düzeltileceği
Normalleştirici ile ilgili çoğu sorun tracİki veya üç ayara geri dönelim. Aşağıdaki liste, geliştirme sırasında en sık karşılaşılan ayarları kapsamaktadır.
- Bağlantı noktası listesi kaynakla eşleşmiyor. Çok az veya çok fazla giriş portu neredeyse her zaman "Oluşma Sayısı" değerinin yanlış olduğu anlamına gelir. Normalleştirici sekmesini yeniden açın ve "Oluşma Sayısı"nı tekrarlanan sütunların tam sayısına ayarlayın, ardından haritayı yeniden bağlayın.pingÇünkü Occurs'u değiştirmek portları yeniden oluşturuyor.
- Tek seferlik tekrarlanan bir sütunda oluşur. Mağaza adına 0'dan büyük bir "Oluşma" değeri vermek, asla tekrarlanmaması gereken satırları çoğaltır. Tek seferlik tekrarlanan sütunlar 0'da kalır.
- Tarih sütunları tanımlanamaz. Normalleştirici sekmesi yalnızca Dize, Çok Dizeli ve Sayısal sütunları kabul eder; bu nedenle bir tarih, hedef yere ulaşmadan önce bir dize olarak taşınmalı ve bir İfade dönüşümünde dönüştürülmelidir.
- Oturum günlüğündeki satır sayıları yanlış görünüyor. Kaynaktan iki satır okumak ve hedeften sekiz satır yazmak, 4'lük bir "Occurs" değeri için doğru bir davranıştır, bir hata değildir. Normalleştirici tam olarak bu sayılar farklı olduğu için aktiftir.
- Oluşturulan tuşlar, çalıştırmalar arasında tekrarlanır veya atlanır. Bu, Özellikler sekmesindeki Sıfırla ve Yeniden Başlat seçenekleridir. Yeniden Başlat, her oturum için sırayı tekrar 1'e zorlar; bu, anahtar bir veri ambarı tablosuna yerleştiğinde nadiren istenen bir durumdur.
- Bağlantı Noktaları sekmesinde yapılan düzenlemeler kaydedilmeyecektir. Bağlantı noktaları oluşturulur, yazılmaz. Her sütun değişikliği Normalleştirici sekmesinde yer almalıdır ve bir VSAM Normalleştirici için değişiklik COBOL kaynak kodunun kendisinde yer almalıdır.
Birden fazla tekrarlayan grubun aynı anda bölünmesi gerektiğinde, genellikle tek bir dönüşümü aşırı yüklemek yerine, grup başına bir Normalleştirici kullanmak ve sonuçları daha sonra birleştirmek daha temiz bir yöntemdir. Gereksinim tam tersi yönde olduğunda, yani birçok satırı tek bir satırda birleştirmek gerektiğinde ise, Toplayıcı dönüşümü Bunun yerine doğru araç budur.






