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