السياق في صيغ DAX

ملاحظة: إننا نرغب في تزويدك بأحدث محتوى تعليمات لدينا بأسرع ما يمكن، وبلغتك الخاصة. وقد تمت ترجمة هذه الصفحة آلياً، وقد تحتوي على أخطاء نحوية أو أخطاء تتعلق بالدقة. إن هدفنا هو أن يكون هذا المحتوى مفيداً لك. هل يمكنك إخبارنا إذا ما كانت المعلومات مفيدة لك في أسفل هذه الصفحة؟ فيما يلي المقالة باللغة الإنجليزية لتكون مرجعاً سهلاً لك.

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

يحدد هذا القسم الأنواع المختلفة من السياق: سياق الصف وسياق الاستعلام وسياق التصفية. تشرح هذه المقالة كيفيه تقييم السياق للصيغ في الاعمده المحسوبة وفي جداول pivottable.

يوفر الجزء الأخير من هذه المقالة ارتباطات إلى أمثله مفصله توضح كيف تتغير نتائج الصيغ استنادا إلى السياق.

فهم السياق

يمكن ان تتاثر الصيغ في Power Pivot بعوامل التصفية المطبقة في PivotTable ، حسب العلاقات بين الجداول ، وحسب عوامل التصفية المستخدمة في الصيغ. السياق هو الاجراء الذي يجعل من الممكن تنفيذ تحليل ديناميكي. فهم السياق مهم لإنشاء الصيغ واستكشاف الأخطاء وإصلاحها.

هناك أنواع مختلفه من السياق: سياق الصف وسياق الاستعلام وسياق التصفية.

يمكن اعتبار سياق الصف علي انه "الصف الحالي". إذا قمت بإنشاء عمود محسوب ، فان سياق الصف يتكون من القيم الموجودة في كل صف وقيم فرديه في الاعمده المرتبطة بالصف الحالي. توجد أيضا بعض الدالات (الإصدارات السابقة وأقرب) التي تحصل علي قيمه من الصف الحالي ، ثم استخدم هذه القيمة اثناء تنفيذ عمليه عبر جدول بأكمله.

يشير سياق الاستعلام إلى مجموعه فرعيه من البيانات التي يتم إنشاؤها ضمنيا لكل خليه في PivotTable ، وفقا لرؤوس الصفوف والاعمده.

ان سياق التصفية هو مجموعه القيم المسموح بها في كل عمود ، استنادا إلى قيود التصفية التي تم تطبيقها علي الصف أو التي تم تعريفها بواسطة تعبيرات التصفية داخل الصيغة.

أعلى الصفحة

سياق الصف

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

علي سبيل المثال ، افترض انك قمت بإنشاء عمود محسوب ، = [الشحن] + [الضريبة] ،

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

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

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

= [الشحن] + ذو صله (' Region ' [تاكسراتي])

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

سياق صفوف متعددة

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

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

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

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

= MAXX (تصفيه (المبيعات, [برودكيي] = الإصدارات السابقة ([برودكيي])) ، المبيعات [أورديرقتي])

للحصول علي معاينه مفصله لهذه الصيغة ، راجع الhttps://docs.microsoft.com/dax/earlier-function-dax السابق.

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

أعلى الصفحة

سياق الاستعلام

يشير سياق الاستعلام إلى مجموعه فرعيه من البيانات التي تم استردادها ضمنيا لصيغه. عند إسقاط مقياس أو حقل قيمه أخرى في خليه في PivotTable ، يفحص مشغل Power Pivot رؤوس الصفوف والاعمده ومقسمات طرق العرض وعوامل تصفيه التقارير لتحديد السياق. بعد ذلك ، يجري Power Pivot العمليات الحسابية الضرورية لتعبئة كل خليه في PivotTable. تمثل مجموعه البيانات التي يتم استردادها سياق الاستعلام لكل خليه.

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

علي سبيل المثال ، افترض انك قمت بإنشاء هذه الصيغة البسيطة التي تجمع القيم في عمود "الأرباح" في جدول المبيعات: = SUM (' Sales ' [الربح]).

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

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

في PivotTable ، من السهل تغيير السياق عن طريق أضافه رؤوس الاعمده والصفوف أو ازالتها ، وذلك باضافه مقسمات طرق العرض أو ازالتها. يمكنك إنشاء صيغه مثل تلك الموجودة أعلاه ، وفي مقياس ، ثم إفلاتها في PivotTable. عندما تضيف عناوين الاعمده أو الصفوف إلى PivotTable ، يمكنك تغيير سياق الاستعلام الذي يتم تقييم المقياس به. تؤثر أيضا عمليات السليسينج والتصفية علي السياق. لذلك ، يتم تقييم الصيغة نفسها المستخدمة في PivotTable في سياق استعلام مختلف لكل خليه.

أعلى الصفحة

سياق عامل التصفية

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

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

للحصول علي مزيد من المعلومات حول كيفيه إنشاء عوامل التصفية ضمن الصيغ ، راجع دالات التصفية.

للحصول علي مثال حول كيفيه مسح عوامل التصفية لإنشاء الإجماليات الكلية ، راجع كل.

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

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

أعلى الصفحة

تحديد السياق في الصيغ

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

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

علي سبيل المثال ، إذا قمت للتو باستيراد بعض البيانات إلى جدول جديد ولم تقم بتطبيق اي عوامل تصفيه ، فان المجموعة الكاملة من الاعمده في الجدول هي جزء من السياق الحالي. إذا كان لديك العديد من الجداول المرتبطة بالعلاقات وكانت تعمل في PivotTable تمت تصفيته باضافه عناوين الاعمده وباستخدام مقسمات طرق العرض ، سيتضمن السياق الجداول المرتبطة وأي عوامل تصفيه علي البيانات.

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

أمثله عن السياق في الصيغ

  • توسع الدالة ذات الصلة سياق الصف الحالي لتضمين القيم في عمود ذي صله. يتيح لك هذا اجراء عمليات البحث. يوضح المثال الموجود في هذا الموضوع تفاعل التصفية وسياق الصف.

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

  • تقوم الدالة ALL بتعيين سياق داخل صيغه. يمكنك استخدامه لتجاوز عوامل التصفية التي يتم تطبيقها كنتيجة لسياق الاستعلام.

  • تتيح لك الدالة ALLEXCEPT أزاله عوامل التصفية باستثناء الكلمة التي تحددها. يتضمن الموضوعان الامثله التي تقودك عبر إنشاء الصيغ وفهم السياقات المعقدة.

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

أعلى الصفحة

التكامل المرجعي

يناقش هذا القسم بعض المفاهيم المتقدمة ذات الصلة بالقيم المفقودة في جداول Power Pivot التي يتم توصيلها بواسطة العلاقات. قد يكون هذا المقطع مفيدا إذا كان لديك مصنفات ذات جداول وصيغ معقده متعددة وتريد الحصول علي المساعدة في فهم النتائج.

إذا كنت جديدا علي مفاهيم البيانات العلائقية ، فمن المستحسن أولا قراءه موضوع المقدمة ، نظره عامهعلي العلاقات.

علاقات التكامل المرجعي والPower Pivot

Power Pivot لا يتطلب فرض التكامل المرجعي بين جدولين لكي تتمكن من تعريف علاقة صالحه. بدلا من ذلك ، يتم إنشاء صف فارغ في نهاية كل علاقة واحد إلى متعدد ويتم استخدامه لمعالجه كل الصفوف غير المتطابقة من الجدول المرتبط. يسلك سلوكا فعالا كصلة SQL خارجيه.

في PivotTables ، إذا قمت بتجميع البيانات حسب جانب واحد من العلاقة ، سيتم تجميع اي بيانات غير متطابقة في الجانب المتعدد من العلاقة معا سيتم تضمينها في الإجماليات باستخدام عنوان صف فارغ. العنوان الفارغ مكافئ تقريبا إلى "عضو غير معروف".

فهم العضو غير المعروف

من المحتمل ان يكون مفهوم العضو غير المعروف مالوفا لك إذا كنت تعمل مع أنظمه قواعد بيانات متعددة الابعاد ، مثل SQL server Analysis Services. إذا كان المصطلح جديدا بالنسبة اليك ، فيشرح المثال التالي ما هو العضو غير المعروف والطريقة التي يؤثر به علي العمليات الحسابية.

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

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

معالجه القيم الفارغة مقابل الصف الفارغ

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

أعلى الصفحة

تعزيز مهارات Office
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Office Insider

هل كانت المعلومات مفيدة؟

نشكرك على ملاحظاتك!

شكراً لك على الملاحظات! يبدو أنه من المفيد إيصالك بأحد وكلاء دعم Office لدينا.

×