הפונקציות GroupBy ו- Ungroup
חל על: אפליקציות קנבס אפליקציות מונחות דגמים Power Pages
מקבצת או מבטלת את הקיבוץ של רשומות של טבלה.
Description
הפונקציה GroupBy מחזירה טבלה עם רשומות המקובצות ביחד בהתבסס על הערכים בעמודה אחת או יותר. רשומות באותה קבוצה מוצבות ברשומה יחידה, עם עמודה שנוספה השומרת טבלה מקוננת של העמודות הנותרות.
הפונקציה Ungroup הופכת את התהליך GroupBy. פונקציה זו מחזירה טבלה ומחלקת לרשומות נפרדות את כל הרשומות שקובצו יחד.
באפשרותך לקבץ רשומות באמצעות GroupBy, לשנות את הטבלה שהיא מחזירה ולאחר מכן לבטל קיבוץ של רשומות בטבלה שהשתנתה באמצעות Ungroup. לדוגמה, באפשרותך להסיר קבוצת רשומות על-ידי ביצוע גישה זו:
- השתמש בפונקציה GroupBy.
- השתמש בפונקציה Filter כדי להסיר את קבוצת הרשומות השלמה.
- השתמש בפונקציה Ungroup.
באפשרותך גם לצבור תוצאות בהתבסס על קיבוץ:
- השתמש בפונקציה GroupBy.
- השתמש בפונקציה AddColumns עם Sum, Average ופונקציות צבירה נוספות כדי להוסיף עמודה חדשה שהיא צבירה של טבלאות הקבוצה.
- השתמש בפונקציה DropColumns כדי לשחרר את טבלת הקבוצה.
Ungroup מנסה לשמר את הסדר המקורי של הרשומות שהוזנו ל GroupBy. זה לא תמיד אפשרי (לדוגמה, אם הטבלה המקורית מכילה רשומות ריקות).
טבלה היא ערך ב- Power Apps, בדומה למחרוזת או מספר. באפשרותך לציין טבלה כארגומנט עבור פונקציה, ופונקציה יכולה להחזיר טבלה. GroupBy ו בטל קבוצה לא משנים טבלה; במקום זאת הם לוקחים טבלה כטיעון ומחזירים טבלה אחרת. ראה עבודה עם טבלאות לקבלת פרטים נוספים.
הערה
ב- Power Apps לפני גרסה 3.24042, שמות העמודות צוינו עם מחרוזת טקסט באמצעות מרכאות כפולות, ואם מחוברים למקור נתונים הם גם צריכים להיות שמות לוגיים. לדוגמה, השם הלוגי "cr43e_name" עם מרכאות כפולות שימש במקום שם תצוגה שם ללא מרכאות. עבור מקורות נתונים של SharePoint ו-Excel המכילים שמות עמודות עם רווחים, כל רווח צוין עם "_x0020_", למשל "שם העמודה" כמו "Column_x0020_Name". אחרי גרסה זו, כל האפליקציות עודכנו אוטומטית לתחביר החדש המתואר במאמר זה.
תחביר
GroupBy( טבלה, שם עמודה1 [, שם עמודה2 , ... ], GroupColumnName )
- טבלה - חובה. טבלה לקיבוץ.
- ColumnNames - חובה. שמות העמודות בטבלה שלפיהן יש לקבץ רשומות. עמודות אלה הופכות לעמודות בטבלה המתקבלת.
- GroupColumnName - חובה. שם העמודה עבור האחסון של נתוני רשומה שאינם בשמות עמודות.
בטל קבוצה( טבלה, 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, בחר בלחצן מקורי.
יצרת זה עתה אוסף, הנקרא אוכלוסיות ערים, המכיל את הנתונים הבאים:
להצגת האוסף, בחר אוספים בתפריט קובץ ולאחר מכן בחר באוסף אוכלוסיות ערים. חמש הרשומות הראשונות באוסף מופיעות:
רשומות קבוצה
הוסף לחצן נוסף, והגדר את מאפיין Text שלו ל"קבוצה".
הגדר את המאפיין OnSelect של לחצן זה לנוסחה הבאה:
ClearCollect( CitiesByCountry, GroupBy( CityPulations, Country, Cities ) )
תוך כדי לחיצה על מקש Alt, בחר בלחצן קבוצה.
יצרת זה עתה אוסף, הנקרא ערים לפי מדינה, שבו הרשומות של האוסף הקודם מקובצות לפי העמודה מדינה.
להצגת חמש הרשומות הראשונות באוסף זה, בחר אוספים בתפריט קובץ.
להצגת אוכלוסיות הערים במדינה/אזור, בחר בסמל הטבלה בעמודה ערים עבור מדינה/אזור אלו (לדוגמה, גרמניה):
סינון וביטול קיבוץ של רשומות
הוסף לחצן נוסף, והגדר את מאפיין Text שלו כך שהלחצן יציג מסנן.
הגדר את המאפיין OnSelect של לחצן זה לנוסחה הבאה:
ClearCollect( CitiesByCountryFiltered, Filter( CitiesByCountry, "e" במדינה ) )
תוך כדי לחיצה על מקש Alt, בחר בלחצן שהוספת.
יצרת זה עתה אוסף שלישי, הנקרא ערים לפי מדינה מסוננות, הכולל רק את המדינות הכוללות "ב" בשמותיהן (כלומר, לא ספרד או איטליה).
הוסף לחצן נוסף, והגדר את מאפיין Text שלו כך שהלחצן יציג ביטול קיבוץ.
הגדר את המאפיין OnSelect של לחצן זה לנוסחה הבאה:
ClearCollect( CityPulationsUngroup, Ungroup( CitiesByCountryFiltered, Cities) )
התוצאה היא:
תוצאות מצטברות
פעולה נוספת שאנו יכולים לבצע בטבלה מקובצת היא קומפילציה של התוצאות. בדוגמה זו נסכם את אוכלוסיית הערים הגדולות בכל מדינה/אזור.
הוסף לחצן נוסף, והגדר את מאפיין Text שלו כך שהלחצן יציג סכום.
הגדר את המאפיין OnSelect של הלחצן סכום לנוסחה זו:
ClearCollect( CityPulationsSum, AddColumns( CitiesByCountry, 'Sum of City Populations', Sum( Cities, Population ) ) )
התוצאה היא:
AddColumns מתחיל באוסף הבסיס CitiesByCountry ומוסיף עמודה חדשה סכום אוכלוסיות ערים. ערכי עמודה זו מחושבים שורה אחרי שורה, בהתבסס על הנוסחה Sum( Cities, Population ). AddColumns מספק את הערך של העמודה Cities (טבלה) עבור כל שורה, ו Sum מחבר את ה אוכלוסיה עבור כל שורה בטבלת המשנה הזו.
כעת כשיש לנו את הסכום הרצוי, אנחנו יכולים להשתמש ב- DropColumns כדי להסיר את טבלאות המשנה.
הוסף לחצן נוסף, והגדר את מאפיין Text שלו כך שהלחצן יציג סכום בלבד.
הגדר את המאפיין OnSelect של הלחצן סכום בלבד לנוסחה זו:
ClearCollect( CityPopulationsSumOnly, DropColumns( CityPopulationsSum, Cities ) )
התוצאה היא:
שים לב שלא היינו צריכים לבטל את הקיבוץ של טבלה זו.