שגיאות נפוצות בנוסחאות
היכרות עם השגיאות הנפוצות שעלולות להתרחש בנוסחאות ב-Notion וכיצד ניתן לטפל בהן 🔨
If you’re unsure how to fix the errors in your formula, Notion AI can help. Learn more here →
אם אין לך גישה למאגר ידע שאליו מתבצעת הפניה, נוסחאות לא יוכלו לבצע חישובים בצורה מהימנה. הסיבה לכך היא שנוסחאות דורשות גישה למאגר הידע המקור ולהגדרות המאפיין שלו.
איך לתקן את זה
יש לוודא שיש לך גישה לכל הדפים ולמאגרי הידע שמופיעים בנוסחתך בתוך הכפתור או באוטומציית מאגר הידע.
בניגוד למאפייני נוסחה במאגרי ידע, נוסחאות באוטומציות מצפות לסוג החזרה ספציפי מהנוסחאות (למשל: תאריך, טקסט, מספר, אדם). אחרת, האוטומציה תיכשל בשמירה ובביצוע תקין.
איך לתקן את זה
יש לוודא שהנוסחה מחזירה את סוג הערך הנכון. לדוגמה, כאשר כותבים נוסחה להגדרת הערך של מאפיין "אדם" בדף, על הנוסחה להחזיר משתמש או רשימת משתמשים, ולא תאריך. לחלופין, כאשר מעריכים תנאי ספציפי על מאפיין מסוג מערך (למשל, בחירה מרובה), יש להשתמש ב-.includes במקום ב-== בהצהרת ה-if().
סיבה נפוצה לשגיאה זו היא שימוש בסוג שונה כדי לייצג ערך ריק. לדוגמה, בנוסחה כמו if(Date, Date.dateAdd(1, “day”), ""), סוג ההחזרה אינו ידוע מכיוון שהוא יכול להיות תאריך או טקסט (בגלל ה-""). ניתן לתקן זאת על ידי שימוש ב-empty() כדי לייצג ערכים ריקים במקום זאת, כך שהנוסחה המתוקנת תיראה כמו if(Date, Date.dateAdd(1, "day"), empty()).
נוסחאות ב-Notion יכולות להיות בעומק של 15 שכבות בלבד. בכל פעם שנוסחה מפנה לנוסחה אחרת או ל-rollup, היא מוסיפה שכבה. זה חל גם אם הנוסחה נמצאת במאגר ידע אחר.
כאשר מגיעים למגבלה זו, Notion תציג הודעת שגיאה.
איך לתקן את זה
ניתן לפשט את ההגדרה על ידי שילוב נוסחאות ו-rollups מיותרים למספר קטן יותר של מאפיינים. יש לבחון מקומות שבהם נוסחאות מרובות עושות פעולות דומות ולנסות למזג אותן לאחת.
אם משתנים מותאמים אישית מוגדרים בתוך אותה פעולת אוטומציה, הם אינם יכולים להפנות זה לזה.
לדוגמה, אם תגדיר את var1 ואת var2 באותה פעולה, var2 לא יוכל להשתמש ב-var1 בהגדרה שלו.
איך לתקן את זה
יש להגדיר כל משתנה בפעולה נפרדת משלו (למשל, ליצור את המשתנה הראשון, להוסיף פעולה חדשה לאוטומציה, ולהגדיר את המשתנה הבא בנפרד), כך שכל משתנה יהיה מזוהה כראוי.
כיום, לא ניתן להשתמש במשתנים המוגדרים באוטומציה כדי לסנן דפים במאגרי ידע שעליהם תרצה שהאוטומציה תפעל (למשל: "ערוך דפים התואמים למסנן מכיל משתנה").
איך לתקן את זה
הגדר משתנה מותאם אישית כ-
דף זהעל ידי הקלדתדף טריגרבתיבת נוסחה.הוסף פעולת
ערוך דפים ב-ובחר את המשתנה המותאם אישית משלב 1 כיעד שלך.
בעת עבודה עם מאפייני יחס, rollup ואנשים בנוסחאות, הנוסחאות מחזירות רשימה של דפים או אנשים. כדי להתייחס למאפיינים בתוך היחס, יש להגדיר את האיבר הראשון, אחרת האוטומציה תיכנס להשהיה. יתכן ותיתקל בבעיה זו גם בעת יצירת נוסחה המשתמשת בפונקציית map עבור מאפיין יחס.
איך לתקן את זה
ניתן להשתמש בפונקציות כגון .first() או .at(0) לקבלת האיבר הראשון, או לעבור בלולאה על רשימת הדפים באמצעות פונקציות כמו .map(), .filter(), .every(), .some() ו-.find().
אם נוסחה נתקלת באופן בלתי צפוי בערך ריק (לרוב ערך של תאריך או אדם), האוטומציה תקבל שגיאה ותיכנס להשהיה באופן אוטומטי.
איך לתקן את זה
ניתן להשתמש ב-if או ב-ifs לבדיקת קיומו של ערך במאפיין שעליו מתבצעת הפעולה. לדוגמה, במקום Date.dateAdd(1, "day"), עדיף להשתמש ב-if(Date, Date.dateAdd(1, "day"), empty()). כך, תתבצע פעולת dateAdd רק כאשר ב-Date קיים ערך, והאוטומציה תקבל הוראה לנקות את המאפיין המתעדכן כאשר Date אינו מאוכלס. לחלופין, ניתן להגדיר תצוגה עם מסנן שמבטיח שקיומו של ערך במאפיין עליה פועלים, ולהגדיר את האוטומציה כך שההרצה תתבצע רק על דפים בתצוגה זו.
במקרה שהנוסחה אינה פועלת כמצופה, ייתכן שהסיבה לכך היא שגיאת תחביר, כגון סוגריים חסרים, אופרטורים שגויים או פונקציות שאינן נתמכות. לקריאה מעמיקה בנושא התחביר של הנוסחאות, ניתן לעיין ב-מאמר זה →.
