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

في هذه المقالة

إنشاء عامل تصفية على جدول مستخدم في صيغة

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

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

=SUMX(
     FILTER ('ResellerSales_USD'، 'ResellerSales_USD'[الكمية] > 5 &&
     'ResellerSales_USD'[ProductStandardCost_USD] > 100)،
     'ResellerSales_USD'[SalesAmt]
     )

  • يحدد الجزء الأول من الصيغة إحدى دالات التجميع Power Pivot التي تأخذ جدولا ك الوسيطة. تحسب SUMX مجموعا فوق جدول.

  • الجزء الثاني من الصيغة، FILTER(table, expression),إلى SUMX البيانات التي يجب استخدامها. SUMX جدولا أو تعبيرا ينتج عنه جدول. هنا، بدلا من استخدام كل البيانات في جدول، يمكنك استخدام الدالة FILTER لتحديد الصفوف التي يتم استخدامها من الجدول.

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

  • يوضح الجزء الثالث من الصيغة الدالة SUMX التي يجب جمعها. في هذه الحالة، لا تستخدم سوى مبلغ المبيعات.

    تجدر الإشارة إلى أن دالات مثل FILTER، التي ترجع جدولا، لا ترجع الجدول أو الصفوف مباشرة، ولكنها دائما مضمنة في دالة أخرى. لمزيد من المعلومات حول FILTER والوظائف الأخرى المستخدمة للتصفية، بما في ذلك المزيد من الأمثلة، راجع دالات التصفية (DAX).

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

عوامل التصفية التي تزيل التكرارات

بالإضافة إلى التصفية لقيم معينة، يمكنك إرجاع مجموعة فريدة من القيم من جدول أو عمود آخر. قد يكون ذلك مفيدا عندما تريد حساب عدد القيم الفريدة في عمود، أو استخدام قائمة بالقيم الفريدة للعمليات الأخرى. يوفر DAX دالتين لإرجاع القيم المميزة: الدالة DISTINCTوقيم الدالة.

  • تقوم الدالة DISTINCT بفحص عمود واحد تحدده ك الوسيطة للدالة، وترجع عمودا جديدا يحتوي على القيم المميزة فقط.

  • ترجع الدالة VALUES أيضا قائمة بالقيم الفريدة، ولكنها ترجع أيضا العضو غير معروف. يكون هذا الأمر مفيدا عند استخدام قيم من جدولين منضمين بعلاقة، وقيمة مفقودة في أحد الجدولين ومقدمة في الجدول الآخر. لمزيد من المعلومات حول العضو غير معروف، راجع السياق في صيغ DAX.

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

=COUNTROWS(DISTINCT('ResellerSales_USD'[ProductKey]))

أعلى الصفحة

كيفية تأثير السياق على عوامل التصفية

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

لمزيد من المعلومات، راجع السياق في صيغ DAX.

أعلى الصفحة

إزالة عوامل التصفية

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

تجاوز كافة عوامل التصفية باستخدام الدالة ALL

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

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

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

=SUM (Sales[Amount])/SUMX(Sales[Amount], FILTER(Sales, ALL(Products)))

  • يحسب الجزء الأول من الصيغة SUM (Sales[Amount]) البسط.

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

  • يحسب الجزء الثاني من الصيغة المقام. تتجاوز الدالة ALL أي عوامل تصفية قد يتم تطبيقها على Products الجدول.

لمزيد من المعلومات، بما في ذلك الأمثلة المفصلة، راجع الدالة ALL.

تجاوز عوامل تصفية محددة باستخدام الدالة ALLEXCEPT

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

أعلى الصفحة

هل تحتاج إلى مزيد من المساعدة؟

توسيع المهارات

استكشاف التدريب >

الحصول على الميزات الجديدة أولاً

الانضمام إلى MICROSOFT INSIDERS >

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

ما مدى رضاك عن جودة اللغة؟
ما الذي أثّر في تجربتك؟

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

×