שתף באמצעות


הפונקציות Blank‏, Coalesce‏, IsBlank ו- IsEmpty‏

חל על: יישומי בד ציור זרימות שולחן עבודה Dataverse עמודות נוסחה יישומים מונחי-דגמים Power Platform CLI

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

מבט כולל

ריק הוא מציין מיקום עבור "אין ערך" או "ערך לא ידוע". לדוגמה, מאפיין Selected‎ של פקדCombo box הוא ריק אם המשתמש לא ביצע בחירה. מקורות נתונים רבים יכולים לאחסן ולהחזיר ערכי NULL, המיוצגים ב- Power Apps כריקים.

כל מאפיין או ערך מחושב ב- Power Apps יכול להיות ריק. לדוגמה, לערך בוליאני יש בדרך כלל אחד משני ערכים: true או false. אבל בנוסף לשני אלה, הוא יכול גם להיות ריק, מה שמציין שהמצב אינו ידוע. זה דומה ל- Microsoft Excel, שם תא של גליון עבודה מתחיל כריק ללא תוכן, אבל יכול להכיל את הערכים TRUE או FALSE (בין השאר). בכל עת, ניתן שוב לנקות את התוכן של התא, ולהחזיר אותו למצב ריק.

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

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

הערה

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

ריק

חל על: יישומים מונחי דגמים יישומי בד ציור עמודות נוסחאות של Dataverse

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

IsBlank

חל על: יישומי בד ציור יישומים מונחי דגמים

הפונקציה IsBlank בודקת אם קיימים ערך ריק או מחרוזת ריקה. הבדיקה כוללת מחרוזות ריקות כדי להקל על יצירת יישומים משום שמקורות נתונים ופקדים מסוימים משתמשים במחרוזת ריקה כאשר לא קיים ערך. כדי לבדוק באופן ספציפי עבור ערך ריק, השתמש ב- if( Value = Blank(), ... במקום ב- IsBlank. הפונקציה IsBlank מחשיבה טבלאות ריקות כלא ריקות, ו- IsEmpty צריכה לשמש לבדיקת טבלה.

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

ערך ההחזרה עבור IsBlank הוא ערך true או false בוליאני.

Coalesce

חל על: יישומי בד ציור יישומים מונחי דגמים

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

Coalesce( value1, value2 ) היא המקבילה התמציתית יותר של If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) ואינה דורשת הערכה פעמיים של value1 ו- value2. הפונקציה If מחזירה ריק אם אין נוסחה "אחרת" כמו במקרה כאן.

כל הארגומנטים ב- Coalesce מוכרחים להיות מאותו סוג; לדוגמה, אינך יכול לשלב מספרים עם מחרוזות טקסט. ערך ההחזרה מ- Coalesce הוא מהסוג הנפוץ הזה.

IsEmpty

חל על: יישומי בד ציור יישומים מונחי דגמים

הפונקציה IsEmpty בודקת אם טבלה מכילה רשומות כלשהן. היא שוות ערך לשימוש בפונקציה CountRows ובדיקה אם קיים אפס. באפשרותך לבדוק אם קיימות שגיאות מקור נתונים על-ידי שילוב IsEmpty עם הפונקציה Errors.

ערך ההחזרה עבור IsEmpty הוא ערך true או false בוליאני.

תחביר

Blank()

Coalesce( Value1 [, Value2, ... ] )

  • Value(s) – נדרש. ערכים לבדיקה. כל ערך מוערך לפי הסדר עד שנמצא ערך שאינו ריק ואינו מחרוזת ריקה. לא מתבצעת הערכה של ערכים אחרי נקודה זו.

IsBlank( Value )

  • Value – נדרש. ערך לבדיקה אם קיימים ערך ריק או מחרוזת ריקה.

IsEmpty( Table )

  • Table - נדרש. טבלה לבדיקת הרשומות.

דוגמאות

ריק

הערה

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

  1. צור יישום מאפס, והוסף פקד Button‎.

  2. הגדר את המאפיין OnSelect של הלחצן לנוסחה הבאה:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. הצג את היישום שלך בתצוגה מקדימה, לחץ או הקש על הלחצן שהוספת וסגור את התצוגה המקדימה.

  4. בתפריט קובץ, לחץ או הקש על אוספים.

    האוסף ערים מופיע, ומציג רשומה אחת עם "הרצליה" ו"גשום":

    אוסף המציג את הרצליה עם מזג אוויר גשום.

  5. לחץ או הקש על החץ אחורה כדי לחזור לסביבת העבודה של ברירת המחדל.

  6. הוסף פקד Label‎ והגדר את מאפיין Text‎ שלו לנוסחה זו:

    IsBlank( First( Cities ).Weather )
    

    התווית מציגה false משום שהשדה מזג אוויר מכיל ערך ("גשום").

  7. הוסף לחצן שני, והגדר את מאפיין OnSelect שלו לנוסחה זו:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. הצג את היישום שלך בתצוגה מקדימה, לחץ או הקש על הלחצן שהוספת וסגור את התצוגה המקדימה.

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

    אוסף המציג את הרצליה עם שדה 'מזג אוויר' ריק.

    התווית מציגה true משום שהשדה מזג אוויר אינו מכיל עוד ערך.

Coalesce

נוסחה תיאור תוצאה
Coalesce( Blank(), 1 ) בודק את ערך ההחזרה מהפונקציה Blank, שמחזירה תמיד ערך ריק. משום שהארגומנט הראשון הוא ריק, ההערכה ממשיכה עם הארגומנט הבא עד שערך שאינו ריק ומחרוזת שאינה ריקה נמצאים. 1
Coalesce( "", 2 ) בודק את הארגומנט הראשון שהוא מחרוזת ריקה. משום שהארגומנט הראשון הוא מחרוזת ריקה, ההערכה ממשיכה עם הארגומנט הבא עד שערך שאינו ריק ומחרוזת שאינה ריקה נמצאים. 2
Coalesce( Blank(), "", Blank(), "", 3, 4 ) Coalesce מתחילה בתחילת רשימת הארגומנטים ומעריכה כל ארגומנט בתור עד שערך שאינו ריק ומחרוזת לא ריקה נמצאים. במקרה זה, ארבעת הארגומנטים הראשונים מחזירים ריק או מחרוזת ריקה, ולכן ההערכה ממשיכה לארגומנט החמישי. הארגומנט החמישי הוא אינו ריק ומחרוזת שאינה ריקה, ולכן ההערכה מפסיקה כאן. הערך של הארגומנט החמישי מוחזר, והארגומנט השישי אינו מוערך. 3
Coalesce( "" ) בודק את הארגומנט הראשון שהוא מחרוזת ריקה. משום שהארגומנט הראשון הוא מחרוזת ריקה, ואין ארגומנטים נוספים, הפונקציה מחזירה ריק. blank

IsBlank

  1. צור יישום מאפס, הוסף פקד קלט טקסט וקרא לו FirstName.

  2. הוסף תווית והגדר את מאפיין Text‎ שלה לנוסחה זו:

    If( IsBlank( FirstName.Text ), "First Name is a required field." )
    

    כברירת מחדל, המאפיין Text‎ של פקד קלט טקסט מוגדר ל"Text input". מכיוון שהמאפיין מכיל ערך, הוא אינו ריק והתווית אינה מציגה הודעה.

  3. הסר את כל התווים מפקד קלט הטקסט, כולל רווחים כלשהם.

    מכיוון שהמאפיין Text‎ אינו מכיל עוד תווים, זוהי מחרוזת ריקה ו- IsBlank( FirstName.Text )‎ יהיה true. הודעת השדה הנדרשת מוצגת.

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

דוגמאות אחרות:

נוסחה תיאור תוצאה
IsBlank( Blank() ) בודק את ערך ההחזרה מהפונקציה Blank, שמחזירה תמיד ערך ריק. true
IsBlank( "" ) מחרוזת שלא מכילה תווים. true
IsBlank( "Hello" ) מחרוזת שמכילה תו אחד או יותר. false
IsBlank( AnyCollection ) משום שהאוסף קיים, הוא אינו ריק, גם אם אינו מכיל רשומות. כדי לבדוק אם אוסף ריק, השתמש במקום זאת ב- IsEmpty. false
IsBlank( Mid( "Hello", 17, 2 ) ) התו הפותח עבור Mid הוא מעבר לסוף המחרוזת. התוצאה היא מחרוזת ריקה. true
IsBlank( If( false, false ) ) פונקציית If ללא ElseResult. משום שהתנאי הוא תמיד false, פונקציית If זו מחזירה תמיד ריק. true

IsEmpty

  1. צור יישום מאפס, והוסף פקד Button‎.

  2. הגדר את המאפיין OnSelect של הלחצן לנוסחה הבאה:

    Collect( IceCream, { Flavor: "Strawberry", Quantity: 300 }, { Flavor: "Chocolate", Quantity: 100 } )

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

    אוסף בשם גלידה נוצר ומכיל נתונים אלה:

    טבלה עם טעמי תות ושוקולד בכמות 300 ו- 100.

    אוסף זה כולל שתי רשומות ואינו ריק. IsEmpty( IceCream )‎ מחזירה false, ו- CountRows( IceCream )‎ מחזירה 2.

  4. הוסף לחצן שני, והגדר את מאפיין OnSelect שלו לנוסחה זו:

    Clear( IceCream )

  5. הצג את היישום שלך בתצוגה מקדימה, לחץ או הקש על הלחצן השני וסגור את התצוגה המקדימה.

    האוסף ריק כעת:

    אוסף עם טעם וכמות כאוסף ריק.

    הפונקציה Clear מסירה את כל הרשומות מאוסף, והתוצאה היא אוסף ריק. IsEmpty( IceCream )‎ מחזירה true, ו- CountRows( IceCream )‎ מחזירה 0.

באפשרותך גם להשתמש ב- IsEmpty כדי לבדוק אם טבלה מחושבת היא ריקה, כפי שדוגמאות אלה מראות:

נוסחה תיאור תוצאה
IsEmpty( [ 1, 2, 3 ] ) הטבלה בת העמודה היחידה מכילה שלוש רשומות ולכן אינה ריקה. false
IsEmpty( [ ] ) הטבלה בת העמודה היחידה אינה מכילה רשומות והיא ריקה. true
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) הטבלה בת העמודה היחידה אינה מכילה ערכים הגדולים מ- 5. התוצאה מהמסנן אינה מכילה רשומות והיא ריקה. true