Filterالدالات Searchو و LookUp

ينطبق على: تعمل تطبيقات Canvas Copilot Studio Desktop على تدفقات التطبيقات المستندة إلى نموذج Power Platform CLI Dataverse لوظائف Power Pages

البحث عن سجل واحد أو أكثر في الجدول.

شاهد هذا الفيديو لمعرفة كيفية استخدام Filterالوظائف Searchو و:LookUp

ملحوظة

لا تدعم Search الوظيفة.

الوصف

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

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

بالنسبة لكلتا الوظيفتين، يتم تقييم الصيغة لكل سجل في الجدول. يتم تضمين السجلات التي تؤدي إلى صواب في النتيجة. إلى جانب عوامل الصيغة العادية، يمكنك استخدام عاملي in وexactin للحصول على مطابقات السلاسل الفرعية.

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

تعثر الدالة Search على سجلات في جدول تحتوي على سلسلة في أحد أعمدةها. قد تحدث السلسلة في أي مكان داخل العمود؛ على سبيل المثال، البحث عن "rob" أو "bert" قد يجد تطابقا في عمود يحتوي على "Robert". البحث غير حساس لحالة الأحرف. على عكس Filter و LookUp، تستخدم الدالة Search سلسلة واحدة للمطابقة بدلا من صيغة.

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

الجداول هي قيمة في Power Apps ، تماما مثل سلسلة أو رقم. يمكن تمريرها وإرجاعها من الوظائف. Filter Search، LookUp، ولا تقم بتعديل جدول. بدلاً من ذلك، تأخذ جدولًا كوسيطة وتُرجع جدولًا أو سجلًا أو قيمة واحدة منه. راجع التعامل مع الجداول للاطلاع على مزيد من التفاصيل.

تفويض

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

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

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

راجع نظرة عامة على التفويض لمزيد من المعلومات.

إعراب

Filter(Table*, Formula1 [, *Formula2*, ... ] )

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

Search(Table*, SearchString, Column1 [, *Column2*, ... ] )

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

ملحوظة

في Power Apps قبل الإصدار 3.24042، تم تحديد أسماء الأعمدة للدالة Search باستخدام سلسلة نصية باستخدام علامات الاقتباس المزدوجة، وإذا كانت متصلة بمصدر بيانات، فإنها تحتاج أيضا إلى أن تكون أسماء منطقية. على سبيل المثال، تم استخدام الاسم "cr43e_name" المنطقي مع علامات الاقتباس المزدوجة بدلا من اسم العرض بدون علامات اقتباس. بالنسبة لمصادر بيانات SharePoint وExcel التي تحتوي على أسماء أعمدة ذات مسافات، تم تحديد كل مسافة باستخدام "_x0020_"، على سبيل المثال "Column Name" ك "Column_x0020_Name". بعد هذا الإصدار، يتم تحديث كافة التطبيقات تلقائيًا إلى الجملة الجديدة الموضحة في هذه المقالة.

LookUp(Table*, Formula [, *ReductionFormula* ] )

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

الأمثلة

تستخدم الأمثلة التالية مصدر البياناتIceCream:

مصدر بيانات الأيس كريم.

الصيغة الوصف النتيجة
Filter(IceCream, OnOrder > 0) إرجاع السجلات التي يكون فيها OnOrder أكبر من الصفر. Filter حسب الطلب.
Filter(IceCream, Quantity + OnOrder > 225) إرجاع السجلات حيث يكون مجموع عمودي الكمية وOnOrder أكبر من 225. Filter الكمية والنظام.
Filter(IceCream, "chocolate" in Lower(Flavor )) إرجاع سجلات تظهر فيها الكلمة "chocolate" في اسم النكهة ، بشكل مستقل عن الأحرف الكبيرة أو الصغيرة. Filter في أقل من ذلك.
Filter(IceCream, Quantity < 10 && OnOrder < 20) إرجاع السجلات التي تكون فيها الكمية أقل من 10 وOnOrder أقل من 20. لا توجد سجلات تطابق هذه المعايير، لذا يتم إرجاع جدول فارغ. Filter على الكمية.
Search(IceCream, "choc", Flavor) إرجاع السجلات حيث تظهر السلسلة "choc" في اسم النكهة ، بشكل مستقل عن الأحرف الكبيرة أو الصغيرة. Search العناصر.
Search(IceCream, "", Flavor) نظرًا لأن مصطلح البحث فارغ، يتم إرجاع جميع السجلات. Search كافة العناصر.
LookUp(IceCream, Flavor = "Chocolate", Quantity) البحث عن سجل مع نكهة تساوي "Chocolate"، والتي يوجد منها سجل. بالنسبة للسجل الأول الذي تم العثور عليه، يتم إرجاع كميه هذا السجل. 100
LookUp(IceCream, Quantity > 150, Quantity + OnOrder) عمليات بحث عن سجل يحتوي على كمية أكبر من 150، والتي توجد بها عدة عمليات بحث. بالنسبة للسجل الأول الذي تم العثور عليه، وهو Vanilla ""، ترجع مجموع عمودي الكمية و OnOrder. 250
LookUp(IceCream, Flavor = "Pistachio", OnOrder) البحث عن سجل مع نكهة يساوي "Pistachio"، والتي لا يوجد منها شيء. بسبب عدم العثور على أي شيء، يرجع البحث القيمة فارغ. خلبي
LookUp(IceCream, Flavor = "Vanilla") البحث عن سجل مع نكهة تساوي "Vanilla"، والتي يوجد منها سجل. نظرًا لعدم توفير صيغة تخفيض، يتم إرجاع السجل بالكامل. { نكهة: "Vanilla", الكمية: 200, OnOrder: 75 }

التصفية باستخدام أعمدة الاختيار

يستخدم المثال التالي جدول الحساب في Microsoft Dataverse كمصدر بيانات. يوضح هذا المثال كيفية Filter قائمة الحسابات استنادا إلى قيم التحكم في مربع التحرير والسرد المحددة:

خطوة بخطوة

  1. افتح تطبيقًا فارغًا.

  2. أضف شاشة جديدة عن طريق تحديد شاشة جديدة.

  3. من علامة التبويب إدراج، حدد Gallery، ثم حدد عمودي.

  4. في علامة التبويب خصائص في الجزء الأيمن، افتح مصدر البيانات ثم حدد الحسابات.

  5. (اختياري) من القائمة تخطيط، حدد خيارات مختلفة.

  6. من علامة التبويب إدراج، حدد إدخال، ثم حدد Combo box. كرر الخطوة لإضافة عنصري تحكم مربع تحرير وسرد.

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

    تعيين قيم مربعات التحرير والسرد.

  8. الآن حدد عنصر تحكم Gallery وعيّن خاصية Items إلى الصيغة التالية:

    Filter(Accounts,
     'Industry' = ComboBox3.Selected.Industry Or IsBlank(ComboBox3.Selected.Industry),
     'Relationship Type' = ComboBox2.Selected.'Relationship Type' Or
       IsBlank(ComboBox2.Selected.'Relationship Type'),
     'Preferred Method of Contact' = ComboBox1.Selected.'Preferred Method of Contact' Or
       IsBlank(ComboBox1.Selected.'Preferred Method of Contact'))
    

    مصدر بيانات الحسابات.

Search تجربة المستخدم

تستخدم الأمثلة التالية مصدر البياناتIceCream:

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

توضح الأمثلة الموجودة في بقية هذه المقالة نتائج البحث في قائمة مسماة Customers وتحتوي على هذه البيانات:

Search على العملاء.

لإنشاء مصدر البيانات هذا كمجموعة، أنشئ عنصر تحكم Button وقم بتعيين خصائص OnSelect الخاص به إلى هذه الصيغة:

ClearCollect(Customers, Table({ Name: "Fred Garcia", Company: "Northwind Traders" }, { Name: "Cole Miller", Company: "Contoso" }, { Name: "Glenda Johnson", Company: "Contoso" }, { Name: "Mike Collins", Company: "Adventure Works" }, { Name: "Colleen Jones", Company: "Adventure Works" }) )

كما هو موضح في هذا المثال، يمكنك إظهار قائمة بالسجلات الموجودة في عنصر تحكم Gallery في الجزء السفلي من الشاشة. بالقرب من أعلى الشاشة، يمكنك إضافة عنصر تحكم Text input تُسمى SearchInput‎، بحيث يمكن للمستخدمين تحديد السجلات التي تثير اهتمامهم.

Search باستخدام إدخال البحث.

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

Search مع يبدأ ب.

للتصفية استنادًا إلى عمود الاسم، قم بتعيين خاصية Items الخاصة بعنصر تحكم gallery إلى إحدى هذه الصيغ:

الصيغة الوصف النتيجة
Filter(العملاء، StartsWith(Name, SearchInput.Text) ) تصفية مصدر بيانات العملاء للسجلات التي تظهر فيها سلسلة البحث في بداية عمود الاسم. الاختبار غير حساس لحالة الأحرف. في حالة قيام المستخدم بكتابة co في مربع البحث، tسيعرض المعرض Colleen Jones وCole Miller. لا يعرض المعرض Mike Collins لأن عمود الاسم لهذا السجل لا يبدأ بسلسلة البحث. Filter مع البدء ب.
Filter(العملاء، SearchInput.Text في الاسم) تصفية مصدر بيانات العملاء للسجلات التي تظهر فيها سلسلة البحث في أي موضع في عمود الاسم. الاختبار غير حساس لحالة الأحرف. في حالة قيام المستخدم بكتابة co في مربع البحث، يعرض المعرض Colleen Jones،Cole Miller،Mike Collins لأن سلسلة البحث تظهر في أي موضع في عمود الاسم لجميع هذه السجلات. Filter مع إدخال البحث.
Search(العملاء، SearchInput.Text، Name) على غرار استخدام عامل التشغيل in ، تبحث الدالة Search عن تطابق في أي مكان داخل عمود الاسم لكل سجل. يجب تضمين اسم العمود بين علامات اقتباس مزدوجة. Search الزبائن.

يمكنك توسيع البحث لتضمين عمود الشركة وعمود الاسم:

الصيغة الوصف النتيجة
Filter(Customers, StartsWith(Name, SearchInput.Text) || StartsWith(Company, SearchInput.Text) ) تصفية مصدر بيانات العملاء للسجلات التي يبدأ فيها عمود الاسم أو عمود الشركة بسلسلة البحث (على سبيل المثال، co). ||عامل التشغيل هو صواب إذا كانت أي وظيفة StartsWith هي صواب. Filter يبدأ العملاء ب.
Filter(Customers, SearchInput.Text in Name || SearchInput. Text in Company) تصفية مصدر بيانات العملاء للسجلات التي يحتوي فيها عمود الاسم أو عمود الشركة على سلسلة البحث (على سبيل المثال، co) في أي موضع بها. Filter إدخال البحث للعملاء.
Search(Customers, SearchInput.Text, Name, Company) على غرار استخدام عامل التشغيل في ، تبحث الدالة Search في مصدر بيانات العملاء عن السجلات التي يحتوي فيها عمود الاسم أو عمود الشركة على سلسلة البحث (على سبيل المثال، co) في أي مكان داخله. الدالة Search أسهل في القراءة والكتابة مما Filter إذا كنت تريد تحديد أعمدة متعددة ومتعددة في عوامل التشغيل. Search العملاء الذين لديهم إدخال بحث.