פונקציה מותאמת אישית משתמשת בשפת הנוסחאות M, לוקחת קבוצה של ערכי קלט ולאחר מכן מחזירה ערך פלט יחיד. אם יש לך לוגיקה שברצונך לעשות בה שימוש חוזר פעמים רבות או להחיל את אותה ערכת המרות על שאילתה או ערך שונים, שקול ליצור פונקציה מותאמת אישית ולאחר מכן להפעיל את הפונקציה במקום ובזמן שבהם אתה זקוק לה. קיימות כמה דרכים ליצירת פונקציה מותאמת אישית:
- השתמש בעורך המתקדם כדי להוסיף משפט let משלך ולהתחיל מאפס.
- השתמש בפקודה Invoke Custom Function .
- קיימות דרכים נוספות ליצירת פונקציות שלא נדונו בנושא עזרה זה, כולל הפקודות 'יצירת פונקציה ' ו'הוסף כשאילתה '. לקבלת דיון מעמיק, ראה הכרת Power Query הפונקציות M (docs.com) ושימוש בפונקציות מותאמות אישית (docs.com).
יצירה והפעלה של פונקציה מותאמת אישית פשוטה באמצעות העורך המתקדם
להלן דוגמה פשוטה לפונקציה מותאמת אישית העוקבת אחר מסורת תיכנות ארוכת שנים.
כדי ליצור שאילתה ריקה:
Excel בחירת נתונים>קבלת נתונים>ממקורות> אחריםשאילתה ריקה.
Power Query לחץ באמצעות לחצן העכבר הימני על מקום ריק בחלונית 'שאילתות' מימין ולאחר מכן בחר 'שאילתה>חדשה' מקורות> אחריםשאילתה ריקה.
בחלונית ' שאילתות ' מימין, לחץ פעמיים על השם ולאחר מכן שנה את שם השאילתה הריקה החדשה ל- "HelloWorld".
בחר את השאילתה החדשה ולאחר מכן בחר 'עורך מתקדםשל הבית>'.
החלף את קוד ההתחלה של התבנית בקוד הבא:
let
HelloWorld = () => ("Hello World")
in
HelloWorldבחר בצע.
שינית את השאילתה "HelloWorld" לפונקציה מותאמת אישית. שים לב לסמל הפונקציה סמל
מימינו.כדי להפעיל את הפונקציה, בחר אותה ולאחר מכן בחר הפעל ב'תצוגה מקדימה של נתונים'.
תוצאות הפונקציה מוצגות בתצוגה מקדימה של נתונים ומתווספות לחלונית ' שאילתות ' כשאילתה בשם ברירת המחדל, Invoked Function. אולי תרצה לשנות את השם לשם משמעותי יותר, כגון "HelloWorldResult".
בחר שאילתה זו ולאחר מכן בחר 'בית>','סגור' &'טען' כדי לראות את התוצאות בגליון עבודה.
תוצאות
יצירה והפעלה של פונקציה מותאמת אישית בעלת פרמטר באמצעות העורך המתקדם
הדוגמה הבאה מראה כיצד להעביר פרמטר לפונקציה מותאמת אישית כדי להמיר מספר עשרוני למספר הקסדצימלי.
כדי ליצור שאילתה ריקה:
Excel בחירת נתונים>קבלת נתונים>ממקורות> אחריםשאילתה ריקה.
Power Query לחץ באמצעות לחצן העכבר הימני על מקום ריק בחלונית 'שאילתות' מימין ולאחר מכן בחר 'שאילתה>חדשה' מקורות> אחריםשאילתה ריקה.
בחלונית ' שאילתות ' מימין, שנה את שם השאילתה הריקה החדשה ל- "MyHex".
בחר את השאילתה החדשה ולאחר מכן בחר 'עורך מתקדםשל הבית>'.
החלף את קוד ההתחלה של התבנית בקוד הבא:
let
MyHex = (parameter1) => Number.ToText(parameter1,"X")
in
MyHexבחר בצע.
שינית את השאילתה MyHex לפונקציה מותאמת אישית. שים לב לסמל הפונקציה סמל
מימינו.כדי להפעיל את הפונקציה, בחר אותה ולאחר מכן, ב'תצוגה מקדימה של נתונים', הזן מספר בתיבה Parameter1 ובחר Invoke.
תוצאות הפונקציה מוצגות בתצוגה מקדימה של נתונים ומתווספות לחלונית ' שאילתות ' כשאילתה בשם ברירת המחדל, Invoked Function. ייתכן שתרצה לשנות את השם לשם משמעותי יותר, כגון MyHexResult.
בחר שאילתה זו ולאחר מכן בחר 'בית>','סגור' &'טען' כדי לראות את התוצאות בגליון עבודה.
תוצאות
הוספת עמודה על-ידי הפעלת פונקציה מותאמת אישית
אם יצרת פונקציה עם פרמטר אחד לפחות, באפשרותך להפעיל אותה כפונקציה מותאמת אישית כדי ליצור עמודה חדשה וערך חדש עבור כל שורה בטבלה.
כדי לפתוח שאילתה, אתר שאילתה שנטענה בעבר מתוך עורך Power Query, בחר תא בנתונים ולאחר מכן בחר'עריכתשאילתה>'. לקבלת מידע נוסף, ראה יצירה, עריכה וטעינה של שאילתה ב- Excel (Power Query).
הערה בדוגמה זו, השאילתה זקוקה לעמודה אחת לפחות של סוג הנתונים 'מספר שלם '.
צור את הפונקציה המותאמת אישית "MyHex" כפי שמוסבר בסעיף, צור והפעל פונקציה מותאמת אישית שיש לה פרמטר עם העורך המתקדם.
בשאילתה, בחר הוסף עמודה>הפעל פונקציה מותאמת אישית. מופיעה תיבת הדו-שיח Invoke Custom Function .
הזן את שם העמודה החדש, כגון "HexConvert", בתיבה שם עמודה חדשה .
בחר את השם של פונקציה מותאמת אישית מוגדרת מראש מהרשימה הנפתחת שאילתת פונקציה. בדוגמה זו, בחר "MyHex".
מאחר שהפונקציה המותאמת אישית מפנה לפרמטר, הפרמטר מוצג כעת.
בחר עמודה מסוג הנתונים 'מספר שלם ' כפרמטר לפונקציה.
בחר אישור.
Result
עמודה חדשה נוצרת שמציגה את הערך ההקסדצימאלי של עמודת המספר השלם שהזנת כפרמטר.
למידע נוסף
עזרה עבור Power Query for Excel
יצירת נוסחאות של Power Query ב- Excel