استخدام عوامل تشغيل DAX

مكتمل

يمكن أن تستخدم صيغ DAX عوامل تشغيل لإنشاء تعبيرات تقوم بإجراء عمليات حسابية أو مقارنة القيم أو العمل مع السلاسل أو شروط الاختبار.

تلميح

العديد من عوامل تشغيل DAX وترتيب الأسبقية هي نفسها الموجودة في Excel.

عوامل التشغيل الحسابية

يسرد الجدول التالي عوامل التشغيل الحسابية.

عامل تشغيل الوصف
+ الجمع
- الطرح
* الضرب
/ القسم
^ الرفع إلى الأس

تذكر، عندما تجري قسمة تعبيرين، وعندما يمكن أن يرجع المقام zero أو BLANK، يكون استخدام الدالة ⁧DIVIDE DAX أكثر فعاليةً وأماناً.

عوامل المقارنة

يسرد الجدول التالي عوامل المقارنة، والتي تُستخدم لمقارنة قيمتين. تكون النتيجة إما TRUE وإما FALSE.

عامل تشغيل الوصف
= يساوي
== مقيد يساوي
> أكبر من
< أصغر من
>= أكبر من أو يساوي
<= أصغر من أو يساوي
<> لا يساوي

تعامل جميع عوامل المقارنة، باستثناء ⁧⁩مقيد يساوي⁧⁩ (⁧⁩ ⁧==⁩ ⁧⁩)، على أنها BLANK تساوي الرقم صفر وسلسلة فارغة ("")، والتاريخ 30 ديسمبر، 1899، أو FALSE. هذا يعني أن التعبير ⁧[Revenue] = 0⁩ سيكون TRUE عندما تكون قيمة [Revenue] إما صفرًا أو BLANK. في المقابل، ⁧[Revenue] == 0⁩ تساوي TRUE فقط عندما تكون قيمة [Revenue] صفرًا.

عامل تشغيل لسلسة النص

استخدم حرف العطف (و) لتوصيل أو ربط قيمتين نصيتين لإنتاج قيمة نصية واحدة متصلة. على سبيل المثال، خذ بعين الاعتبار تعريف العمود المحسوب التالي:

Model Color = 'Product'[Model] & "-" & 'Product'[Color]

العوامل المنطقية

استخدام العوامل المنطقية لدمج التعبيرات التي تنتج نتيجة واحدة. يسرد الجدول التالي جميع العوامل المنطقية.

عامل تشغيل الوصف
&& ينشئ شرط AND بين تعبيرين حيث يكون لكل منهما نتيجة منطقية. إذا كان كلا التعبيرين يُرجعان TRUE، فإن مجموعة التعبيرات ترجع أيضًا TRUE؛ وإلا فإن المجموعة ترجع FALSE.
⁧⁧|⁩⁩⁧⁧|⁩⁩ (ممر مزدوج) إنشاء شرط OR بين تعبيرين منطقيين. إذا قام أي من التعبيرين بإرجاع TRUE، تكون النتيجة TRUE؛ فقط عندما يكون كلا التعبيرين FALSE تكون النتيجة FALSE.
IN ينشئ شرط OR منطقيًا بين كل صف تتم مقارنته بجدول. ملاحظة: تستخدم صيغة مُنشئ الجدول الأقواس.
NOT عكس حالة تعبير منطقي (FALSE إلى TRUE والعكس).

أحد الأمثلة التي تستخدم عامل التشغيل المنطقي IN هو تعريف مقياس ⁧ANZ Revenue، والذي يستخدم دالة CALCULATE DAX لفرض عامل تصفية محدد لبلدين: أستراليا ونيوزيلندا.

ملاحظة

ستتعرف على دالة CALCULATE القوية عندما تتعلم كيفية تعديل سياق عامل التصفية.

ANZ Revenue =
CALCULATE(
    [Revenue],
    Customer[Country-Region] IN {
        "Australia",
        "New Zealand"
    }
)

أسبقية عامل التشغيل

عندما تتضمن صيغة DAX عوامل تشغيل متعددة، تستخدم DAX قواعد لتحديد أمر التقييم، والذي يُعرف باسم ⁧⁩أسبقية عامل التشغيل⁩. يتم ترتيب العمليات وفقًا للجدول التالي.

عامل تشغيل الوصف
^ الرفع إلى الأس
- التوقيع (كما في -1)
* و/ الضرب والقسمة
NOT NOT
⁧⁧⁩⁩و⁧⁧⁩⁩ الجمع والطرح
& تسلسل سلسلتين من النص
=,==,<,>,<=,>=,<> المقارنة

عندما يكون للعوامل التشغيل قيمة أسبقية متساوية، يتم ترتيبها من اليسار إلى اليمين.

بشكل عام، تكون أسبقية عامل التشغيل هي نفس ما تم العثور عليه في Excel. إذا كنت بحاجة إلى تجاوز أمر التقييم، فقم بتجميع العمليات داخل أقواس.

على سبيل المثال، خذ بعين الاعتبار تعريف العمود المحسوب التالي:

Extended Amount = Sales[Order Quantity] * Sales[Unit Price] * 1 - [Unit Price Discount Pct]

ينتج عن نموذج تعريف العمود المحسوب هذا نتيجة غير صحيحة لأن الضرب يحدث قبل الطرح. يستخدم تعريف العمود المحسوب الصحيح التالي الأقواس لضمان حدوث عمليات الطرح قبل عمليات الضرب.

Extended Amount = Sales[Order Quantity] * Sales[Unit Price] * (1 - [Unit Price Discount Pct])

تلميح

قد يكون تذكر قواعد أسبقية عامل التشغيل أمرًا صعبًا، خاصة بالنسبة للمبتدئين في DAX. ومن ثمَّ، نوصي باختبار الصيغ بدقة. عندما لا تنتج الصيغ النتيجة الصحيحة بسبب أمر تقييم غير صحيح يمكنك التجربة عن طريق إضافة أقواس لضبط أمر التقييم. يمكنك أيضًا إضافة أقواس لتحسين إمكانية قراءة الصيغ.

لمزيد من المعلومات حول عوامل تشغيل DAX وترتيب الأسبقية، راجع ⁧⁩عوامل تشغيل DAX⁩.

التحويل الضمني

عند كتابة صيغة DAX التي تستخدم عوامل التشغيل لدمج أنواع بيانات مختلفة، لن تحتاج إلى تحويل الأنواع بشكل صريح. عادةً ما تحدد DAX تلقائيًا أنواع البيانات الخاصة بكائنات النموذج المشار إليه وتقوم بإجراء تحويلات ضمنية عند الضرورة لإكمال العملية المحددة.

ومع ذلك، قد توجد بعض القيود على القيم التي يمكن تحويلها بنجاح. إذا كانت هناك قيمة أو عمود يحتوي على نوع بيانات غير متوافق مع العملية الحالية، فتُرجع DAX خطأ. على سبيل المثال، ستؤدي محاولة ضرب قيمة التاريخ إلى حدوث خطأ لأنه غير منطقي.

يتم التعامل مع BLANK على نحوٍ مختلفٍ، اعتمادًا على عامل التشغيل المستخدم. يتم التعامل معها بشكل مشابه لكيفية تعامل Excel مع BLANK، ولكن بشكل مختلف عن كيفية تعامل قواعد البيانات (SQL) مع NULL. يتم التعامل مع BLANK كصفر عندما يتم التعامل معها بواسطة عوامل حسابية وكسلسلة فارغة عند ربطها بسلسلة.

تلميح

قد يكون تذكر كيفية التعامل مع BLANK أمرًا صعبًا، خاصة بالنسبة للمبتدئين في DAX. ومن ثمَّ، نوصي باختبار الصيغ بدقة. عندما تُنشئ الصيغ BLANK نتائج غير متوقعة، ضع في اعتبارك استخدام الدالتين ⁧IF و ISBLANK DAX لاختبار BLANK، ثم استجب بطريقة مناسبة.