تصفية البيانات في صيغ DAX

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

في هذا المقال

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

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

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

= SUMX (
     عامل التصفية (' ResellerSales_USD ', ' ResellerSales_USD ' [Quantity] >
5 &&      ' ResellerSales_USD ' [ProductStandardCost_USD] > 100) ،
     ' ResellerSales_USD ' [ساليسامت]
     )

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

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

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

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

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

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

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

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

  • تقوم الدالة 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 لتجاوز اي عوامل تصفيه. الصيغة التالية مثال علي كيفيه استخدام الكل لتجاوز تاثيرات عوامل التصفية السابقة:

= SUM (Sales [Amount])/SUMX (المبيعات [Amount] ، التصفية (المبيعات ، الكل (المنتجات)))

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

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

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

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

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

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

أعلى الصفحة

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

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

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

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

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

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

×