مشاركة عبر


Sortودالات SortByColumns

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

فرز جدول.

‏‫ملاحظة

لا تدعم SortByColumnsأوامر PAC CLI pac power-fx الوظيفة.

الوصف

تقوم Sort الدالة بفرز جدول استنادا إلى صيغة.

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

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

للفرز أولا حسب عمود واحد ثم حسب عمود آخر، يمكنك تضمين صيغة Sort داخل عمود آخر. على سبيل المثال، يمكنك استخدام هذه الصيغة لفرز جدول جهات الاتصال أولا حسب عمود LastName ثم حسب عمود FirstName : Sort( Sort( جهات الاتصال، اسم العائلة )، الاسم الأول )

SortByColumns يمكن أيضا استخدام الدالة لفرز جدول استنادا إلى عمود واحد أو أكثر.

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

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

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

الجداول هي قيمة في Power Apps ، تماما مثل سلسلة أو رقم. يمكن تمريرها وإرجاعها من الوظائف. Sort ولا يقوم SortByColumn بتعديل جدول؛ بدلا من ذلك، يأخذون جدولا كوسيطة ويعيدون جدولا جديدا تم فرزه. راجع التعامل مع الجداول للاطلاع على مزيد من التفاصيل.

تفويض

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

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

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

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

بناء الجملة

Sort( جدول، صيغةSortOrder ] )

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

SortByColumns( Table, ColumnName1 [, SortOrder1, ColumnName2, SortOrder2, ... ] )

  • الجدول - مطلوب. الجدول المراد فرزه.

  • أسماء الأعمدة- مطلوب. أسماء الأعمدة للفرز عليها، كسلاسل.

  • أوامر الفرز - اختياري. سورت أوردر.تصاعدي أو سورت أوردر.تنازلي. سورتوردير.تصاعدي هو الافتراضي. في حالة توفير ColumnNames متعددة، يجب أن تتضمن الكل عدا العمود الأخير SortOrder.

    ‏‫ملاحظة

    بالنسبة لمصادر بيانات SharePoint وExcel التي تحتوي على أسماء الأعمدة مع مسافات، حدد كل مسافة على أنها "_x0020_". على سبيل المثال، حدد "اسم العمود" كـ "‏Column_x0020_Name".

SortByColumns( Table, ColumnName, SortOrderTable )

  • الجدول - مطلوب. الجدول المراد فرزه.

  • اسم العمود- مطلوب. اسم العمود للفرز عليها، كسلاسل.

  • سورت أوردرتابل - مطلوب. جدول قيم عمود واحد للفرز حسبه.

    ‏‫ملاحظة

    بالنسبة لمصادر بيانات SharePoint وExcel التي تحتوي على أسماء الأعمدة مع مسافات، حدد كل مسافة على أنها "_x0020_". على سبيل المثال، حدد "اسم العمود" كـ "‏Column_x0020_Name".

الأمثلة

في الأمثلة التالية، سنستخدم مصدر البياناتIceCream، الذي يحتوي على البيانات في هذا الجدول:

مثال الآيس كريم.

الصيغة الوصف النتيجة
Sort( IceCream, Flavor )

SortByColumns( IceCream, "نكهة" )
فرز IceCream حسب عمود Flavor الخاص به. يحتوي عمود Flavor على سلاسل، لذا يتم فرز الجدول أبجديًا. افتراضيًا ، يكون ترتيب الفرز تصاعديًا. فرز أبجدي.
Sort( IceCream, Quantity )

SortByColumns( IceCream, "Quantity")
فرز IceCream حسب عمود Quantity الخاص به. يحتوي عمود Quantity على الأرقام، لذا يتم فرز الجدول عدديًا. افتراضيًا ، يكون ترتيب الفرز تصاعديًا. تم الفرز رقميًا.
Sort( IceCream, Quantity, SortOrder.Descending )

SortByColumns( IceCream, "Quantity", SortOrder.Descending )
فرز IceCream حسب عمود Quantity الخاص به. يحتوي عمود Quantity على الأرقام، لذا يتم الفرز عدديًا. تم تحديد ترتيب الفرز على أنه تنازلي. تم الفرز رقميا وتنازليا.
Sort( IceCream, Quantity + OnOrder ) فرز IceCream بواسطة مجموع عمودي Quantity وOnOrder لكل سجل على حدة. المجموع هو رقم، لذا يتم فرز الجدول عدديًا. افتراضيًا ، يكون ترتيب الفرز تصاعديًا. نظرا لأننا نقوم بالفرز حسب صيغة وليس حسب قيم الأعمدة الأولية، فلا يوجد ما يعادل ذلك باستخدام SortByColumns. تم الفرز رقميا وتصاعديًا.
Sort( ( SortIceCream, OnOrder ), Quantity )

SortByColumns( IceCream, "OnOrder", SortOrder.Ascending, "Quantity", SortOrder.Ascending )
فرز IceCream أولاً حسب عمود OnOrder الخاص به، ثم حسب عمود Quantity الخاص به. لاحظ أن "الفستق" ارتفع فوق "الفانيليا" في التصنيف الأول بناءً على OnOrder، ثم انتقلا معًا إلى مكانهما المناسب استنادًا إلى Quantity. مرتبة بالفستق فوق الفانيليا.
SortByColumns( IceCream, "نكهة", [ "الفستق", "الفراولة" ] ) فرز IceCream حسب عمود Flavor الخاص به بناء على جدول العمود الواحد الذي يحتوي على "الفستق" و"الفراولة". ستظهر السجلات التي تحتوي على Flavor الخاصة بـ "Pistachio" أولاً في النتيجة، تليها السجلات التي تحتوي على "Strawberry". بالنسبة للقيم الموجودة في عمود Flavor غير المتطابقة، مثل "Vanilla"، ستظهر بعد العناصر التي تمت مطابقتها. مرتبة بالفستق فوق الفراولة.

خطوة بخطوة

لتشغيل هذه الأمثلة بنفسك، قم بإنشاء مصدر بيانات IceCream كـ مجموعة:

  1. أضف زرًا، وقم بتعيين خاصية OnSelect الخاصة به إلى هذه الصيغة:
    ClearCollect (آيس كريم، { نكهة: "شوكولاتة"، الكمية: 100، OnOrder: 150 }، { نكهة: "الفانيليا"، الكمية: 200، OnOrder: 20 }، { النكهة: "الفراولة"، الكمية: 300، OnOrder: 0 }، { النكهة: "الشوكولاته النعناع"، الكمية: 60، OnOrder: 100 }، { النكهة: "الفستق"، الكمية: 200، OnOrder: 10 } )
  2. قم بمعاينة التطبيق، وحدد الزر، ثم اضغط على Esc للعودة إلى مساحة العمل الافتراضية.
  3. حدد مجموعاتمن قائمة الملف لعرض المجموعة التي أنشأتها للتو ، ثم اضغط على Esc للرجوع إلى مساحة العمل الافتراضية.

Sort

  1. أضف زرًا آخر، وقم بتعيين خاصية OnSelect الخاصة به إلى هذه الصيغة:
    ClearCollect( SortByFlavor, Sort( IceCream, Flavor ) )

    تنشئ الصيغة السابقة مجموعة ثانية تسمى SortByFlavor، التي تحتوي على نفس البيانات مثل Ice Cream. ومع ذلك ، تحتوي المجموعة الجديدة على البيانات مرتبة أبجديًا حسب عمود Flavor في ترتيب تصاعدي.

  2. اضغط على المفتاح F5 وحدد الزر الجديد، ثم اضغط على Esc.

  3. حدد مجموعاتمن قائمة الملف لعرض المجموعتين ، ثم اضغط على Esc للرجوع إلى مساحة العمل الافتراضية.

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

SortByColumns

  1. أضف زرًا آخر، وقم بتعيين خاصية OnSelect الخاصة به إلى هذه الصيغة:
    ClearCollect( SortByQuantity, SortByColumns( IceCream, "Quantity", SortOrder.Ascending, "Flavor", SortOrder.Descending ) )

    تنشئ الصيغة السابقة مجموعة ثالثة تسمى SortByQuantity، التي تحتوي على نفس البيانات مثل Ice Cream. ومع ذلك ، تحتوي المجموعة الجديدة على البيانات المصنفة رقميًا حسب عمود Quantity بترتيب تصاعدي، ثم حسب عمود Flavor بترتيب تنازلي.

  2. اضغط على المفتاح F5 وحدد الزر الجديد، ثم اضغط على Esc.

  3. حدد مجموعاتمن قائمة الملف لعرض المجموعات الثلاث، ثم اضغط على Esc للرجوع إلى مساحة العمل الافتراضية.

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