DAX (تعبيرات تحليل البيانات) هو لغة الصيغ في Power BI. يبدو مثل صيغ Excel — لكنه يعمل على الجداول والعلاقات، لا على الخلايا الفردية. هذا الاختلاف الواحد في التفكير هو ما يربك كل مبتدئ. بمجرد استيعابه، يصبح DAX منطقياً وقوياً.
المفهوم الأساسي: سياق الفلتر
كل قياس DAX يُقيَّم داخل سياق فلتر — مجموعة الفلاتر المطبّقة بواسطة شرائح التقرير وفلاتر المرئيات والصفوف/الأعمدة المحددة. حين ينقر المستخدم على منطقة على الخريطة، يعيد DAX حساب كل قياس في الصفحة لتلك المنطقة تلقائياً. فهم هذا هو 80% من فهم DAX.
القياس مقابل العمود المحسوب
دائماً فضّل القياسات على الأعمدة المحسوبة. تُحسب القياسات في الوقت الفعلي باستخدام سياق الفلتر الحالي. تُحسب الأعمدة المحسوبة مرة واحدة أثناء التحديث وتُخزن في الذاكرة.
القياسات الخمس التي تحتاجها كل لوحة معلومات
1. إجمالي المبيعات
Total Sales = SUM(Sales[Amount])
أنشئ القياسات دائماً، لا تسحب الأعمدة الخام إلى القيم. هذا يمنحك التحكم في سياق الفلتر.
2. مبيعات العام الماضي
Sales LY = CALCULATE([Total Sales], SAMEPERIODLASTYEAR(Dates[Date]))
يتطلب جدول تواريخ صحيح بتواريخ متواصلة. ضعه علامة كجدول تاريخ في Power BI Desktop.
3. نسبة النمو السنوي
YoY % = DIVIDE([Total Sales] - [Sales LY], [Sales LY], 0)
DIVIDE تتعامل مع القسمة على الصفر تلقائياً وتعيد الوسيطة الثالثة (0) بدلاً من خطأ.
4. الإجمالي من بداية العام
YTD Sales = CALCULATE([Total Sales], DATESYTD(Dates[Date]))
يُظهر الأداء التراكمي من 1 يناير حتى التاريخ المحدد حالياً.
5. النسبة من الإجمالي
% of Total = DIVIDE([Total Sales], CALCULATE([Total Sales], ALL(Products[Category])))
ALL() تزيل فلتر الفئة، لذا يساوي المقام دائماً الإجمالي الكلي.
دالة CALCULATE
CALCULATE هي أهم دالة في DAX. تُقيّم تعبيراً في سياق فلتر معدّل. كل دالة ذكاء وقت تعمل بلفّ القياس الأساسي في CALCULATE مع فلتر تاريخ معدّل. بمجرد فهمك الحقيقي لـ CALCULATE، يصبح DAX المتقدم مسألة معرفة معدّل الفلتر الذي يجب تطبيقه.
بناء جدول التاريخ الأول
تتطلب دوال ذكاء الوقت جدول تاريخ مخصصاً بصف واحد لكل يوم، بدون فجوات. استخدم Power Query لإنشائه وأضف أعمدة السنة والشهر والربع ورقم الأسبوع. ضعه علامة كجدول تاريخ واربطه بجدول الحقائق على مفتاح التاريخ.
