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

هام: تمت ترجمة هذه المقالة ترجمة آلية، راجع إقرار إخلاء المسؤولية. يرجى الاطلاع على النسخة الإنجليزية من هذه المقالة. هنا للرجوع إليها.

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

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

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

فهم السياق

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

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

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

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

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

اعلي الصفحه

سياق الصف

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

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

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

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

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

= [تكلفه الشحن] + RELATED('Region'[TaxRate])

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

سياق صف متعدد

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

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

في Excel، تتطلب هذه العملية الحسابية سلسلة من الملخصات الوسيطة، التي يتم إعادة بنائها إذا تم تغيير البيانات. إذا كنت مستخدمًا عاديًا لـ Excel، فقد تكون قادرًا على بناء صيغ صفيفة يمكن أن تقوم بالمهمة. ‏‫وبدلاً من ذلك، في قاعدة البيانات العلائقية فإنه يمكنك كتابة الأنظمة الفرعية المتداخلة.

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

=MAXX(FILTER(Sales,[ProdKey]=EARLIER([ProdKey])),Sales[OrderQty])

لمعاينة مفصلة لهذه الصيغة، راجع الدالة EARLIER.

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

اعلي الصفحه

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

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

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

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

اذا كنت تستخدم هذه الصيغه في عمود محسوب داخل جدول المبيعات ، نتائج الصيغه سيكون نفسه ل# الجدول ب# اكمله، ل# ان سياق الاستعلام ل# الصيغه دائما مجموعه البيانات الكامله من جدول Sales . سيتعين علي نتائج الارباح ل# جميع المناطق، كافه المنتجات، كافه السنوات، و# هكذا.

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

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

اعلي الصفحه

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

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

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

لمزيد من المعلومات حول كيفية إنشاء عوامل التصفية خلال الصيغ، راجع دالات عامل التصفية (DAX).

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

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

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

اعلي الصفحه

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

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

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

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

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

أمثلة السياق في الصيغ

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

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

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

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

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

اعلي الصفحه

تكامل مرجعي

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

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

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

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

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

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

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

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

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

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

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

اعلي الصفحه

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

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

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

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

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

×