الوظيفة الأولى لبدء تعلم DAX هي CALCULATE. لا تحتوي هذه الوظيفة على نظير دقيق في Excel، ولكنها قابلة للمقارنة بالوظائف SUMIFS و COUNTIFS . باختصار، تطبق هذه الوظيفة مرشحات على وظائف حسابية أخرى، وبالتالي يمكننا تحديد البيانات التي نحتاجها فقط وإدراجها في العمليات الحسابية.
=CALCULATE(< التعبير الإحصائي >، < مرشح1 >، < filter2 >،...)
< التعبير الإحصائي >
التعبير الإحصائي يجب أن تعيد لنا نتيجة الحساب (قيمة، وليس جدول). ولهذا السبب، غالبًا ما يتم استخدام الوظائف الإحصائية من هذا النوع في هذا الإعداد SUM , دقيقة , الأعلى , العدادات إلخ.
< مرشح1 >، < filter2 >، ...
منقي يحدد نطاق البيانات التي سيتم العمل عليها. شروط اختيار القيم محددة هنا.
لنفترض أن لدينا مثل هذا الجدول، الذي يسمى
لنقم بإنشاء جدول ملخص بناءً عليه ونحسب عدد السجلات لكل منتج.
الآن لنقم بإنشاء حقل حسابي جديد
كيف حصلنا على الأرقام في حقل الحساب Count_All_Product 16 ؟ والتفسير هو أننا قمنا بإزالة جميع عوامل التصفية التي تم تطبيقها في الجدول المحوري لهذا الحقل (كل صف في الجدول المحوري عبارة عن مرشح منفصل)، وذلك باستخدام الدالة ALL() . وهذا يعني، بمعنى آخر، وظيفة ALL (
دعونا نضيف حقل آخر
نرى أن الأرقام موجودة في الميدان
=CALCULATE(COUNTROWS(Demo);ALL(Demo[Product]))
قمنا بتغيير الوسيطة إلى الدالة ALL() عن طريق الاستبدال
لذلك نرى ما هو على أرض الملعب