פנייה לשורה קודמת ב – Power Query
בפוסט זה אעבור על הדרך לפנות לשורה הקודמת ב-Power Query ע"מ לעשות השוואות מסויימות.
ניקח את טבלת הנתונים הבאה שמכילה נתוני פריטים לפי חודשים, ואת כמות המכירה שלהם.
במקרה זה אנחנו רוצים להוסיף עמודה שאומרת האם ערך המכירה של הפריט בחודש מסויים עלה או ירד מאז חודש קודם.
כדי לעשות זאת, הדבר הראשון שאנחנו רוצים זה שסדר השורות יהיה עולה לפי פריט ולפי חודש, כך מעל לכל שורה יהיה הערך של החודש הקודם של אותו הפריט.
לאחר המיון, נוסיף עמודת Index שתמספר לנו בסדר עולה את כל הרשומות.
עכשיו, לאחר המיון ועמודת האינדקס, אנחנו מוכנים ליצור את העמודה המחושבת שתביא לנו את האינדיקציה – האם הערך עלה או ירד מאז חודש קודם.
לשם הנוחות, נעשה לחצן ימני על הStep האחרון ונשנה את שמו ל-: Data.
ועכשיו להוספת העמודה –
נוסיף עמודה מחושבת והפונקציה שלה תהיה:
Try
if Data[Item]{[Index]-1} = [Item] then
if Data[Value]{[Index]-1} > [Value] then "Down" else "Up"
else "-"
otherwise "-"
(רווחי השורות לא רלוונטיים, אפשר לכתוב אותה בשורה אחת, זה רק לצרכי נוחות וקלות הבנה)
הפונקציה בעצם בודקת ? אם הפריט בשורה הנוכחית שווה לפריט בשורה הקודמת אז תבדוק אם ערך המכירות גבוה או נמוך יותר, ועל פי זה תרשום "Up" או "Down".
ה- Try – Otherwise בא להגן עלינו משגיאות, במידה והוא נתקל באיזשהו Error, הוא ירשום "-" במקום לזרוק שגיאה שעלולה לגרום לנו לבעיות בנתונים.
במידה ואנחנו חווים בעיות ביצועים (איטיות) בשלב יצירת העמודה של השאילתא, דבר שעשוי לעזור הוא לעטוף את הצעד הקודם (Data) בפונקציה Table.Buffer כך:
קובץ עם הדוגמא ניתן להוריד כאן:[wpdm_file id=5]
בהצלחה!