تحويل التطبيع في المعلوماتية مع المثال
⚡ ملخص ذكي
يُعد تحويل Normalizer في Informatica تحويلًا نشطًا يحول صفًا واحدًا يحتوي على أعمدة متكررة إلى صفوف متعددة، كما أنه يُنشئ أعمدة المفاتيح التي تحدد كل ظهور ينتجه.

ما هو التحول الطبيعي؟
المُعَدِّل هو تحويل نشط يُستخدم لتحويل صف واحد إلى عدة صفوف والعكس. إنه طريقة ذكية لعرض بياناتك بشكل أكثر تنظيمًا.
إذا احتوى صف واحد على بيانات متكررة في أعمدة متعددة، فيمكن تقسيمه إلى صفوف متعددة. أحيانًا تتكرر البيانات في أعمدة متعددة. على سبيل المثال:
| اسم الطالب | درجة الصف 9 | درجة الصف 10 | درجة الصف 11 | درجة الصف 12 |
| طالب 1 | 50 | 60 | 65 | 80 |
| طالب 2 | 70 | 64 | 83 | 77 |
في هذه الحالة، يتكرر عمود درجات الفصل في أربعة أعمدة. باستخدام أداة التطبيع، يمكننا تقسيم هذه الأعمدة إلى مجموعة البيانات التالية.
| اسم الطالب | الفئه | العلامة |
| طالب 1 | 9 | 50 |
| طالب 1 | 10 | 60 |
| طالب 1 | 11 | 65 |
| طالب 1 | 12 | 80 |
| طالب 2 | 9 | 70 |
| طالب 2 | 10 | 64 |
| طالب 2 | 11 | 83 |
| طالب 2 | 12 | 77 |
تحوّل صفان من خمسة أعمدة إلى ثمانية صفوف من ثلاثة أعمدة. ولأن عدد الصفوف الخارجة من عملية التحويل يختلف عن عدد الصفوف الداخلة إليها، فإنّ عملية التطبيع تُعتبر تحويلاً نشطاً، وينطبق الأمر نفسه على مثال المبيعات المُنشأ في القسم التالي.
كيفية استخدام تحويل Normalizer في برنامج Informatica
الخطوات الست التالية تُنشئ خريطةping يقوم هذا البرنامج بقراءة ملف مسطح يحتوي على مبيعات المتجر الفصلية وكتابة صف واحد مستهدف لكل فصل دراسي.
الخطوة 1) قم بإنشاء الجدول المصدر "sales_source" والجدول المستهدف "sales_target" باستخدام البرنامج النصي واستيرادهما المعلوماتيّة.
قم بتنزيل ملف Sales_Source.txt أعلاه
الخطوة 2) أنشئ خريطةping بوجود مصدر "sales_source" وجدول هدف "sales_target". الخريطةping ثم تحتوي لوحة التصميم على تعريف المصدر، مؤهل المصدر والتعريف المستهدف.
الخطوة 3) من قائمة التحويل، أنشئ تحويلاً جديداً. في نافذة إنشاء التحويل:
- حدد Normalizer كتحويل
- أدخل الاسم "nrm_sales"
- حدد خيار الإنشاء
تبدو النافذة كما في لقطة الشاشة أدناه، مع قائمة أنواع التحويل على اليسار ومربع الاسم أسفلها.
الخطوة 4) سيتم إنشاء التحويل، حدد خيار "تم". يوجد الآن تحويل nrm_sales الفارغ على اللوحة بين مُؤهِّل المصدر والهدف.
الخطوة 5) Double انقر على تحويل Normalizer، ثم:
- حدد علامة التبويب Normalizer
- انقر على الأيقونة لإنشاء عمودين
- أدخل أسماء الأعمدة
- قم بتعيين رقم التكرار إلى 4 للمبيعات و0 لاسم المتجر
- حدد زر موافق
تُعدّ قيمة "التكرار" أهم عنصر في هذه الصفحة، فهي تُخبر المصمم بعدد مرات تكرار العمود في صف المصدر الواحد. يظهر اسم المتجر مرة واحدة في كل صف، لذا تبقى قيمة "التكرار" الخاصة به عند 0.
سيتم إنشاء الأعمدة في عملية التحويل. ستلاحظ وجود أربعة أعمدة للمبيعات، حيث تم تحديد عدد مرات الظهور بأربعة. إلى جانبها، يضيف المصمم مفتاح الأعمدة ومعرف العمود المُنشأ، كما هو موضح في القسم التالي.
الخطوة 6) ثم في رسم خريطةping:
- قم بربط الأعمدة الأربعة لمؤهل المصدر للربع الرابع بأعمدة أداة التسوية على التوالي.
- ربط عمود اسم المتجر بعمود التسوية
- قم بربط اسم_المتجر وأعمدة المبيعات من أداة التسوية إلى الجدول المستهدف
- ربط عمود GK_sales من أداة التسوية إلى الجدول المستهدف
بمجرد رسم كل وصلة، تصبح الخريطة مكتملةping يبدو مثل هذا.
احفظ الخريطةping ثم قم بتنفيذه بعد الإنشاء الجلسة و سير العمل. لكل مبيعات ربع سنوية للمتجر، سيتم إنشاء صف منفصل عن طريق تحويل أداة التسوية.
مخرجات خريطتناping سيكون الأمر أشبه بـ
| اسم المتجر | ربع | مبيعة |
| DELHI | 1 | 150 |
| DELHI | 2 | 240 |
| DELHI | 3 | 455 |
| DELHI | 4 | 100 |
| MUMBAI | 1 | 100 |
| MUMBAI | 2 | 500 |
| MUMBAI | 3 | 350 |
| MUMBAI | 4 | 340 |
احتوت بيانات المصدر على أعمدة متكررة هي QUARTER1 وQUARTER2 وQUARTER3 وQUARTER4. وباستخدام أداة Normalizer، قمنا بإعادة ترتيب البيانات لتناسب عمودًا واحدًا هو QUARTER، وبذلك يتم إنشاء أربعة سجلات لكل سجل في المصدر في الهدف.
بهذه الطريقة، يمكنك تسوية البيانات وإنشاء سجلات متعددة لمصدر واحد للبيانات.
منافذ وخصائص تحويل المُعَيِّر
لا يتم إدخال الأعمدة في علامة تبويب المنافذ. يتم تعريفها في علامة تبويب المُعَدِّل، ثم يقوم المصمم بإنشاء المنافذ المطابقة تلقائيًا. يوضح الجدول أدناه وظيفة كل إدخال وكل منفذ تم إنشاؤه.
| منفذ أو سمة | ماذا يفعل |
| يحدث | عدد مرات ظهور العمود في صف واحد من المصدر. تشير القيمة 0 إلى عمود يظهر مرة واحدة فقط، مثل اسم المتجر. |
| مستوى | يُجمّع الأعمدة في تسلسل هرمي للسجلات. يُستخدم هذا الخيار لمصادر COBOL ويبقى عند 0 للهيكل المسطح. |
| مدخلات الإدخال | يقوم مُنظِّم خط الأنابيب بإنشاء منفذ إدخال واحد لكل تكرار، لذا فإن قيمة التكرار 4 تُنتج أربعة منافذ إدخال. |
| منفذ إخراج | يحتوي العمود متعدد الظهور على منفذ إخراج واحد يُرجع صفًا واحدًا لكل ظهور. |
| GK_ | المفتاح المُنشأ. تقوم خدمة التكامل بزيادة رقم التسلسل هذا في كل مرة تعالج فيها صفًا من المصدر. |
| GCID_ | معرف العمود المُنشأ. وهو فهرس الظهور، لذا فإن العمود الذي يظهر أربع مرات يُرجع 1 أو 2 أو 3 أو 4. |
من المهم تذكر الفرق بين المنفذين المُنشأين، فكلاهما يبدو كعداد. يبدأ GCID من جديد عند 1 لكل صف مصدر، بينما يستمر GK في التزايد طوال الجلسة. في خريطة المبيعاتping، GK_sales هو المنفذ المرتبط بالهدف، لذا فإن كل صف من صفوف الإخراج الثمانية يحمل مفتاحًا مميزًا.
يتحكم إعدادان في علامة التبويب "الخصائص" في كيفية تصرف هذا المفتاح بين عمليات التشغيل. إعادة تعيين يقوم هذا الإجراء بإرجاع قيمة المفتاح المُنشأة في نهاية الجلسة إلى القيمة التي كانت تحملها قبل بدء الجلسة. إعادة تشغيل يبدأ تسلسل المفاتيح المُنشأ من 1 في كل مرة يتم فيها تشغيل الجلسة، متجاوزًا قيمة التسلسل المعروضة في علامة تبويب المنافذ. يتم نشر تعريفات السمات الكاملة في دليل تحويل PowerCenter.
مقارنة بين مُعَدِّل VSAM ومُعَدِّل خط الأنابيب
يُوفر برنامج PowerCenter نسختين من نفس عملية التحويل، ويستخدم المثال أعلاه النسخة الثانية. ويتم تحديد اختيار النسخة المناسبة بناءً على المصدر فقط.
| البعد | مُعدِّل VSAM | مُعَدِّل خط الأنابيب |
| الدور في الخريطةping | يعمل كمؤهل المصدر لتعريف مصدر COBOL | يوجد في أي مكان في خط الأنابيب، بعد مُؤهِّل المصدر العادي |
| كيف يتم إنشاؤه | يتم إنشاؤها تلقائيًا عند سحب مصدر COBOL إلى الخريطةping | تم إنشاؤها من قائمة التحويل، كما هو موضح في الخطوة 3 أعلاه |
| منافذ إدخال لعمود متكرر | منفذ إدخال واحد للعمود المتعدد التكرار بأكمله | منفذ إدخال واحد لكل ظهور للعمود |
| تحرير الأعمدة | قم بتغيير مصدر COBOL وأعد إنشاء التحويل | يمكنك تعديل الأعمدة في علامة التبويب "المُعَدِّل" في أي وقت |
| البيانات النموذجية | ملفات الحاسوب المركزي باستخدام عبارات OCCURS وREDEFINES | تكرار الأعمدة في الجداول العلائقية والملفات المسطحة |
يمكن لملف COBOL أيضًا أن يحتوي على عدة أنواع من السجلات في نفس الملف الفعلي، ولهذا السبب يقرأ إصدار VSAM ملف نسخ بدلاً من قائمة أعمدة. للاستخدام اليومي ETL عند التعامل مع قواعد البيانات والملفات المحددة، فإن أداة "مُعَدِّل خط الأنابيب" هي الأداة التي يجب اللجوء إليها.
أخطاء تحويل المُعَيِّر الشائعة وكيفية إصلاحها
معظم مشاكل المُعَدِّل tracنعود إلى إعدادين أو ثلاثة. تتضمن القائمة أدناه الإعدادات التي تظهر في أغلب الأحيان أثناء التطوير.
- قائمة المنافذ لا تتطابق مع المصدر. عدد منافذ الإدخال قليل جدًا أو كثير جدًا يعني غالبًا أن قيمة Occurs غير صحيحة. أعد فتح علامة تبويب Normalizer واضبط قيمة Occurs على العدد الدقيق للأعمدة المتكررة، ثم أعد ربط الخريطة.pingلأن تغيير Occurs يعيد بناء المنافذ.
- يظهر في عمود واحد. يؤدي إعطاء اسم المتجر قيمة "تكرار" أكبر من صفر إلى تكرار صفوف لم يكن من المفترض أن تتكرر أصلاً. أما الأعمدة التي تظهر مرة واحدة فتبقى قيمتها صفر.
- لا يمكن تعريف أعمدة التاريخ. تقبل علامة التبويب Normalizer أعمدة String و Nstring و Number فقط، لذلك يجب نقل التاريخ كسلسلة نصية وتحويله في تحويل Expression قبل أن يصل إلى الهدف.
- عدد الصفوف يبدو خاطئاً في سجل الجلسة. قراءة صفين من المصدر وكتابة ثمانية صفوف من الهدف هو سلوك صحيح لقيمة Occurs تساوي 4، وليس عيبًا. إن خاصية Normalizer نشطة تحديدًا لأن هذه الأعداد مختلفة.
- تتكرر المفاتيح المُولّدة أو تقفز بين عمليات التشغيل. هذا هو زوج إعادة الضبط وإعادة التشغيل في علامة تبويب الخصائص. تعمل إعادة التشغيل على إعادة التسلسل إلى 1 لكل جلسة، وهو أمر نادرًا ما يكون مرغوبًا فيه عندما يتم وضع المفتاح في جدول المستودع.
- لن يتم حفظ التعديلات التي يتم إجراؤها في علامة تبويب المنافذ. يتم إنشاء المنافذ، وليس تأليفها. يجب أن يكون كل تغيير في العمود موجودًا في علامة تبويب Normalizer، وبالنسبة لـ VSAM Normalizer، يجب أن يكون التغيير موجودًا في مصدر COBOL نفسه.
عندما يتطلب الأمر تقسيم عدة مجموعات متكررة دفعة واحدة، يكون من الأفضل عادةً استخدام مُعَدِّل واحد لكل مجموعة ودمج النتائج لاحقًا بدلاً من تحميل عملية تحويل واحدة فوق طاقتها. أما عندما يكون المطلوب هو دمج عدة صفوف في صف واحد، فإن... تحويل المُجمِّع هي الأداة المناسبة بدلاً من ذلك.






