לאחר שסקרנו את הפקודות שמבצעות שינוי בערכי השדות הקיימים בטבלת השאילתה – נתקדם כעת לשלב שבו אנו מוסיפים שדות חדשים לגמרי, המבוססים על חישוב או עיבוד של שדות קיימים. פקודות אלו מאפשרות להרחיב את הטבלה הנתונה בעמודות נוספות שמופקות לוגית מתוך הנתונים המקוריים.
עמודה מחושבת בPower Query- היא עמודה חדשה שנוצרת על בסיס חישוב המתבצע בתוך שלב השאילתה. בניגוד לעמודות המקוריות המגיעות ממקור הנתונים, העמודה המחושבת נוצרת ע"י יותר השאילתה, היא חלק מהשלבים שמרכיבים את מהלך עיבוד הנתונים (Applied Steps) והיא מחושבת באופן דינמי בכל ריענון של השאילתה.
החישוב מתבצע עבור כל שורה בנפרד (Row Context) וניתן לשלב בין ערכים, טקסטים, תאריכים, פונקציות מתמטיות ולוגיות.
כל עמודה מחושבת מתווספת כשלב חדש בApplied Steps- וניתן לשנות או למחוק אותה בכל עת.
קיימות ארבע שיטות עקרוניות ליצר עמודה מחושבת:
- עמודה מחושבת מותאמת אישית.
- עמודה מחושבת מבוססת על חישוב קבוע.
- עמודה מחושבת מתוך דוגמה.
- עמודה המפעילה פונקצית M (שיטה זו אינה נכללת בחומר הלימודים של חוברת זו ולא תפורט).
כל הפקודות ליצירת עמודות מחושבות מרוכזות בלשונית Add Column בסרגל הכלים.
יצירת עמודה מכל סוג מבוצעת על השאילתה הנוכחית ותמיד מתווספת כעמודה האחרונה בשאילתה הנוכחית. אין מגבלה לכמות העמודות המחושבת שניתן להוסיף לשאילתה.
עמודה מותאמת אישית
בשדה העליון מגדירים את שם השדה, מתוך רשימת השדות בוחרים שדה מרשימת השדות של השאילתה הנוכחית. בחירת שדה משמעה הכנסת השדה לחישוב המנוסח בחלון החישוב. שדה מוזן לחלון החישוב ע"י הקלה כפולה עליו, או ע"י סימונו ולחיצה על פקד Insert. שם השדה מוקף בסוגרים נרשם בחלון החישוב במיקום הנוכחי של סמן הטקסט.
כל חישוב של עמודה מחושבת מתחיל בסימן "=". הארגומנטים לחישוב יכולים להיות שדות, קבועים (טקסט נדרש להזין בין מרכאות כפולות) או פונקציות של שפת M המשמשות בקבועים או בשדות. שמות שדות מוקפים בסוגריים מרובעות. הפעולות בין הארגומנטים (אופרטורים) הינם פעולות חשבונאיות סטנדרטיות (חיבור, חיסור, כפל, חילוק, סוגריים. לטקסט סימן "&" לשירשור טקסט) לרבות סדר פעולות חשבון.
אופרטורים מוזנים ידנית בחלון הנוסחה. ניתן גם להקליד בסוגרים את שמות השדות בחלון הנוסחה (פחות נוח וחשוף לשגיאות הקלדה).
הנוסח שמתקבל הינו ביטוי בשפת M, שהיא השפה שבה נכתבות השאילתות של ה-Power Query.
לחיצה על פקד ה-OK תיצור עמודה מחושבת חדשה בשאילתה
פונקציות M
שפת M (קיצור של Mashup) היא שפה פונקציונלית שמפעילה את מנגנון .Power Query כל פעולה שאנו מבצעים בממשק Power Query – כמו סינון, מיון, פיצול, המרה או יצירת שדה חדש – מתורגמת לשורת קוד בשפת .M בעת יצירת עמודה מחושבת מותאמת אישית (Custom Column) ניתן לכתוב בעצמנו ביטוי בשפה זו וכך להגדיר לוגיקה עסקית מדויקת וגמישה. השפה רגישה לאותיות גדולות/קטנות (case sensitive). שפת ה-M כוללת מספר מאות פונקציות בתחומים שונים.
להלן פונקציות נפוצות שניתן לשלבן בשדות המחושבים ויכולות לשמש נקודת התחלה לכל המעוניין להעמיק ידיעותיו בשפת ה M:
עמודות מחושבות מובנות
עמודה מחושבת מסוג זה נוצרת באמצעות אחת מהפקודות הקיימות מראש בממשק Power Query ואינה דורשת כתיבת נוסחה.
עמודת Index
Index Column היא עמודה חדשה שמתווספת לטבלה ומכילה מספרים עוקבים – החל מערך התחלתי שניתן להגדיר. המספור מתבצע לפי סדר השורות הנוכחי בטבלה ומתחיל בדרך כלל מ־0 או 1.
לחיצה על פקד Index Column מסיפה לשאילתה עמודה בשם Index שמתחילה מ-0.
פתיחת תיבת האפשרויות של הפקד מאפשר להתחיל את הרשימה מ-1 או לעבור לאפשרויות נוספות (מאיזה מספר להתחיל ומה התוספת הקבועה באינדקס).
עמודת תנאי
נוצרת באמצעות לחיצה על פקד Conditional Column.
נפתח המסך הבא:
פעולות במסך
הגדרת שם העמודה החדשה.
בחירת העמודה לבדיקת התנאי מרשימה נגללת.
הגדרת סוג התנאי (גדול מ, קטן מ, וכו'). סוג התנאי נגזר מסוג הנתונים של העמודה לבדיקת התנאי.
הגדרת הערך להשוואה. ניתן להחזיר להזין ערך קבוע, לבחור שדה מהשאילתה או לבחור פרמטר.
הגדרת מה להחזיר עם התנאי מתקיים. ניתן לבחור להזין ערך קבוע, לבחור שדה מהשאילתה או לבחור פרמטר.
ניתן לבחור להוסיף תנאים נוספים ע"י לחיצה על פקד Add Clause.
הגדרת מה להחזיר אם התנאי לא מתקיים. ניתן להחזיר להזין ערך קבוע, לבחור שדה מהשאילתה או לבחור פרמטר.
יצירת עמודה מחושבת מעמודה קיימת
לאחר בחירת עמודה בשאילתה הנוכחית, לחיצה על הפקדים המסומנים בתרשים הבא תיצור עמודה מחושבת חדשה
פעולת החישוב שתבוצע זהה לפעולת עריכת טקסט/ מספר/ תאריך שמוגדרות בפקדים המקבילים בלשונית ה-Transform.