Power BI / متوسط: السياق والجودة والوصول / الدرس 8
المكررات وسياق الصف والبيانات المرتبطة
اشرح التعبيرات لكل صف والبحث عبر العلاقات دون افتراض أن الصف الحالي يصفي كل الجداول تلقائيا.
في هذه الصفحة
أهداف الدرس
- تمييز سياق الصف عن سياق التصفية.
- استخدام RELATED ضمن عقد علاقة صالح.
- التعرف إلى انتقال السياق عند تقييم مقاييس النموذج.
سم الصف الذي يجري تكراره
يقيم مكرر مثل SUMX تعبيرا لكل صف من جدول وسيطه ثم يجمع النتائج. يوفر الصف الحالي سياق صف يتيح ضرب Quantity وUnitPrice من سطر المبيعات نفسه. أما سياق التصفية فيحدد البيانات المرئية للحساب. يمكن أن يتعايش السياقان، ولا ينبغي جمعهما تحت تسمية غامضة مثل الاختيار الحالي. سم الجدول الذي يمر عليه المكرر والمرشحات التي قيدته أصلا. ينشئ تكرار المنتجات وتكرار سطور المبيعات سياقين مختلفين، حتى إذا أسهم الاثنان في إجمالي الإيراد النهائي نفسه.
افهم انتقال السياق
لا يجعل سياق الصف وحده عادة تجميعا خاما في جدول آخر يتعامل مع الصف الحالي كمرشح. تستطيع CALCULATE تحويل سياق الصف إلى سياق تصفية؛ ويجري الانتقال المناسب تلقائيا عند تقييم مقياس نموذج داخل مكرر. يفسر ذلك تكرار الإجمالي عند المرور على DimProduct مع تجميع مبيعات خام، بينما قد يعطي تقييم مقياس Revenue نتائج كل منتج عبر العلاقة. لا تحفظ غلاف دالة دون فهم الجدول والسياق المطلوب. وقد ينقل الانتقال قيما من الصف أكثر مما يتوقع المراجع، لذلك تهم المفاتيح الفريدة وتتبع مثال صغير.
تتبع مرجع ربح مستقلا
ينفذ البرنامج الثاني حساب العمل نفسه بقاموس تكلفة صريح، ويظهر مساهمات الصفوف قبل الإجمالي. لا يقيم RELATED ولا يختبر انتقال السياق؛ بل يتحقق من المبالغ المتوقعة لتخطيط مفاتيح معروف. يفيد هذا الحد: إذا اختلف Power BI لاحقا عن 28، فافحص البيانات والعلاقة والسياق قبل تغيير الصيغة التجارية. اجعل افتراضات تكلفة المرجع موافقة للنموذج المقصود. إذا تغيرت التكاليف تاريخيا، فلن يبقى قاموس بسيط للتكاليف الحالية مصدرا صالحا لتوقع نتائج كل الفترات الماضية.
cost = {"A": 6, "B": 12}
lines = [("A", 2, 10), ("B", 1, 20), ("A", 3, 10)]
profit = [quantity * (price - cost[product]) for product, quantity, price in lines]
print(profit)
print(sum(profit))
[8, 8, 12]
28
تعرض القائمة8 و8 و12 والمجموع28، ببيانات عامة في الذاكرة فقط، ولا تختبر محرك DAX.
راجع كلفة المكرر ومعناه
ليس المكرر خاطئا أو بطيئا تلقائيا؛ يتوقف ذلك على حجم جدوله وتعبيره ونمط التخزين. ابدأ بصحة المعنى، ثم قيّم دليل المحرك داخل نموذج صغير مصرح به. تجنب توسيع جدول الوقائع بلا حاجة حين يمثل تجميع أبسط المقياس أصلا. اختبر منتجا واحدا والبيانات كلها وسياسة مفتاح غير مطابق وحالة تكلفة تاريخية. ينفذ المسار حساب الربح فقط ولا يدعي أداء DAX. يسمي الشرح الدقيق سياق الصف والتصفية وعلاقة البحث والانتقال، كيلا يعد الإجمالي الصحيح برهانا على أن كل سياق وسيط كان مقصودا.
الأخطاء الشائعة وإصلاحها
تكرار الإجمالي لكل منتج يمر عليه المكرر
- لماذا يحدث؟
- توقع أن يستخدم التجميع الخام سياق الصف كمرشح.
- كيف تصلحه؟
- حدد الانتقال اللازم وقيم المقياس والسياق المقصودين.
- كيف تتجنب تكراره؟
- تتبع مثال منتجين قبل توسيع المكرر.
تغيير معنى الربح التاريخي بتكاليف حالية
- لماذا يحدث؟
- لم يحدد المعنى الزمني لسمة البحث.
- كيف تصلحه؟
- استخدم تفصيل التكلفة التاريخية المعتمد أو وثق سيناريو الحالية.
- كيف تتجنب تكراره؟
- أدرج تواريخ سريان التكلفة في العقد عند الحاجة.
إلقاء اللوم على RELATED بسبب مفاتيح بعد مكررة
- لماذا يحدث؟
- لم يتحقق عقد العلاقة ومفتاح المصدر.
- كيف تصلحه؟
- أصلح التفرد ومعالجة المفاتيح المفقودة عمدا.
- كيف تتجنب تكراره؟
- دقق المفاتيح قبل حسابات البحث.
اختبر فهمك
1. لماذا لا يصفي صف المبيعات الحالي كل جدول تلقائيا في تعبير خام؟
اعرض الحل المشروح
يوفر سياق الصف قيم الصف الحالي، بينما يحدد سياق التصفية البيانات المرئية. البحث عبر العلاقة وانتقال السياق آليتان مختلفتان بقواعد صريحة. سم الجدول المكرر والنتيجة المقصودة، ثم استخدم المقياس أو الانتقال المناسب. قد تخفي إضافة CALCULATE في كل مكان خطأ آخر بدلا من تفسير الحساب. يجب أن يتضح لماذا ينبغي لصف معين أن يقيد جدولا آخر، لا أن تعتمد النتيجة على غلاف محفوظ.
2. يعطي المرجع28 بتكاليف حالية. هل يتحقق به الربح التاريخي لكل التواريخ؟
اعرض الحل المشروح
يصح ذلك فقط إذا كان هذا هو سؤال العمل الموثق. قد يحتاج الربح التاريخي الفعلي تكاليف مسجلة عند البيع أو بعد تكلفة ذي نسخ وتواريخ سريان. احفظ ذلك التفصيل وقارن معاملة تعبر تغييرا في التكلفة. يمكن أن يكون الحساب العددي صحيحا بينما يختار مجتمع تكاليف يجيب عن سؤال آخر. لذلك لا تعمم نجاح مرجع التكلفة الحالية على جميع الأزمنة.
أهم ما تعلمته
- لسياق الصف والتصفية وRELATED وانتقال السياق أدوار مختلفة.
- تحتاج سمات البحث معنى تجاريا وتاريخيا واضحا.