ربط مصادر البيانات (Connect Data Sources: Live vs Hyper)
ربط مصادر البيانات (Connect Data Sources: Live vs Hyper)
[المستوى المتقدم (Advanced)] شرح تفصيلي من الصفر إلى الاحتراف لدرس «ربط مصادر البيانات (Connect Data Sources: Live vs Hyper)» ضمن وحدة «الاتصالات ومصادر البيانات (Live vs Hyper Extract) والأبعاد والمقاييس (Dimensions & Measures)» في دورة Tableau بالعربية: من الأساسيات إلى التطبيق العملي، مصمم بأسلوب Google Notebook مع ملخص صوتي حواري، وخريطة ذهنية بصرية، وشيفرة برمجية مشروحة، وبطاقات استذكار تفاعلية.
🎧 1. الملخص الصوتي والحوار الهندسي المعمّق (Notebook Audio Overview)
🧠 2. الخريطة الذهنية والمخطط المعماري للدرس (Mind Map & Visual Flowchart)
عرض مخطط تدفق العمليات التفصيلي (Mermaid Flowchart)
flowchart TB
subgraph S1["1. التأسيس (الاتصالات ومصادر البيانات (Live vs Hyper Extract) والأبعاد والمقاييس (Dimensions & Measures))"]
A["فهم المتطلب: ربط مصادر البيانات (Connect Data Sources: Live vs Hyper)"] --> B["تعريف العقد والأنواع في Tableau"]
end
subgraph S2["2. التنفيذ والتحقق (المستوى المتقدم (Advanced))"]
B --> C["كتابة الشيفرة المعزولة"]
C --> D{"فحص المدخلات والحالات الحدية"}
D -- "بيانات صالحة" --> E["تنفيذ المنطق الأساسي"]
D -- "بيانات شاذة" --> F["إرجاع خطأ مهيكل وآمن"]
end
subgraph S3["3. الإنتاج (لوحة عمليات تنفيذية تفاعلية بـ...)"]
E --> G["تسجيل الأثر (Audit/Logs) والدمج في المشروع"]
end
💻 4. المختبر البرمجي المشروح بالاستشهادات (Tableau Code Walkthrough)
// [1] المرحلة (المستوى المتقدم (Advanced)) — الوحدة 1: الاتصالات ومصادر البيانات (Live vs Hyper Extract) والأبعاد والمقاييس (Dimensions & Measures)
// [2] الهدف التنفيذي: ربط مصادر البيانات (Connect Data Sources: Live vs Hyper) داخل مشروع (لوحة عمليات تنفيذية تفاعلية بـ Tableau LOD Expressions وActions وServer Governance)
-- ربط مصادر البيانات (Connect Data Sources: Live vs Hyper) — دورة Tableau بالعربية: من الأساسيات إلى التطبيق العملي
BEGIN;
CREATE TABLE IF NOT EXISTS tenant_ledger_entries (
entry_id BIGSERIAL PRIMARY KEY,
tenant_id UUID NOT NULL,
idempotency_key VARCHAR(128) NOT NULL,
account_code VARCHAR(32) NOT NULL,
debit_cents BIGINT NOT NULL DEFAULT 0 CHECK (debit_cents >= 0),
credit_cents BIGINT NOT NULL DEFAULT 0 CHECK (credit_cents >= 0),
currency CHAR(3) NOT NULL DEFAULT 'USD',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
CONSTRAINT uq_tenant_idempotency UNIQUE (tenant_id, idempotency_key),
CONSTRAINT chk_non_zero_entry CHECK (debit_cents > 0 OR credit_cents > 0)
);
CREATE INDEX IF NOT EXISTS idx_ledger_tenant_created
ON tenant_ledger_entries (tenant_id, created_at DESC);
-- استعلام تحليلي لحساب الرصيد التراكمي لكل مستأجر باستخدام Window Functions
SELECT
tenant_id,
entry_id,
created_at,
(credit_cents - debit_cents) / 100.0 AS net_change,
SUM(credit_cents - debit_cents) OVER (
PARTITION BY tenant_id
ORDER BY created_at ASC, entry_id ASC
) / 100.0 AS running_balance
FROM tenant_ledger_entries
WHERE tenant_id = '11111111-2222-3333-4444-555555555555'
ORDER BY created_at DESC
LIMIT 50;
COMMIT;
// [3] التحقق النهائي: ضمان سلامة المخرجات وعدم تسرب الأخطاء في بيئة الإنتاج
الاتصالات ومصادر البيانات (Live vs Hyper Extract) والأبعاد والمقاييس (Dimensions & Measures)) ونفصل الاعتماديات لضمان قابلية إعادة الاستخدام.
📋 5. جدول المقارنة والمفاضلات الهندسية (Production Data Table)
| المعيار الهندسي | الممارسة الهشة (تجنّبها) | الممارسة الاحترافية المعتمدة | الأثر في بيئة الإنتاج |
|---|---|---|---|
| العقد والتحقق | تمرير البيانات الخام دون فحص | فحص الأنواع والقيود عند حدود الدالة | منع الأعطال الصامتة وفساد البيانات |
| فصل المسؤوليات | خلط العرض مع قواعد العمل والتخزين | عزل كل مسؤولية في وحدة قابلة للاختبار | سهولة التطوير المستقبلي وكتابة الاختبارات |
| معالجة الفشل | إخفاء الخطأ أو كشف تفاصيل حساسة | إرجاع خطأ قياسي آمن مع تسجيل السبب | أمان أعلى وتشخيص أسرع في الإنتاج |
🃏 6. بطاقات الاستذكار التفاعلية (Notebook Flashcards — انقر لإظهار الإجابة)
بطاقة 1: ما هو الدور المعماري لدرس «ربط مصادر البيانات (Connect Data Sources: Live vs Hyper)» داخل وحدة «الاتصالات ومصادر البيانات (Live vs Hyper Extract) والأبعاد والمقاييس (Dimensions & Measures)»؟
تحقيق التعامل مع السيناريوهات المعقدة وحالات الفشل والتزامن ومنع تسرب الأخطاء بأسلوب منضبط يضمن سلامة البيانات وقابلية الصيانة داخل مشروع لوحة عمليات تنفيذية تفاعلية بـ Tableau LOD Expressions وActions وServer Governance.
بطاقة 2: لماذا نرفض الاعتماد على القيم الضمنية غير المتحقق منها في بيئة الإنتاج؟
لأن المدخلات غير المتوقعة في الإنتاج تؤدي إلى أخطاء متسلسلة أو ثغرات أمنية، والتحقق المبكر (Fail-Fast) يوقف الخطأ عند مصدره.
بطاقة 3: ما هو معيار اجتياز هذا الدرس والانتقال إلى الدرس التالي؟
تنفيذ المثال البرمجي بنفسك، واختبار حالة صحيحة وحالة خاطئة، والتأكد من فهم سبب كل سطر دون نسخ أعمى.
🛠️ 7. التمرين العملي وقائمة التحقق الميداني (Hands-On Lab)
- التنفيذ المباشر: طبّق شيفرة «ربط مصادر البيانات (Connect Data Sources: Live vs Hyper)» داخل بيئة عملك المحلية في مشروع لوحة عمليات تنفيذية تفاعلية بـ Tableau LOD Expressions وActions وServer Governance.
- اختبار الحالات الحدية (Edge Cases): جرّب تمرير مدخلات فارغة أو غير متوقعة وتحقّق من استجابة الحماية في الخطوة
[2]. - التوثيق والالتزام: أضف تعليقاً توثيقياً يوضح العقد البرمجي واحفظ تقدمك قبل الانتقال إلى الدرس التالي.