שתף באמצעות


הפונקציות Sort ו- SortByColumns‏

חל על: אפליקציות קנבס זרימות שולחן עבודה אפליקציות מונחות דגמים Power Pages Power Platform CLI

ממיינת טבלה.

הערה

PAC CLI פקודות pac power-fx אינן תומכות בפונקציה SortByColumns .

Description

הפונקציה Sort ממיינת טבלה בהתבסס על נוסחה.

הנוסחה מוערכת עבור כל רשומה של הטבלה, והתוצאות משמשות כדי למיין את הטבלה. תוצאת הנוסחה מוכרחה להיות מספר, מחרוזת או ערך בוליאני; התוצאה שלה לא יכולה להיות טבלה או רשומה.

שדות הרשומה המעובדים כעת זמינים בתוך הנוסחה. השתמש באופרטור ThisRecord או פשוט צור הפניה לשדות בשמם, כפי שאתה עושה לגבי כל ערך אחר. ניתן גם להשתמש באופרטור As כדי לבחור שם עבור הרשומה שמעובדת. באופן זה, הנוסחה קלה יותר להבנה, וניתן להפוך רשומות מקוננות לנגישות. לקבלת מידע נוסף, עיין בדוגמאות להלן ובעבודה עם טווח רשומה.

כדי למיין תחילה לפי עמודה אחת ולאחר מכן לפי עמודה אחרת, עליך להטביע נוסחת Sort בתוך נוסחה אחרת. לדוגמה, באפשרותך להשתמש בנוסחה זו כדי למיין טבלת אנשי קשר תחילה לפי עמודת שם משפחה ולאחר מכן לפי עמודת שם פרטי: Sort( Sort( Contacts, LastName ), FirstName )

הפונקציה SortByColumns יכולה לשמש גם למיון טבלה בהתבסס על עמודה אחת או יותר.

רשימת הפרמטרים עבור SortByColumns מספקת את שמות העמודות שיש למיין לפיהן ואת סדר המיון לכל עמודה. המיון מתבצע לפי סדר הפרמטרים (מיון תחילה לפי העמודה הראשונה, אחר כך השנייה וכן הלאה). שמות העמודות מצוינים כמחרוזות, ודורשים מרכאות כפולות אם נכללים ישירות ברשימת הפרמטרים. לדוגמה, SortByColumns( CustomerTable, "LastName" ).

באפשרותך לשלב את SortByColumns עם פקד Drop down או List box כדי לאפשר למשתמשים לבחור לפי איזו עמודה יש למיין.

בנוסף למיון בסדר עולה או יורד, SortByColumns יכולה למיין בהתבסס על טבלת ערכים בת עמודה יחידה. לדוגמה, באפשרותך למיין רשומה בהתבסס על שם היום בשבוע על-ידי מתן "יום ראשון", "יום שני", "יום שלישי", "יום רביעי", "יום חמישי", "יום שישי", "יום שבת" כסדר המיון. כל הרשומות הכוללות את יום ראשון יופיעו ראשונות, ואחריהן יום שני וכן הלאה. רשומות שנמצאו שלא מופיעות בטבלת המיון מוצבות בסוף הרשימה.

טבלאות הן ערך ב Power Apps, בדיוק כמו מחרוזת או מספר. ניתן להעביר אותן אל פונקציות ולהחזיר אותן מפונקציות. מיין ו SortByColumn לא משנים טבלה; במקום זאת הם לוקחים טבלה כארגומנט ומחזירים טבלה חדשה שסומנה. ראה עבודה עם טבלאות לקבלת פרטים נוספים.

הקצאה

כאשר הדבר יהיה אפשרי, Power Apps יקצה פעולות סינון ומיון למקור הנתונים וידפדף בין התוצאות לפי דרישה. לדוגמה, כאשר אתה מפעיל יישום המציג פקד גלריה המלא בנתונים, רק ערכת הנתונים הראשונה תועבר בתחילה למכשיר. כאשר המשתמש גולל, נתונים נוספים יועברו ממקור הנתונים. התוצאה היא זמן הפעלה מהיר יותר עבור היישום וגישה לערכות נתונים גדולות מאוד.

עם זאת, ייתכן שהקצאה לא תהיה זמינה תמיד. מקורות נתונים משתנים בהתאם לפונקציות ולאופרטורים שבהם הם תומכים בעזרת הקצאה. אם הקצאה מלאה של נוסחה אינה אפשרית, סביבת העריכה תסמן את החלק שלא ניתן להקצות בעזרת אזהרה. כאשר ניתן, שקול לשנות את הנוסחה כדי להימנע מפונקציות ואופרטורים שלא ניתן להקצות. רשימת ההקצאה מפרטת אילו מקורות נתונים ופעולות ניתנים להקצאה.

אם הקצאה אינה אפשרית, Power Apps ימשוך רק ערכת רשומות קטנה כדי לעבוד עליה באופן מקומי. פונקציות סינון ומיון יפעלו בערכת רשומות מצומצמת. ייתכן שמה שזמין בגלריה לא יהווה את הסיפור השלם, וזה עלול לבלבל משתמשים.

עיין במבט כולל על הקצאה לקבלת מידע נוסף.

תחביר

מיון( טבלה, נוסחה [, סדר מיון ] )

  • טבלה - חובה. טבלה למיון.
  • נוסחה - חובה. נוסחה זו מוערכת עבור כל רשומה של הטבלה, והתוצאות משמשות כדי למיין את הטבלה. ניתן להפנות לעמודות בטבלה.
  • SortOrder - אופציונלי. ציין את SortOrder.Descending למיון הטבלה בסדר יורד. SortOrder.Ascending הוא ערך ברירת המחדל.

SortByColumns( טבלה, ColumnName1 [, SortOrder1 , ColumnName2, SortOrder2, ... ] )

  • טבלה - חובה. טבלה למיון.

  • ColumnNames - חובה. שמות העמודות למיון, כמחרוזות.

  • SortOrders - אופציונלי. SortOrder.Ascending או SortOrder.Descending. SortOrder.Ascending הוא ברירת המחדל. אם סופקו שמות עמודות מרובים, כולם למעט העמודה האחרונה מוכרחים לכלול SortOrder.

    הערה

    עבור מקורות נתונים של SharePoint ו- Excel המכילים שמות עמודות עם רווחים, ציין כל רווח כ- "_x0020_". לדוגמה, ציין "שם עמודה" כ- "Column_x0020_Name".

SortByColumns( טבלה, שם עמודה, SortOrderTable )

  • טבלה - חובה. טבלה למיון.

  • ColumnName - חובה. שם העמודה למיון, כמחרוזות.

  • SortOrderTable - חובה. טבלת ערכים בעלת עמודה יחידה למיון לפיה.

    הערה

    עבור מקורות נתונים של SharePoint ו- Excel המכילים שמות עמודות עם רווחים, ציין כל רווח כ- "_x0020_". לדוגמה, ציין "שם עמודה" כ- "Column_x0020_Name".

דוגמאות

עבור הדוגמאות הבאות, נשתמש במקור הנתונים גלידה, שמכיל את הנתונים בטבלה זו:

דוגמה 'גלידה'.

נוסחה תיאור תוצאה
מיון (גלידה, טעם)

SortByColumns( IceCream, "Flavor")
ממיין את גלידה לפי עמודת טעם שלה. העמודה טעם מכילה מחרוזות, ולכן הטבלה ממוינת לפי סדר אלפביתי. כברירת מחדל, סדר המיון הוא עולה. ממוין בסדר אלפביתי‬.
מיון (גלידה, כמות)

SortByColumns( IceCream, "כמות")
ממיין את גלידה לפי עמודת כמות שלה. העמודה כמות מכילה מספרים ולכן הטבלה ממוינת לפי סדר מספרי. כברירת מחדל, סדר המיון הוא עולה. ממוין בסדר מספרי.
Sort( IceCream, Quantity, SortOrder.Descending)

SortByColumns( IceCream, "Quantity", SortOrder.Descending )
ממיין את גלידה לפי עמודת כמות שלה. העמודה כמות מכילה מספרים ולכן המיון מתבצע באופן מספרי. סדר המיון צוין כסדר יורד. ממוין בסדר מספרי ויורד.
מיין ( IceCream, Quantity + OnOrder ) ממיין את גלידה לפי סכום העמודות כמות ובהזמנה עבור כל רשומה בנפרד. הסכום הוא מספר, כך שהטבלה ממוינת באופן מספרי. כברירת מחדל, סדר המיון הוא עולה. מכיוון שאנחנו ממיינים לפי נוסחה ולא לפי ערכי עמודות גולמיים, אין שווה ערך לשימוש ב- SortByColumns. ממוין בסדר מספרי ועולה.
מיון ( מיון ( IceCream, OnOrder ), כמות )

SortByColumns( IceCream, "OnOrder", SortOrder.Ascending, "Quantity", SortOrder.Ascending )
מיין את גלידה תחילה לפי עמודת בהזמנה שלה ולאחר מכן לפי עמודת כמות שלה. שים לב ש"פיסטוק" עלה על "וניל" במיון הראשון המבוסס על בהזמנה, ולאחר מכן הם עברו ביחד למקום המתאים שלהם בהתבסס על כמות. ממוין עם
SortByColumns( IceCream, "Flavor", [ "Pistachio", "Strawberry" ] ) ממיין את גלידה לפי עמודת טעם שלה בהתבסס על טבלה בעת עמודה יחידה המכילה "פיסטוק" ו"תות שדה". רשומות בעלות טעם של "פיסטוק" יופיע ראשונות בתוצאה, ולאחר מכן יופיעו רשומות המכילות "תות שדה". עבור ערכים בעמודה טעם שאינם תואמים, כגון "וניל", הם יופיעו אחרי הפריטים שהותאמו. ממוין עם

שלב אחר שלב

כדי להפעיל דוגמאות אלה בעצמך, צור את מקור הנתונים גלידה כאוסף.

  1. הוסף לחצן, והגדר את מאפיין OnSelect שלו לנוסחה זו:
    ClearCollect( IceCream, { טעם: "שוקולד", כמות: 100, OnOrder: 150 }, { טעם: "וניל", כמות: 200, OnOrder : 20 }, { טעם: "תות", כמות: 300, OnOrder: 0 }, { טעם: "שוקולד מנטה ", כמות: 60, OnOrder: 100 }, { טעם: "Pistachio", כמות: 200, OnOrder: 10 } )
  2. הצג את היישום בתצוגה מקדימה, בחר בלחצן, והקש Esc כדי לחזור לסביבת העבודה של ברירת המחדל.
  3. בחר אוספים בתפריט קובץ כדי להציג את האוסף שיצרת, ולאחר מכן הקש Esc כדי לחזור לסביבת העבודה של ברירת המחדל.

מיון

  1. הוסף לחצן נוסף, והגדר את מאפיין OnSelect שלו לנוסחה זו:
    ClearCollect( SortByFlavor, Sort( IceCream, Flavor) )

    הנוסחה הקודמת יוצרת אוסף שני בשם SortByFlavor, המכיל את אותם נתונים כשל גלידה. עם זאת, האוסף החדש מכיל את הנתונים ממוינים בסדר אלפביתי לפי העמודה טעם בסדר עולה.

  2. הקש F5, בחר בלחצן החדש והקש Esc.

  3. בחר אוספים בתפריט קובץ כדי להציג את שני האוספים, ולאחר מכן הקש Esc כדי לחזור לסביבת העבודה של ברירת המחדל.

  4. חזור על שלושת השלבים האחרונים, אך שנה את שם האוסף שברצונך ליצור והחלף את הנוסחה Sort בנוסחה אחרת מטבלת הדוגמאות המופיעה קודם לכן בסעיף זה אשר משתמשת ב- Sort.

SortByColumns

  1. הוסף לחצן נוסף, והגדר את מאפיין OnSelect שלו לנוסחה זו:
    ClearCollect( SortByQuantity, SortByColumns( IceCream, "Quantity", SortOrder.Ascending, "Flavor", SortOrder.Descending ) )

    הנוסחה הקודמת יוצרת אוסף שלישי בשם SortByQuantity, המכיל את אותם נתונים כשל גלידה. עם זאת, האוסף החדש מכיל את הנתונים ממוינים באופן מספרי לפי העמודה כמות בסדר עולה, ולאחר מכן לפי העמודה טעם בסדר יורד.

  2. הקש F5, בחר בלחצן החדש והקש Esc.

  3. בחר אוספים בתפריט קובץ כדי להציג את כל שלושת האוספים, ולאחר מכן הקש Esc כדי לחזור לסביבת העבודה של ברירת המחדל.

  4. חזור על שלושת השלבים האחרונים, אך שנה את שם האוסף שברצונך ליצור והחלף את הנוסחה SortByColumns בנוסחה אחרת מטבלת הדוגמאות המופיעה קודם לכן בסעיף זה אשר משתמשת ב- SortByColumns.