התקשרו אלינו: 052-2928949
ימים א'-ה' בין השעות 9:00-17:00

התקשרו אלינו: 052-2928949 א-ה 9:00-17:00

תיקיית בסיס ב Power Query

Power Query

תיקיית בסיס ב Power Query

Power Query

יצירת תיקיית בסיס ב Power Query

כאשר אנחנו טוענים נתונים ל Power Query, הנתיב המלא של הקובץ מקודד בשאילתה עצמה, וניתן לראות אותו תחת שלב  המקור (Source).
הבעיה של קידוד הנתיב היא שאם נשלח את הקובץ למשתמשים אחרים,
הם יצטרכו להכנס לכל שאילתה, ולשנות את הנתיב של הקבצים שהם טוענים, כך שיתאימו לנתיב במחשב שלהם.
אם מדובר בקובץ אחד, אפשר פשוט להיכנס לעורך, ובשלב המקור לשנות את נתיב הקובץ,
אם מדובר במספר מועט של קבצים, אפשר להשתמש בפרמטרים, כפי שמוצע במאמר הזה
אבל אם מדובר במספר רב של קבצים, ובהנחה שכולם נמצאים בתיקיה אחת,
הדרך היעילה ביותר לטעמי היא יצירת פרמטר שמאחסן בתוכו את נתיב תיקיית הבסיס בה נמצאים כל הקבצים,
ושינוי השאילתות כך שבמקום שיכילו את הנתיב המלא של הקובץ, יכילו את הפרמטר, שאליו ישורשרו שמות הקבצים הרלוונטיים.
בדרך הזאת, בכל פעם שתשלחו את הקובץ למשתמש אחר, הוא יצטרך לשנות את הנתיב במקום אחד בלבד, וכל השאילתות יתעדכנו בהתאם!

יצירת הפרמטר

בתוך העורך, בכרטיסיית 'בית' נבחר ב'נהל פרמטרים' > 'פרמטר חדש':

ניתן לפרמטר שלנו שם. במקרה שלנו בחרתי לתת לו את השם BaseFldr מכיוון שהוא מפנה לתיקיית הבסיס,
ותחת הערך הנוכחי הדבקתי את הנתיב של התיקיה שבה נמצאים כל קבצי העבודה שלי:

שינוי ההפניה בכל השאילתות

לאחר יצירת הפרמטר, נכנסתי אל כל השאילתות הקיימות, ושיניתי את החלק שמפנה אל התיקיה, לפרמטר שמכיל את הנתיב הנכון, ואליו שרשרתי את שם הקובץ הרצוי.
(ואל תשכחו לכלול את הלוכסן שמפריד בין התיקיה לבין הקובץ. תוכלו לשמור אותו ישירות בפרמטר, או להוסיף אותו להפניה לקובץ הרלוונטי, לבחירתכם).
הדרך הקלה לעשות זאת היא בשורת הנוסחאות שמופיעה בראש השאילתה.
אם היא לא מופיעה, סמנו V בכרטיסיית 'תצוגה' > 'שורת הנוסחאות'.
אם הנוסחה מופיעה אצלכם כשהיא מוצמדת לימין, יהיה לכם קל יותר ללחוץ על alt+shift כדי להצמיד אותה לשמאל.
תוכלו גם להרחיב את שורת הנוסחאות בלחיצה על החץ, בדיוק כפי שעושים בשורת הנוסחאות באקסל, אם אתם לא רואים את כל הנתיב במבט אחד.
שימו לב שהפניה של Power Query לסוגי קבצים שונים נעשית בצורה שונה (הפניה לקבצי אקסל שונה מהפניה לקבצי CSV, ושונה מהחיבור לתיקיה),
ולכן עליכם לזהות בכל אחת מהשאילתות את החלק שאותו אתם אמורים להחליף, לדוגמה:
הפניה לקובץ אקסל נעשית כך:

= Excel.Workbook(File.Contents("D:\Users\user\Work\Data.xlsx"), null, true)

אנחנו נחליף את הנתיב בפרמטר BaseFldr, והפונקציה תראה כך:

= Excel.Workbook(File.Contents(BaseFldr & "\Data.xlsx"), null, true)

פניה לקובץ CSV נראית כך:

= Csv.Document(File.Contents("D:\Users\user\Work\סטטוס.csv"),[Delimiter=",", Columns=2, Encoding=65001, QuoteStyle=QuoteStyle.None])

ואחרי החלפת הנתיב המקודד בפרמטר, היא תיראה כך:

= Csv.Document(File.Contents(BaseFldr & "\סטטוס.csv"),[Delimiter=",", Columns=2, Encoding=65001, QuoteStyle=QuoteStyle.None])

החלפת הנתיב במחשב אחר

לאחר שעשינו אצלנו עבודה חד פעמית לשינוי ההפניה בכל אחת מהשאילתות, כך שתכיל את תיקיית הבסיס, ווידאנו שכל השאילתות עובדות כראוי,
נוכל להמשיך לעבוד כרגיל, וכאשר נרצה לעבוד על מחשב אחר, כל שנצטרך לעשות הוא להכנס לפרמטר, שמופיע ברשימת השאילתות, לשנות את הנתיב לנתיב שקיים במחשב החדש, ולרענן את השאילתות.
אפשר לשנות את הנתיב גם דרך 'נהל פרמטרים', שיוביל אותנו לאותו החלון שבו יצרנו את הפרמטר, שם נשנה את הערך הנוכחי.

דילוג לתוכן