إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
| الوظيفة | ينطبق على |
|---|---|
| GroupBy |
|
| Ungroup |
|
تجميع أو إلغاء تجميع سجلات خاصة بـ جدول.
الوصف
ترجع GroupBy الدالة جدولا يحتوي على سجلات مجمعة معا استنادا إلى القيم الموجودة في عمود واحد أو أكثر. يتم وضع السجلات في نفس المجموعة في سجل واحد، مع إضافة عمود يحتوي على جدول متداخل للأعمدة المتبقية.
تقوم Ungroup الدالة بعكس GroupBy العملية. تقوم هذه الوظيفة بإرجاع جدول، مقسمة إلى سجلات منفصلة أي سجلات تم تجميعها معًا.
يمكنك تجميع السجلات باستخدام GroupBy، وتعديل الجدول الذي يقوم بإرجاعه، ثم فك تجميع السجلات في الجدول المعدل باستخدام Ungroup. على سبيل المثال، يمكنك إزالة مجموعة من السجلات باتباع هذا النهج:
- استخدم الدالة GroupBy .
- استخدم وظيفة Filter لإزالة مجموعة السجلات بالكامل.
- استخدم الدالة Ungroup .
يمكنك أيضًا تجميع النتائج بناءً على التجميع:
- استخدم الدالة GroupBy .
- استخدم وظيفة AddColumns مع Sum و Average، والوظائف التجميعية الأخرى لإضافة عمود جديد وهو تجميع جداول المجموعة.
- استخدم وظيفة DropColumns لإسقاط جدول المجموعة.
Ungroup يحاول الاحتفاظ بالترتيب الأصلي للسجلات التي تم تغذيتها إلى GroupBy. هذا غير ممكن دائمًا (على سبيل المثال، إذا كان الجدول الأصلي يحتوي على سجلات فارغة).
جدول عبارة عن قيمة في Power Apps، تمامًا مثل سلسلة أو رقم. يمكنك تحديد جدول كوسيطة لوظيفة، ويمكن للوظيفة إرجاع جدول. GroupBy Ungroup ولا تقم بتعديل جدول؛ بدلا من ذلك يأخذون جدولا كوسيطة ويعيدون جدولا مختلفا. راجع التعامل مع الجداول للاطلاع على مزيد من التفاصيل.
ملاحظة
قبل Power Apps الإصدار 3.24042، كانت أسماء الأعمدة محددة بسلسلة نصية باستخدام علامات اقتباس مزدوجة، وإذا كانت مرتبطة مصدر البيانات فهي تحتاج أيضا إلى أسماء منطقية. على سبيل المثال، استخدم الاسم المنطقي "cr43e_name"مع علامات اقتباس مزدوجة بدلا من اسم العرض Name بدون عروض أسعار. بالنسبة SharePoint لمصادر بيانات Excel التي تحتوي على أسماء أعمدة ذات المسافات، يتم تحديد كل مسافة باستخدام "_x0020_"، على سبيل المثال، "اسم العمود" Column_x0020_Name". بعد هذا الإصدار، يتم تحديث كافة التطبيقات تلقائيًا إلى الجملة الجديدة الموضحة في هذه المقالة.
بناء الجملة
GroupBy( Table, ColumnName1 [, ColumnName2, ... ], GroupColumnName )
- الجدول - مطلوب. الجدول المراد تجميعه.
- أسماء الأعمدة- مطلوب. أسماء الأعمدة في الجدول الذي يتم فيه تجميع السجلات. تصبح هذه الأعمدة أعمدة في الجدول الناتج.
- GroupColumnName - مطلوب. اسم العمود لتخزين بيانات السجل ليس في ColumnName(s).
Ungroup( Table, GroupColumnName )
- الجدول - مطلوب. الجدول المراد إلغاء تجميعه.
- GroupColumnName - مطلوب. العمود الذي يحتوي على إعداد بيانات السجل مع الدالة GroupBy .
الأمثلة
إنشاء مجموعة
- أضف زرًا، وقم بتعيين خاصية Text الخاصة به، بحيث يعرض الزر الأصلي.
- قم بتعيين خاصية OnSelect الخاصة بالزر الأصلي إلى هذه الصيغة:
ClearCollect( CityPopulations,
{ City: "London", Country: "United Kingdom", Population: 8615000},
{ City: "Berlin", Country: "Germany", Population: 3562000},
{ City: "Madrid", Country: "Spain", Population: 3165000},
{ City: "Rome", Country: "Italy", Population: 2874000},
{ City: "Paris", Country: "France", Population: 2273000},
{ City: "Hamburg", Country: "Germany", Population: 1760000},
{ City: "Barcelona", Country: "Spain", Population: 1602000},
{ City: "Munich", Country: "Germany", Population: 1494000},
{ City: "Milan", Country: "Italy", Population: 1344000}
)
أثناء الضغط على مفتاح Alt، حدد الزر الأصلي.
لقد قمت للتو بإنشاء مجموعة مسماة CityPopulations، والتي تحتوي على هذه البيانات:
لعرض هذه المجموعة، حدد المجموعات في قائمة الملف، ثم حدد مجموعة CityPopulations. تظهر السجلات الخمسة الأولى في المجموعة:
تجميع السجلات
أضف زرًا آخر، وقم بتعيين خاصية Text الخاصة به إلى "تجميع".
قم بتعيين خاصية OnSelect الخاصة بهذا الزر إلى هذه الصيغة:
ClearCollect( CitiesByCountry, GroupBy( CityPopulations, Country, Cities ) )
أثناء الضغط على مفتاح Alt، حدد الزر تجميع.
لقد قمت بإنشاء مجموعة تسمى CitiesByCountry، التي يتم فيها تجميع سجلات المجموعة السابقة حسب عمود البلد.
لعرض السجلات الخمسة الأولى في هذه المجموعة، حدد مجموعات في قائمة الملف.
لعرض محتويات المدن في بلد/منطقة، حدد رمز الجدول في عمود المدن لهذا البلد/المنطقة (على سبيل المثال، ألمانيا):
تصفية السجلات وإلغاء تجميعها
وأضف زرًا آخر، وقم بتعيين خاصية Text الخاصة به، بحيث يعرض الزر "تصفية".
قم بتعيين خاصية OnSelect الخاصة بهذا الزر إلى هذه الصيغة:
ClearCollect( CitiesByCountryFiltered, Filter( CitiesByCountry, "e" في البلد ))
أثناء الضغط على مفتاح Alt، حدد الزر الذي أضفته.
لقد قمت للتو بإنشاء مجموعة ثالثة تسمى CitiesByCountryFiltered وتشمل فقط تلك البلدان التي تشتمل على "ص" في أسمائها (أي ليس السعودية أو الإمارات).
أضف زرا آخر، ثم قم بتعيين الخاصية Text الخاصة به بحيث يظهر الزر "Ungroup".
قم بتعيين خاصية OnSelect الخاصة بهذا الزر إلى هذه الصيغة:
ClearCollect( CityPopulationsUngrouped, Ungroup( CitiesByCountryFiltered, Cities ) )
مما يؤدي إلى:
تجميع النتائج
هناك عملية أخرى يمكننا تنفيذها على جدول مجمع وهي تجميع النتائج. في هذا المثال، سنقوم بجمع عدد سكان المدن الرئيسية في كل بلد/منطقة.
وأضف زرًا آخر، وقم بتعيين خاصية Text الخاصة به، بحيث يعرض الزر "مجموع".
قم بتعيين خاصية OnSelect الخاصة بالزر "مجموع" إلى هذه الصيغة:
ClearCollect( CityPopulationsSum, AddColumns( CitiesByCountry, 'مجموع سكان المدن', Sum( المدن, السكان)) )
مما يؤدي إلى:
تبدأ AddColumns بالمجموعة الأساسية CitiesByCountry وتضيف عمودا جديدا مجموع سكان المدينة. يتم حساب قيم هذا العمود صفًا تلو الآخر، استنادًا إلى الصيغة Sum( Cities, Population ). توفر AddColumns قيمة عمود المدن (جدول) لكل صف، ويجمع ...المجموع المحتوى لكل صف من هذا الجدول الفرعي.
الآن بعد أن حصلنا على المبلغ الذي نريده، يمكننا استخدام DropColumns لإزالة الجداول الفرعية.
وأضف زرًا آخر، وقم بتعيين خاصية Text الخاصة به، بحيث يعرض الزر "SumOnly".
قم بتعيين خاصية OnSelect الخاصة بالزر "SumOnly" إلى هذه الصيغة:
ClearCollect( CityPopulationsSumOnly ، DropColumns ( CityPopulationsSum ، المدن )
مما يؤدي إلى:
لاحظ أننا لم نحتاج إلى إلغاء تجميع هذا الجدول.