האם ההנהלה שלך רוצה לדעת הכל על פיננסי החברה והיצוב הפרודוקטיבי, אך לא מוכנה לשום דולר על כלי ניהול טכנולוגיה מתקדם? אל תסתייג מכלים שונים למלאי, חיוב ומערכות כרטיסים. יש רק צורך במערכת מרכזית אחת. למה לא לשקול את Power BI Python?
Power BI יכול להפוך משימות מזמן ומתישות לתהליכים אוטומטיים. ובמדריך הזה, תלמד כיצד לחתוך ולשלב את הנתונים שלך בדרכים שלא תוכל לדמות.
בוא תחסוך לעצמך את הלחץ של הבדיקה המורכבת של דוחות!
דרישות קדם
מדובר במדריך מעשי. אם ברצונך לעקוב, וודא שיש לך את התכנים הבאים:
- מינוי ל-Power BI – התקופה החינמית תספיק.
- A Windows Server – This tutorial uses a Windows Server 2022.
- Power BI Desktop מותקן על השרת שלך – המדריך משתמש בגרסת Power BI Desktop v2.105.664.0.
- מערכת MySQL Server מותקנת – המדריך משתמש ב-MySQL Server v8.0.29.
- קוד של Visual Studio (VS Code) – המדריך הזה משתמש ב- VS Code גרסה 17.2
- פייתון גרסה 3.6 או מאוחר יותר מותקן – המדריך הזה משתמש בפייתון גרסה 3.10.5.
- DBeaver מותקן – המדריך הזה משתמש ב-DBeaver גרסה 22.0.2.
בניית מסד נתונים של MySQL
Power BI יכול להמחיש נתונים בצורה יפה, אך עליך לאחזר ולאחסן אותם לפני שתוכל להתחיל בהמחשה של הנתונים. אחת הדרכים הטובות ביותר לאחסן נתונים היא במסד נתונים. MySQL הוא כלי מסד נתונים חזק וחינמי.
1. פתח מזהה פקודה כמנהל מערכת, הרץ את הפקודה mysql למטה והזן את שם המשתמש הראשי (-u) והסיסמה (-p) כשידרוש.
באופן ברירת מחדל, רק משתמש השורש יש לו הרשאה לבצע שינויים במסד הנתונים.

2. הרץ את השאילתה למטה כדי ליצור משתמש במסד נתונים חדש (CREATE USER) עם סיסמה (IDENTIFIED BY). אתה יכול לתת שם שונה למשתמש, אבל במדריך זה בחרו בשם ata_levi.

3. לאחר שיצרת משתמש, הרץ את השאילתה למטה כדי להעניק הרשאות (ALL PRIVILEGES) למשתמש החדש, כגון יצירת מסד נתונים בשרת.

4. כעת, הרץ את הפקודה \q למטה כדי להתנתק מ-MySQL.

5. הרץ את פקודת הmysql למטה כדי להתחבר כמשתמש מסד הנתונים החדש שנוצר (ata_levi).

6. לבסוף, הרץ את השאילתה הבאה כדי ליצור מסד נתונים חדש בשם ata_database. אבל כמובן, אתה יכול לתת שם שונה למסד הנתונים.

ניהול מסדי נתונים ב־DBeaver
בניהול מסדי נתונים, נדרשת ידע ב-SQL בדרך כלל. אך עם DBeaver, יש לך ממשק משתמש גרפי שבו תוכל לנהל את מסדי הנתונים שלך במספר לחיצות, ו-DBeaver יטפל בהצהרות ה-SQL עבורך.
1. פתח את DBeaver מהשולחן העבודה שלך או מתפריט ההתחלה.
2. כאשר DBeaver נפתח, לחץ על תפריט החיבור למסד נתונים החדש ובחר MySQL כדי להתחיל בחיבור לשרת MySQL שלך.

3. התחבר לשרת MySQL המקומי שלך עם הפרטים הבאים:
- שמור את מארח השרת כ- localhost ואת הפורט על 3306 מאחר ואתה מתחבר לשרת מקומי.
- ספק את הפרטים האישיים של המשתמש ata_levi (שם משתמש וסיסמה) משלב שני של סעיף "בניית מסד נתונים ב-MySQL" ולחץ על סיום כדי להתחבר ל-MySQL.

שלב 4. כעת, הרחב את מסד הנתונים שלך (ata_database) תחת Navigator המסד נתונים (לחץ ימינה) → לחץ ימינה על Tables, ובחר Create New Table כדי ליצור טבלה חדשה.

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

6. לבסוף, הרחב את הטבלה החדשה (ata_table) → לחץ ימינה על Columns → בחר Create New Column כדי ליצור עמוד חדש.

7. הזן שם עמוד, כפי שמוצג למטה, וסמן את תיבת Not Null, ולחץ על OK כדי ליצור את העמוד החדש.
באופן אידיאלי, תרצה להוסיף עמוד בשם "id". למה? רוב ה- API יכילו id, וטבלת המספרים של פנדס בפייתון תמלא אוטומטית את העמודים האחרים.

8. לחץ על שמור (למטה ימינה) או הקש Ctrl+S כדי לשמור את השינויים לאחר שאימתת את העמוד החדש שיצרת (id), כפי שמוצג למטה.

9. לבסוף, לחץ על Persist כדי לשמור את השינויים שביצעת במסד הנתונים שלך.

קבלת וצריכת נתוני API
עכשיו שיצרת את מסד הנתונים לאחסון הנתונים, עליך לקבל את הנתונים מספק ה- API שלך המתאימים ולהעבירם למסד הנתונים שלך באמצעות פייתון. תגיד את הנתונים שלך להיות מוצגים ב- Power BI.
כדי להתחבר לספק ה- API שלך, תצטרך לקבל שלושה רכיבים מפתח; אמצעי האישור, כתובת ה- URL הבסיסית של ה- API, ונקודת הסיום של ה- API. אם יש ספק לגבי או איך לקבל את המידע הזה, בקר באתר התיעוד של ספק ה- API שלך.
הנה דף תיעוד מ-Syncro.

1. פתח את VS Code, צור קובץ Python ותקן את שם הקובץ לפי המידע שמצפה לו ה- API מהקובץ. קובץ זה יהיה אחראי לאחזר ולדחוף את נתוני ה- API לבסיס הנתונים שלך (חיבור למסד הנתונים).
ישנם ספריות רבות של Python זמינות לעזור בחיבור למסד הנתונים, אך תשתמש ב־SQLAlchemy במדריך זה.
הפעל את הפקודה pip למטה בטרמינל של VS Code כדי להתקין את SQLAlchemy בסביבת העבודה שלך.

2. לאחר מכן, צור קובץ בשם connection.py, מלא את הקוד למטה, החלף את הערכים בהתאם, ושמור את הקובץ.
כאשר אתה מתחיל לכתוב סקריפטים לתקשורת עם בסיס הנתונים שלך, יש להקים חיבור לבסיס הנתונים לפני שהבסיס מקבל כל פקודה.
במקום לכתוב מחדש את מחרוזת החיבור לבסיס הנתונים לכל סקריפט שאתה כותב, הקוד למטה מיועד ליצירת חיבור זה כך שיהיה ניתן לקרוא אליו או להתייחס אליו מסקריפטים אחרים.
3. פתח את הטרמינל של Visual Studio (Ctrl+Shift+`), והרץ את הפקודות הבאות כדי להתקין את pandas ו-requests.

4. צור קובץ פייתון נוסף בשם invoices.py (או תקנה אותו בשם שונה), ומלא את הקוד לתוך הקובץ.
תוסיף קטעי קוד לקובץ invoices.py בכל צעד לפי כל תת קטע, אך תוכל לראות את הקוד השלם ב-Github של ATA.
הסקריפט invoices.py יופעל מהסקריפט הראשי שיתאר בקטע הבא, שמשיך את המידע הראשוני מה-API שלך.
הקוד למטה מבצע את הפעולות הבאות:
- צריבת מידע מה-API שלך וכתיבתו לבסיס הנתונים שלך.
- החלפת אמצעי האימות, המפתח, כתובת ה-URL הבסיסית ונקודות הקצה של ה-API עם פרטי הכניסה שלך ל-API.
5. הוסף את קטע הקוד לקובץ invoices.py כדי להגדיר את הכותרות, לדוג:
- סוג המבנה של המידע שאתה מצפה לקבל מה-API שלך.
- ה-URL הבסיסי ונקודת הקצה צריכים להלוות את אמצעי האימות והמפתח הרלוונטי.
ודא שאתה משנה את הערכים למעלה עם הערכים האמיתיים שלך.
6. הוסף לקובץ invoices.py את הפונקציה האסינכרונית הבאה למטה.
הקוד למטה משתמש ב-AsyncIO כדי לנהל סקריפטים מרובים מסקריפט ראשי אחד, כפי שמתואר בקטע הבא. כאשר הפרויקט שלך מתרחב וכולל יותר מקוד API אחד, זה נהיה תרגול טוב להפעיל את סקריפטי הצריבה שלך בקבצים נפרדים.
7. לבסוף, הוסף את הקוד למטה לקובץ invoices.py, כאשר פונקצית get_pages מטפלת בפגינציה של ה-API שלך.
פונקציה זו מחזירה את מספר הדפים הכולל ב-API שלך ומסייעת לפונקציה range לעבור דרך כל הדפים.
יש ליצור קשר עם מפתחי ה-API שלך לגבי אמצעי הפגינציה שבהם משתמש ספק ה-API שלך.
אם תעדיפו להוסיף נקודות קצה נוספות של API לנתונים שלך:
- חזור על שלבים ארבע עד שישה של קטע "ניהול מסדי נתונים ב-MySQL עם DBeaver".
- חזור על כל השלבים בחלק "קבלת וצריכת נתוני API".
- שנה את נקודת הקצה של ה- API לקצה אחר שתרצה לצרוך.
סנכרון נקודות הקצה של ה- API
עכשיו יש לך מסד נתונים וחיבור ל- API, ואתה מוכן להתחיל בצריכת ה- API על ידי הרצת הקוד בקובץ invoices.py. אך יש לך הגבלה לצרוף רק נקודת קצה אחת בו זמנית.
איך לעבור מעבר לגבול? תיצור קובץ Python נוסף כקובץ מרכזי שקורא פונקציות API מקבצי Python שונים ומריץ את הפונקציות אסינכרוניות באמצעות AsyncIO. בכך, אתה שומר על קוד תכנות נקי ומאפשר לך לארוז פונקציות מרובות יחד.
1. צור קובץ Python חדש בשם central.py והוסף את הקוד למטה.
דומה לקובץ invoices.py, תוסיף קטעי קוד לקובץ central.py בכל שלב, אך אתה יכול להציג את הקוד השלם ב- GitHub של ATA.
הקוד למטה מייבא מודולים חיוניים ותסריטים מקבצים אחרים באמצעות הקוד from <שם קובץ> import <שם פונקציה>.
2. לבארץ, הוסף את הקוד הבא לשליטה על התסריטים מ- invoices.py בקובץ central.py.
עליך להתייחס/לקרוא לפונקציית הקריאה_לחשבוניות מ- invoices.py למשימת AsyncIO (משימת חשבונית) ב- central.py.
שלב 3. לאחר יצירת המשימה AsyncIO, המתינו למשימה כדי לאחזר ולבצע את פונקציית call_invoices מתוך invoice.py כאשר פונקציית השרשור (בשלב שני) מתחילה לרוץ.
4. צור AsyncIOScheduler כדי לתזמן עבור התסריט לבצע משימה. המשימה שנוספה בקוד זה מפעילה את פונקציית השרשור במרוודי שנייה.
המשימה הזו חשובה כדי לוודא שהתוכנית שלך ממשיכה להריץ את הסקריפטים שלך כדי לשמור על המידע שלך מעודכן.
5. לבסוף, הפעילו את סקריפט central.py על VS Code, כפי שמוצג למטה.

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

למטה, הפלט מאשר שחשבוניות נוספו למסד הנתונים.

פיתוח Power BI Visuals
לאחר קודות תכנות שמתחברים למידע API ודוחסים את המידע הזה למסד נתונים, אתה כמעט מוכן לקצור מהמידע שלך. אבל תחילה, תדחוף את המידע במסד הנתונים ל-Power BI להמחשה, הסיום.
המון מידע הוא בלתי שימושי אם אתה לא יכול להמחיש את המידע ולהקשות על חיבורים עמוקים. למזלך, הוויזואליזציות של Power BI דומות לכיצד גרפים יכולים להפוך משוואות מתמטיות מסובכות לפשוטות ולניחוז.
1. פתח את Power BI מהשולחן העבודה שלך או מתפריט התחלה.
2. לחץ על סמל מקור הנתונים מעל רשימת השליפה שבחלון הראשי של Power BI. חלון קופץ מופיע כאשר באפשרותך לבחור את מקור הנתונים שברצונך להשתמש בו (שלב שלוש).

3. חפש את mysql, בחר במסד נתונים של MySQL, ולחץ על החיבור כדי להתחיל להתחבר למסד הנתונים שלך ב- MySQL.

4. כעת, התחבר למסד הנתונים שלך ב- MySQL עם ההוראות הבאות:
- הזן localhost:3306 מאחר ואתה מתחבר לשרת MySQL המקומי שלך בפורט 3306.
- ספק את שם מסד הנתונים שלך, במקרה זה, ata_db.
- לחץ על אישור כדי להתחבר למסד הנתונים שלך ב- MySQL.

5. כעת, לחץ על "שנה את הנתונים" (בתחתית-ימין) כדי לראות את סקירת הנתונים בעורך השאילתות של Power BI (שלב חמישה).

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

7. לחץ על לשונית כלים של טבלה, בחר בכל טבלה בחלון השדות ולחץ על "נהל יחסים" כדי לפתוח את אשף היחסים.
לפני יצירת חזות, עליך לוודא שהטבלאות שלך מקושרות, לכן סמן כל יחס בין הטבלאות שלך באופן ברור. למה? Power BI אינו זוהה אוטומטית יחסים מורכבים באופן אוטומטי עדיין.

8. סמן את התיבות של היחסים הקיימים לעריכה, ולחץ על "ערוך". חלון קופץ מופיע, בו תוכל לערוך את היחסים הנבחרים (שלב תשע).
אך אם תעדיפ/י להוסיף קשר חדש, לחץ/י על "חדש".

9. ערוך יחסים באמצעות השלב הבא:
- לחץ/י על רשימת הטבלאות ובחר/י טבלה.
- לחץ/י על הכותרות כדי לבחור את העמודות שתשמשו.
- סמן/י את הפעל יחס זה כדי לוודא שהיחסים תקפים.
- לחץ/י על אישור כדי ליצור את היחס ולסגור את חלון עריכת היחס.

10. כעת, לחץ/י על סוג הוויזואליזציה "טבלה" בחלון הוויזואליזציות (הכי ימין) כדי ליצור את הוויזואל הראשון שלך, וויזואל טבלה ריק מופיע (שלב 11).

11. בחר/י את הוויזואל הטבלאי והשדות הנתונים (בחלון השדות) להוספה לוויזואל הטבלה שלך, כפי שמוצג למטה.

12. לבסוף, לחץ/י על סוג הוויזואליזציה "Slicer" כדי להוסיף וויזואל נוסף. כפי שהשם מרמז, וויזואל ה-Slicer מסנן נתונים ומפילט וויזואליזציות אחרות.
לאחר הוספת ה-Slicer, בחר/י נתונים מחלון השדות להוספה לוויזואל ה-Slicer.

שינוי וויזואליזציות
המראה הברירתי של הוויזואליזציות די לחובה. אך האם לא היה נהדר אם היית מסוגל/ת לשנות את מראה הוויזואליזציות למשהו שלא כל כך משעמם? תן/י ל-Power BI להביא לך את הפתרון.
לחץ/י על סמל "עצב את הוויזואל שלך" תחת הוויזואליזציות כדי לגשת לעורך הוויזואליזציה, כפי שמוצג למטה.
שב/י זמן קצר לשחק עם הגדרות הוויזואליזציה כדי לקבל את המראה הרצוי של הוויזואליזציות שלך. הוויזואליזציות שלך יקשרו כל עוד תקימו יחס בין הטבלאות שאליהן אתם מעוררים עניין בוויזואליזציות שלכם.

לאחר שינוי ההגדרות של הוויזואליזציה, תוכל ליצור דוחות דומים לאלו שלמטה.
עכשיו, תוכל להמחיש ולנתח את הנתונים שלך בלעדיות ובלתי מורכבות עיניים.

בהמשך בהוויזואליזציה, בעת הצגת גרף הטרנדים, תראה שמשהו השתבש באפריל 2020. בזמן זה פעלו הסגרים הראשוניים של קוביד-19 בדרום אפריקה.
הפלט הזה מוכיח את יכולתו המיוחדת של Power BI ליצירת ויזואליזציות מדויקות עם המידע.

מסקנה
מדריך זה יועיל להצגת כיצד להקים קו נתונים דינמי חי באמצעות אחזקת הנתונים מנקודות קצה של API. בנוסף, בעיבוד והעברת הנתונים למסד הנתונים ול-Power BI באמצעות Python. עם הידע הזה החדש, תוכל כעת לצרוך נתוני API וליצור ויזואליזציות משלך.
עסקים רבים יוצרים יותר ויותר אפליקציות אינטרנט עם RESTful API. ובנקודה זו, אתה בטוח כעת בשימוש ב-APIs באמצעות Python ויצירת ויזואליזציות של נתונים עם Power BI, שיכולות להשפיע על החלטות עסקיות.