يوفر هذا القسم ارتباطات إلى أمثلة توضح استخدام صيغ DAX في السيناريوهات التالية.
-
إجراء عمليات حسابية معقدة
-
استخدام النصوص والتواريخ
-
القيم الشرطية واختبار الأخطاء
-
استخدام التحليل الذكي للوقت
-
تصنيف القيم ومقارنتها
في هذه المقالة
بدء الاستخدام
تفضل بزيارة موقع WIKI لمركز موارد DAX حيث يمكنك العثور على جميع أنواع المعلومات حول DAX بما في ذلك المدونات والعينات والمستندات التقنية ومقاطع الفيديو التي يوفرها المهنيون الرائدون في الصناعة وMicrosoft.
السيناريوهات: إجراء العمليات الحسابية المعقدة
يمكن لصيغ DAX إجراء عمليات حسابية معقدة تتضمن تجميعات مخصصة وتصفية واستخدام القيم الشرطية. يوفر هذا القسم أمثلة حول كيفية البدء في العمليات الحسابية المخصصة.
إنشاء حسابات مخصصة ل PivotTable
CALCULATE و CALCULATETABLE هما دالتان قويتان مرنتان مفيدتان لتعريف الحقول المحسوبة. تتيح لك هذه الدالات تغيير السياق الذي سيتم فيه إجراء الحساب. يمكنك أيضا تخصيص نوع التجميع أو العملية الرياضية التي يجب تنفيذها. راجع الموضوعات التالية للحصول على أمثلة.
تطبيق عامل تصفية على صيغة
في معظم الأماكن التي تأخذ فيها دالة DAX جدولا كوسيطة، يمكنك عادة تمرير جدول تمت تصفيته بدلا من ذلك، إما باستخدام الدالة FILTER بدلا من اسم الجدول، أو عن طريق تحديد تعبير عامل تصفية كأحد وسيطات الدالة. توفر الموضوعات التالية أمثلة حول كيفية إنشاء عوامل تصفية وكيفية تأثير عوامل التصفية على نتائج الصيغ. لمزيد من المعلومات، راجع تصفية البيانات في صيغ DAX.
تتيح لك الدالة FILTER تحديد معايير التصفية باستخدام تعبير، بينما تم تصميم الدالات الأخرى خصيصا لتصفية القيم الفارغة.
إزالة عوامل التصفية بشكل انتقائي لإنشاء نسبة ديناميكية
من خلال إنشاء عوامل تصفية ديناميكية في الصيغ، يمكنك بسهولة الإجابة عن أسئلة مثل ما يلي:
-
ما هي مساهمة مبيعات المنتج الحالي في إجمالي المبيعات لهذا العام؟
-
كم ساهم هذا القسم في إجمالي الأرباح لجميع سنوات التشغيل، مقارنة بالأقسام الأخرى؟
يمكن أن تتأثر الصيغ التي تستخدمها في PivotTable بسياق PivotTable، ولكن يمكنك تغيير السياق بشكل انتقائي عن طريق إضافة عوامل التصفية أو إزالتها. يوضح لك المثال في موضوع ALL كيفية القيام بذلك. للعثور على نسبة المبيعات لبائع معين عبر المبيعات لجميع البائعين، يمكنك إنشاء مقياس يحسب قيمة السياق الحالي مقسوما على قيمة سياق ALL.
يوفر موضوع ALLEXCEPT مثالا على كيفية مسح عوامل التصفية بشكل انتقائي على صيغة. يرشدك كلا المثالين خلال كيفية تغيير النتائج اعتمادا على تصميم PivotTable.
للحصول على أمثلة أخرى حول كيفية حساب النسب والنسب المئوية، راجع الموضوعات التالية:
استخدام قيمة من تكرار حلقي خارجي
بالإضافة إلى استخدام قيم من السياق الحالي في العمليات الحسابية، يمكن ل DAX استخدام قيمة من تكرار حلقي سابق في إنشاء مجموعة من العمليات الحسابية ذات الصلة. يوفر الموضوع التالي معاينة لكيفية إنشاء صيغة تشير إلى قيمة من حلقة خارجية. تدعم الدالة EARLIER ما يصل إلى مستويين من الحلقات المتداخلة.
لمعرفة المزيد حول سياق الصف والجداول ذات الصلة، وكيفية استخدام هذا المفهوم في الصيغ، راجع السياق في صيغ DAX.
السيناريوهات: العمل مع النص والتواريخ
يوفر هذا القسم ارتباطات إلى مواضيع مرجع DAX التي تحتوي على أمثلة للسيناريوهات الشائعة التي تتضمن العمل مع النص، أو استخراج قيم التاريخ والوقت وإنشاءها، أو إنشاء قيم استنادا إلى شرط.
إنشاء عمود مفتاح بالتسلسل
لا يسمحPower Pivot للمفاتيح المركبة؛ لذلك، إذا كان لديك مفاتيح مركبة في مصدر البيانات الخاص بك، فقد تحتاج إلى دمجها في عمود مفتاح واحد. يوفر الموضوع التالي مثالا واحدا لكيفية إنشاء عمود محسوب استنادا إلى مفتاح مركب.
إنشاء تاريخ استنادا إلى أجزاء التاريخ المستخرجة من تاريخ نصي
يستخدمPower Pivot نوع بيانات تاريخ/وقت SQL Server للعمل مع التواريخ؛ لذلك، إذا كانت بياناتك الخارجية تحتوي على تواريخ منسقة بشكل مختلف - على سبيل المثال، إذا تمت كتابة التواريخ بتنسيق تاريخ إقليمي لم يتم التعرف عليه من قبل محرك البيانات Power Pivot ، أو إذا كانت بياناتك تستخدم مفاتيح بديلة عدد صحيح - فقد تحتاج إلى استخدام صيغة DAX لاستخراج أجزاء التاريخ ثم إنشاء الأجزاء في تمثيل صحيح للتاريخ/الوقت.
على سبيل المثال، إذا كان لديك عمود من التواريخ التي تم تمثيلها كأعداد صحيحة ثم تم استيرادها كسلسلة نصية، يمكنك تحويل السلسلة إلى قيمة تاريخ/وقت باستخدام الصيغة التالية:
=DATE(RIGHT([Value1],4),LEFT([Value1],2),MID([Value1],2))
Value1 |
النتيجة |
---|---|
01032009 |
1/3/2009 |
12132008 |
12/13/2008 |
06252007 |
6/25/2007 |
توفر الموضوعات التالية المزيد من المعلومات حول الوظائف المستخدمة لاستخراج التواريخ وإنشاءها.
تعريف تنسيق تاريخ أو رقم مخصص
إذا كانت بياناتك تحتوي على تواريخ أو أرقام غير ممثلة في أحد تنسيقات نص Windows القياسية، يمكنك تحديد تنسيق مخصص للتأكد من معالجة القيم بشكل صحيح. يتم استخدام هذه التنسيقات عند تحويل القيم إلى سلاسل أو من سلاسل. توفر الموضوعات التالية أيضا قائمة مفصلة بالتنسيقات المعرفة مسبقا المتوفرة للعمل مع التواريخ والأرقام.
تغيير أنواع البيانات باستخدام صيغة
في Power Pivot ، يتم تحديد نوع بيانات الإخراج بواسطة أعمدة المصدر، ولا يمكنك تحديد نوع بيانات النتيجة بشكل صريح، لأن نوع البيانات الأمثل يتم تحديده بواسطة Power Pivot. ومع ذلك، يمكنك استخدام تحويلات نوع البيانات الضمنية التي يتم إجراؤها بواسطة Power Pivot لمعالجة نوع بيانات الإخراج.
-
لتحويل تاريخ أو سلسلة أرقام إلى رقم، اضرب بمقدار 1.0. على سبيل المثال، تحسب الصيغة التالية التاريخ الحالي مطروحا منه 3 أيام، ثم تقوم إخراج قيمة العدد الصحيح المقابلة.
=(TODAY()-3)*1.0
-
لتحويل قيمة تاريخ أو رقم أو عملة إلى سلسلة، قم بتسلسل القيمة بسلسلة فارغة. على سبيل المثال، ترجع الصيغة التالية تاريخ اليوم كسلسلة.
=""& TODAY()
يمكن أيضا استخدام الدالات التالية للتأكد من إرجاع نوع بيانات معين:
تحويل الأرقام الحقيقية إلى أعداد صحيحة
-
تحويل الأرقام أو الأعداد الصحيحة أو التواريخ الحقيقية إلى سلاسل
-
تحويل السلاسل إلى أرقام أو تواريخ حقيقية
السيناريو: القيم الشرطية واختبار الأخطاء
مثل Excel، يحتوي DAX على دالات تتيح لك اختبار القيم في البيانات وإرجاع قيمة مختلفة استنادا إلى شرط. على سبيل المثال، يمكنك إنشاء عمود محسوب يصنف البائعين إما كمفضل أو قيمة اعتمادا على مبلغ المبيعات السنوي. الدالات التي تختبر القيم مفيدة أيضا للتحقق من نطاق أو نوع القيم، لمنع أخطاء البيانات غير المتوقعة من كسر العمليات الحسابية.
إنشاء قيمة استنادا إلى شرط
يمكنك استخدام شروط IF المتداخلة لاختبار القيم وإنشاء قيم جديدة بشكل مشروط. تحتوي الموضوعات التالية على بعض الأمثلة البسيطة للمعالجة الشرطية والقيم الشرطية:
اختبار الأخطاء داخل صيغة
بخلاف Excel، لا يمكن أن يكون لديك قيم صالحة في صف واحد من عمود محسوب وقيم غير صالحة في صف آخر. أي، إذا كان هناك خطأ في أي جزء من عمود Power Pivot ، يتم وضع علامة على العمود بأكمله بخطأ، بحيث يجب عليك دائما تصحيح أخطاء الصيغ التي تؤدي إلى قيم غير صالحة.
على سبيل المثال، إذا قمت بإنشاء صيغة تقسم على صفر، فقد تحصل على نتيجة اللانهاية، أو خطأ. ستفشل بعض الصيغ أيضا إذا واجهت الدالة قيمة فارغة عندما تتوقع قيمة رقمية. أثناء تطوير نموذج البيانات الخاص بك، من الأفضل السماح للأخطاء بالظهور بحيث يمكنك النقر فوق الرسالة واستكشاف المشكلة وإصلاحها. ومع ذلك، عند نشر المصنفات، يجب تضمين معالجة الأخطاء لمنع القيم غير المتوقعة من التسبب في فشل العمليات الحسابية.
لتجنب إرجاع الأخطاء في عمود محسوب، يمكنك استخدام مجموعة من الدالات المنطقية والمعلومات لاختبار الأخطاء وإرجاع القيم الصالحة دائما. توفر الموضوعات التالية بعض الأمثلة البسيطة حول كيفية القيام بذلك في DAX:
السيناريوهات: استخدام تحليل معلومات الوقت
تتضمن وظائف التحليل الذكي لوقت DAX وظائف لمساعدتك في استرداد التواريخ أو نطاقات التواريخ من بياناتك. يمكنك بعد ذلك استخدام هذه التواريخ أو نطاقات التواريخ لحساب القيم عبر فترات مماثلة. تتضمن وظائف التحليل الذكي للوقت أيضا وظائف تعمل مع فواصل زمنية قياسية للتاريخ، للسماح لك بمقارنة القيم عبر الأشهر أو السنوات أو أرباع السنة. يمكنك أيضا إنشاء صيغة تقارن القيم للتاريخ الأول والأخير لفترة محددة.
للحصول على قائمة بجميع وظائف التحليل الذكي للوقت، راجع وظائف تحليل معلومات الوقت (DAX). للحصول على تلميحات حول كيفية استخدام التواريخ والأوقات بشكل فعال في تحليل Power Pivot ، راجع التواريخ في Power Pivot.
حساب المبيعات التراكمية
تحتوي الموضوعات التالية على أمثلة حول كيفية حساب أرصدة الإغلاق والفتح. تتيح لك الأمثلة إنشاء أرصدة تشغيل عبر فواصل زمنية مختلفة مثل الأيام أو الأشهر أو الأرباع أو السنوات.
مقارنة القيم بمرور الوقت
تحتوي الموضوعات التالية على أمثلة حول كيفية مقارنة المبالغ عبر فترات زمنية مختلفة. الفترات الزمنية الافتراضية التي يدعمها DAX هي الأشهر والربع والسنوات.
حساب قيمة عبر نطاق تاريخ مخصص
راجع الموضوعات التالية للحصول على أمثلة حول كيفية استرداد نطاقات التواريخ المخصصة، مثل أول 15 يوما بعد بدء ترقية المبيعات.
إذا كنت تستخدم وظائف تحليل معلومات الوقت لاسترداد مجموعة مخصصة من التواريخ، يمكنك استخدام مجموعة التواريخ هذه كإدخال لدالة تقوم بإجراء العمليات الحسابية، لإنشاء تجميعات مخصصة عبر الفترات الزمنية. راجع الموضوع التالي للحصول على مثال حول كيفية القيام بذلك:
-
ملاحظة: إذا لم تكن بحاجة إلى تحديد نطاق تاريخ مخصص، ولكنك تعمل مع وحدات محاسبة قياسية مثل الأشهر أو أرباع السنة أو السنوات، نوصي بإجراء العمليات الحسابية باستخدام وظائف التحليل الذكي للوقت المصممة لهذا الغرض، مثل TOTALQTD و TOTALMTD و TOTALQTD وما إلى ذلك.
السيناريوهات: تصنيف القيم ومقارنتها
لإظهار العدد العلوي n فقط من العناصر في عمود أو PivotTable، لديك العديد من الخيارات:
-
يمكنك استخدام الميزات في Excel لإنشاء عامل تصفية علوي. يمكنك أيضا تحديد عدد من القيم العليا أو السفلية في PivotTable. يصف الجزء الأول من هذا القسم كيفية التصفية لأفضل 10 عناصر في PivotTable. لمزيد من المعلومات، راجع وثائق Excel.
-
يمكنك إنشاء صيغة تقوم بتصنيف القيم ديناميكيا، ثم التصفية حسب قيم الترتيب، أو استخدام قيمة الترتيب كمقسم طريقة عرض. يصف الجزء الثاني من هذا القسم كيفية إنشاء هذه الصيغة ثم استخدام هذا الترتيب في مقسم طريقة العرض.
هناك مزايا وعيوب لكل أسلوب.
-
يعد عامل تصفية Excel Top سهل الاستخدام، ولكن عامل التصفية مخصص فقط لأغراض العرض. إذا تغيرت البيانات الأساسية ل PivotTable، فيجب عليك تحديث PivotTable يدويا لمشاهدة التغييرات. إذا كنت بحاجة إلى العمل ديناميكيا مع التصنيفات، يمكنك استخدام DAX لإنشاء صيغة تقارن القيم بقيم أخرى داخل عمود.
-
صيغة DAX أكثر قوة؛ علاوة على ذلك، بإضافة قيمة الترتيب إلى مقسم طريقة العرض، يمكنك فقط النقر فوق مقسم طريقة العرض لتغيير عدد القيم العليا التي يتم عرضها. ومع ذلك، فإن العمليات الحسابية مكلفة حسابيا وقد لا يكون هذا الأسلوب مناسبا للجداول التي تحتوي على العديد من الصفوف.
إظهار العناصر العشرة الأولى فقط في PivotTable
لإظهار القيم العليا أو السفلية في PivotTable
|
ترتيب العناصر ديناميكيا باستخدام صيغة
يحتوي الموضوع التالي على مثال حول كيفية استخدام DAX لإنشاء ترتيب مخزن في عمود محسوب. نظرا لأن صيغ DAX يتم حسابها ديناميكيا، يمكنك دائما التأكد من صحة الترتيب حتى إذا تغيرت البيانات الأساسية. أيضا، نظرا لاستخدام الصيغة في عمود محسوب، يمكنك استخدام الترتيب في مقسم طريقة العرض ثم تحديد أعلى 5 أو أعلى 10 قيم أو حتى أعلى 100 قيمة.