إعدادات التحليل الإحصائي — قوالب SQL
Profiling Configuration — SQL Templates
شرح كيفية تهيئة تعريفات ملفات تعريف البيانات (profile definitions) في قوالب مصادر البيانات المبنية على SQL، وأنواع الصيغ والمستويات والمتطلبات المسبقة، وكيفية ارتباطها بمجموعات التعريف على مستوى مصدر البيانات.
نظرة عامة
تحليل البيانات (data profiling) في Validatar هو التحليل الآلي لخصائص بياناتك — أعداد الصفوف، ونسب القيم الفارغة (null)، وأعداد القيم المميزة (distinct)، والتوزيعات الإحصائية، وغير ذلك. يحدد قالب مصدر بيانات مبني على SQL (SQL-based data source template) تعريفات ملفات التعريف (profile definitions) التي تُحدد المقاييس المتاحة لمصادر البيانات على تلك المنصة. تمثل هذه التعريفات الأساس: فهي تحدد تعبيرات SQL التي تحسب كل مقياس، والشروط التي تنطبق بموجبها، وكيفية تنسيق نتائجها.
يغطي هذا المقال إعدادات التحليل الإحصائي لقوالب فئة Database. أما بالنسبة للقوالب المبنية على Python، فراجع مقال Profiling Configuration — Python Templates.
تبويب Profiling في قوالب SQL
افتح قالبًا مبنيًا على SQL وانتقل إلى تبويب Profiling. ستظهر لك قائمة بجميع تعريفات ملفات التعريف المهيأة لهذا القالب.
يمثل كل تعريف ملف تعريف مقياسًا واحدًا يمكن حسابه مقابل الجداول أو الأعمدة في مصادر البيانات التي تستخدم هذا القالب.
مستويات ملفات التعريف
يعمل كل تعريف ملف تعريف على أحد مستويين اثنين:
ملفات التعريف على مستوى الجدول (Table-Level Profiles)
تحسب مقاييس عن الجداول بأكملها. من الأمثلة على ذلك:
| Profile | ما الذي يقيسه |
|---|---|
| record_count | إجمالي عدد الصفوف في الجدول |
| column_count | عدد الأعمدة في الجدول |
| sum_checksum_table | مجموع تدقيق (checksum) عبر جميع الصفوف (لأغراض اكتشاف التغييرات) |
| total_data_mb | إجمالي حجم البيانات بالميغابايت |
ملفات التعريف على مستوى العمود (Column-Level Profiles)
تحسب مقاييس عن أعمدة فردية. من الأمثلة على ذلك:
| Profile | ما الذي يقيسه |
|---|---|
| distinct_count | عدد القيم الفريدة |
| distinct_percent | نسبة القيم الفريدة |
| null_count | عدد القيم الفارغة (null) |
| null_percent | نسبة القيم الفارغة (null) |
| blank_count | عدد القيم النصية الفارغة (لأعمدة السلاسل النصية فقط) |
| blank_percent | نسبة القيم النصية الفارغة |
| min | القيمة الدنيا |
| max | القيمة العليا |
| mean | المتوسط (للأعمدة الرقمية) |
| median | الوسيط (للأعمدة الرقمية) |
| standard_deviation | الانحراف المعياري (للأعمدة الرقمية) |
| most_common_value | القيمة الأكثر تكرارًا |
| most_common_count | عدد مرات ظهور القيمة الأكثر تكرارًا |
| top_ten_values | القيم العشر الأكثر تكرارًا |
| bottom_ten_values | القيم العشر الأقل تكرارًا |
| distribution_numeric | توزيع تكرار القيم (للأعمدة الرقمية) |
| distribution_string | توزيع تكرار القيم (لأعمدة السلاسل النصية) |
| year_distribution | توزيع القيم حسب السنة (لأعمدة date/datetime) |
| sample | قيم عينة من العمود |
يأتي Validatar مزودًا بحوالي 40 تعريف ملف تعريف جاهز يغطي أكثر مقاييس جودة البيانات شيوعًا.
صيغ ملفات التعريف (Profile Formats)
تحدد صيغة تعريف ملف التعريف كيفية تخزين نتيجته وعرضها:
الصيغ القياسية (Scalar Formats)
تُرجع قيمة واحدة:
| Format | مثال على الاستخدام |
|---|---|
| Numeric Value | record_count → 1,500,000 |
| String Value | most_common_value → "USA" |
| DateTime Value | max على عمود تاريخ → 2026-04-01 |
| Percent Value | null_percent → 3.45% |
صيغ المصفوفات (Array Formats)
تُرجع مجموعة من القيم، وتُستخدم عادة للتوزيعات:
| Format | مثال على الاستخدام |
|---|---|
| Numeric Array | distribution_numeric → فئات قيم مع أعدادها |
| String Array | top_ten_values → قائمة قيم مع تكراراتها |
| DateTime Array | year_distribution → سنوات مع أعداد السجلات |
تُعرض ملفات تعريف المصفوفات كرسوم بيانية أو جداول في مستكشف البيانات (data explorer)، مما يمنح المستخدمين رؤية مرئية للتوزيعات.
أنواع صيغة حساب ملف التعريف (Profile Formula Types)
يستخدم كل تعريف ملف تعريف أحد الأنواع الثلاثة التالية لحساب نتيجته:
Query
النوع الأكثر شيوعًا. يُحسب ملف التعريف بواسطة تعبير SQL يُنفَّذ مقابل مصدر البيانات. تقوم بتهيئة:
- Aggregate Script — تعبير جملة SELECT (مثل COUNT(DISTINCT {{column}}))
- From Script — جملة FROM (عادة مرجع الجدول، ويمكن أن تتضمن joins أو subqueries)
- Grouping Script — جملة GROUP BY (لملفات تعريف المصفوفات التي تُرجع نتائج مجمّعة)
يقوم Validatar بدمج هذه الأجزاء في استعلام كامل. يمكن تجميع عدة ملفات تعريف مبنية على Query تستهدف نفس الجدول في استعلام واحد لتحسين الكفاءة.
مثال — ملف تعريف distinct_count:
Aggregate Script: COUNT(DISTINCT {{column}})
From Script: {{schema}}.{{table}}
Grouping Script: (فارغ — نتيجة قياسية / scalar)مثال — ملف تعريف year_distribution:
Aggregate Script: YEAR({{column}}) AS grouping_key, COUNT(*) AS value
From Script: {{schema}}.{{table}}
Grouping Script: YEAR({{column}}).NET Calculation
يُحسب ملف التعريف من نتائج ملفات تعريف أخرى باستخدام تعبير معادلة بلغة C#. يُستخدم هذا للمقاييس المشتقة التي لا تتطلب استعلام قاعدة بيانات منفصل.
مثال — distinct_percent: عبارة عن .NET Calculation تقسم distinct_count على record_count وتضربها في 100. ويعتمد ذلك على حساب كل من distinct_count وrecord_count أولاً (انظر قسم Prerequisites أدناه).
Python Calculation
مشابه لـ .NET Calculation، لكنه يستخدم تعبير معادلة بلغة Python. مفيد للحسابات الإحصائية الأكثر تعقيدًا أو عندما يكون التعبير عن المنطق أسهل بلغة Python.
تهيئة تعريف ملف تعريف
انقر على تعريف ملف تعريف في القائمة لفتح صفحة تفاصيله.
حقول التهيئة الرئيسية
| Field | الوصف |
|---|---|
| Name | اسم العرض لملف التعريف (مثل "Distinct Count") |
| Reference Key | معرّف فريد يُستخدم برمجيًا (مثل distinct_count) |
| Level | Table أو Column |
| Format | صيغة النتيجة (Numeric أو String أو DateTime أو Percent أو أحد أنواع Array) |
| Formula Type | Query أو .NET Calculation أو Python Calculation |
| Restrict to Data Types | عند التفعيل، يُطبَّق ملف التعريف فقط على أعمدة من أنواع بيانات محددة |
تعبيرات الشرط (Condition Expressions)
يحدد تعبير الشرط (condition expression) ما إذا كان ينبغي تشغيل ملف التعريف لجدول أو عمود معين. وهو تعبير منطقي (boolean) يُقيَّم قبل التنفيذ.
من الاستخدامات الشائعة:
- تحليل الأعمدة الرقمية فقط: تقييد بناءً على نوع البيانات
- تحليل الجداول التي تتجاوز عدد صفوف معين فقط: اشتراط record_count > 0
- تخطي تحليل الأعمدة ذات عدد كبير جدًا من القيم المميزة: distinct_count < 1000000
يمكن لتعبيرات الشرط الإشارة إلى نتائج ملفات تعريف أخرى (والتي يجب إدراجها كمتطلبات مسبقة).
المتطلبات المسبقة (Prerequisites)
تعتمد بعض ملفات التعريف على نتائج ملفات تعريف أخرى، على سبيل المثال:
- يحتاج distinct_percent إلى حساب distinct_count وrecord_count أولاً
- يحتاج تعبير شرط يتحقق من record_count > 0 إلى record_count كمتطلب مسبق
- يشير ملف تعريف من نوع .NET Calculation إلى نتائج ملفات التعريف المتطلبة له مسبقًا
تضمن المتطلبات المسبقة تنفيذ ملفات التعريف بالترتيب الصحيح وتوافر القيم المعتمَد عليها.
كيف تنتقل ملفات تعريف القالب إلى مصادر البيانات
تحدد القوالب ملفات التعريف المتاحة. أما القرار الفعلي بشأن أي ملفات التعريف يجب تشغيلها، وعلى أي كائنات، ومتى، فيتم على مستوى مصدر البيانات من خلال مجموعات التعريف (profile sets).
العلاقة بينها:
- 1يحدد القالب تعريفات ملفات التعريف (كتالوج المقاييس)
- 2يحتوي مصدر البيانات على مجموعة تعريف واحدة أو أكثر (profile sets) (راجع Profile Sets)
- 3تختار كل مجموعة تعريف تعريفات ملفات التعريف التي تريد تضمينها
- 4تحدد مجموعات التعريف أيضًا: الجداول والأعمدة المراد تحليلها (عبر مرشحات الكائنات)، وإعدادات التنفيذ (الحد الأقصى للاستعلامات المتزامنة، الحد الأقصى لملفات التعريف لكل استعلام)، والجدولة (عدد مرات التشغيل)، والاحتفاظ (المدة التي تُحفظ فيها النتائج التاريخية)
عند تنفيذ مجموعة تعريف، يتم تشغيل تعريفات ملفات التعريف المحددة مقابل الكائنات المحددة، باستخدام تعبيرات SQL المعرّفة على القالب.
إذا أضفت تعريف ملف تعريف جديد إلى قالب، يصبح متاحًا للاختيار في مجموعات التعريف على جميع مصادر البيانات التي تستخدم ذلك القالب — لكنه لن يعمل تلقائيًا. يحتاج شخص ما إلى إضافته إلى مجموعات التعريف ذات الصلة.
أفضل الممارسات
- ابدأ بملفات التعريف المدمجة — تغطي المجموعة الافتراضية معظم حالات الاستخدام الشائعة. أضف ملفات تعريف مخصصة فقط عند الحاجة إلى مقاييس خاصة بمنصة أو مجال معين.
- استخدم تعبيرات الشرط بحكمة — فهي تمنع التحليل غير الضروري (مثل عدم حساب mean على أعمدة نصية) ويمكن أن تحسّن الأداء عبر تخطي ملفات التعريف على الجداول الكبيرة جدًا.
- حدد المتطلبات المسبقة بشكل صحيح — قد يؤدي غياب المتطلبات المسبقة إلى فشل ملفات التعريف أو نتائج غير صحيحة. إذا كان ملف تعريف يشير إلى نتيجة ملف تعريف آخر، أدرجه كمتطلب مسبق.
- اختبر تعبيرات SQL على المنصة المستهدفة — يعمل SQL الخاص بملف التعريف مباشرة مقابل قاعدة بياناتك. تحقق من توفر دوال مثل PERCENTILE_CONT أو STDDEV أو الدوال الخاصة بالمنصة على إصدار قاعدة بياناتك.
- راعِ الأداء — يمكن أن تكون ملفات تعريف المصفوفات (التوزيعات، قوائم أعلى N) مكلفة على الجداول الكبيرة. استخدم تعبيرات الشرط لتخطيها في الجداول التي تتجاوز حجمًا معينًا، أو هيّئ مجموعات التعريف بحدود تزامن مناسبة.
كيف يندمج هذا في الصورة الأكبر
تحدد تعريفات ملفات التعريف على القالب مقاييس جودة البيانات المتاحة عبر جميع مصادر البيانات على المنصة. وتتغذى هذه التعريفات في مجموعات التعريف (المهيأة لكل مصدر بيانات على حدة)، والتي تنتج نتائج التحليل الظاهرة في مستكشف البيانات والمستخدمة في درجات الثقة (trust scores). كما تُستخدم ملفات التعريف كمصادر بيانات للاختبارات — إذ يمكن استخدام نتائج ملفات التعريف كمجموعات بيانات اختبار (test data sets)، مما يتيح اختبارات تقارن القيم الحالية لملف التعريف مقابل خطوط أساس تاريخية أو حدود متوقعة.
لمزيد من المعلومات حول كيفية عمل مجموعات التعريف على مستوى مصدر البيانات، راجع Profile Sets. وللاطلاع على نظرة عامة كاملة على القوالب، راجع Data Source Templates: The Complete Picture.