איך להשתמש בפונקציונליות שאילתה ישירה של Power BI

כאשר אתה יוצר דוחות ב- Power BI, הצופים מצפים שהדוח יתעדכן באופן תדיר והמידע יתעדכן באופן קבוע. איך לעשות זאת? עדכון ידני של הדוחות עובד, אך Power Bi Direct Query מציע תכונה הרבה יותר טובה, רענון מתוזמן.

במדריך זה, תלמד איך להנות מפונקציונליות Power Bi Direct Query על ידי התחברות לקבוצת נתונים שמאוחסנת בשרת והפעלת שאילתות נגד הנתונים שלך.

הישאר מחובר ושפר את היציבות תוך חיסכון בזמן!

דרישות מוקדמות

מדובר בהדגמה מעשית שתלמד לעקוב אחריה. כדי להתקדם, הקפד לוודא שיש לך את הפריטים הבאים:

  • Power Bi Desktop – במדריך זה נעשה שימוש בגרסה 2.109.1021.0 של Power Bi Desktop.
  • שרת SQL.
  • A code editor – This tutorial uses VS code version 1.71.

יצירת מסד נתונים SQL לניהול עם שאילתת ישירה ב-Power BI

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

כדי ליצור מסד נתונים SQL, עקוב אחר השלבים האלה:

1. חפש את ODBC בשורת החיפוש שלך, חפש ולחץ על מנהל מקורות נתונים של ODBC (64 ביט) כדי לפתוח אותו.

Launching ODBC Data Sources

2. לאחר מכן, נווט אל כרטיסיית DSN של המערכת בחלון מנהל מקורות הנתונים של ODBC, ולחץ על הוספה כדי להתחיל בהוספת מקור נתונים חדש.

Initiating adding a new data source

3. בחר את דרייבר של שרת SQL מהרשימה למטה, ולחץ על סיום כדי ליצור מקור נתונים SQL.

שאילתת ישירה לא תומכת בכל מקורי הנתונים. MySQL לא נתמך, בעוד ש-SQL כן.

Selecting SQL Server driver

4. כעת, כנה את מקור הנתונים שלך (MssqlDataSource), בחר אינסטנס SQL (POWERSERVER\POWERSERVER) המותקן במחשב שלך, ולחץ על סיום.

שים לב לשרת ה- SQL ולשם מקור הנתונים, שכאלה תצטרך להם עבור מחרוזת החיבור שלך לפייתון.

Naming the new data source

5. בדוק את פרטי מקור הנתונים שלך, ולחץ על בדוק מקור נתונים כדי לבדוק את מקור הנתונים שלך.

Testing the data source

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

Verifying testing the data source completed

מתחבר לשרת ה- SQL

עכשיו שיצרת מקור נתונים עבור שרת ה- SQL שלך, תשתמש במקור נתונים הזה כדי ליצור מחרוזת חיבור עבור קוד הפייתון שלך.

1. הפעל את סטודיו הוויזואל שלך, ולחץ CTRL+SHFT+` כדי לפתוח מסוף חדש.

2. לאחר מכן, הפעל את הפקודה sqlcmd למטה כדי להתחבר למופע שרת ה- SQL שלך.

sqlcmd -S SQL_SERVER -E
Connecting to the SQL server instance

3. לאחר ההתחברות, הפעל את השאילתות הבאות כדי ליצור מסד נתונים חדש (CREATE DATABASE) בשם MSSQLDB.

CREATE DATABASE MSSQLDB;
GO
Creating a new SQL database

4. צור קובץ פייתון DBconnect.py והוסף את הקוד למטה, שמאפשר לך להתחבר למסד הנתונים שלך באמצעות SQLAlchemy ORM לפייתון.

המנוע מסמן את נקודת ההתחלה של אפליקציית ה- SQLAlchemy שלך. המנוע מתאר את בריכת החיבור והדיאלקט עבור מפרט ממשק היישום למסדי נתונים של פייתון (DBAPI) . ממשק היישום למסד נתונים של פייתון הוא מפרט בפייתון המגדיר דפוסי שימוש נפוצים לכל חבילות החיבור למסדי נתונים. מפרט זה מתקשר עם מסד הנתונים שצויין.

//DBconnect.py
import sqlalchemy as sa
from sqlalchemy import create_engine
import urllib
import pyodbc
# יצירת מחרוזת חיבור, באמצעות urllib כדי לעצב את הטקסט.
conn = urllib.parse.quote_plus(
# ערכים עבור מחרוזת החיבור לוקחים ממקור הנתונים
'Data Source Name=MssqlDataSource;'

'Driver={SQL Server};'

'Server=POWERSERVER\POWERSERVER;'

'Database=MSSQLDB;'

'Trusted_connection=yes;'

)

try:
# יצירת חיבור עם מנוע sqlalchemy
	coxn = create_engine('mssql+pyodbc:///?odbc_connect={}'.format(conn))
	print("Passed")
except:
	print("failed!")

5. צור קובץ Python בשם CreateTable.py בתיקיית הראשית שלך והוסף את הקוד למטה, והרץ אותו. הקוד למטה יוצר טבלה בשם סטודנטים במסד הנתונים שלך.

//CreateTable.py
from DBconnect import coxn
from sqlalchemy import Table, Column, Integer, String, MetaData

# יוצר בניין מטא-נתונים שמכיל תיאורים של טבלאות
  # ואובייקטים קשורים כגון אינדקס, תצוגה, טריגרים וכו'. 
meta = MetaData()

# מייצג את הפקודה CREATE TABLE בתחביר הרגיל של SQL כדי ליצור טבלה.
students = Table(
'students', meta,
Column('id', Integer, primary_key = True),
Column('name', String),
Column('lastname', String),
)

# משתמש באובייקט מנוע כדי ליצור את כל האובייקטים שהוגדרו לטבלה 
  # ומאחסן את המידע במטא-נתונים.
meta.create_all(coxn)

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

Verifying Database and tables on SSMS.

7. צור קובץ Python בשם WriteToTable.py, הוסף את הקוד למטה, והרץ אותו.

הקוד הזה מכיל את הלוגיקה לכתיבת ערכים לטבלת מסד הנתונים.

//WriteToTable.py
# מייבא את טבלת הסטודנטים מקובץ CreateTable.py.
from CreateTable import students
# מייבא מחרוזת חיבור מקובץ DBconnect.py.
from DBconnect import coxn
# מכניס ערכים מרובים לטבלת הסטודנטים
ins = students.insert().values([
   {'name':'Bob','lastname':'Marley'},
   {'name':'Bob','lastname':'Dylan'}
])
conn = coxn.connect()
conn.execute(ins)

הכנת שער נתונים באתר

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

1. פתח את שער הנתונים באתר והיכנס.

Signing in to On-premises data gateway

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

Checking if the On-premises data gateway is online

3. לאחר מכן, פתח את Power BI, לחץ על 'קבל נתונים' בלשונית הבית ובחר SQL Server כדי להתחיל בחיבור מקור הנתונים שלך ל- Power BI.

Getting data from SQL server

4. כעת, התחבר ל-DirecQuery עם ההגדרות הבאות:

  • הזן את שמות השרת והבסיס בשדות בהתאםודא שהאפשרות DirectQuery נבחרה. לחץ על אישור כדי להתחבר ל-DirectQuery.
Connecting to DirectQuery

5. בחר טבלה (תלמידים) מבסיס הנתונים ולחץ על טען כדי לטעון את הנתונים.

Loading data from the database

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

Choosing the table visual

הטבלה למטה מציגה את הנתונים שטענת מטבלת בסיס הנתונים

Viewing data in a table visual

7. לחץ על תפריט הקובץ כדי לגשת לפעולות לביצוע ב- Power BI.

Accessing the File menu

8. עכשיו, לחץ פרסם → פרסם ל- Power BI כדי לפרסם את דו"ח הנתונים שלך.

Publishing data report

9. לחץ על פתח <דיווח שלך> לאחר שהפרסום שלך הצליח, והפניית הדפדפן שלך לרשימת הפעילויות האחרונות שביצעת ב-Power BI (שלב 10).

Opening the Power BI browser

10. לחץ על הדיווח כדי לפתוח אותו, כפי שמוצג למטה.

Opening the data report

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

Getting a gateway configuration error

11. לחץ על סמל ההגדרות בתוך עמודת הפעולות כדי להתחיל בהוספת חיבור שער חדש. פעולה זו מאפשרת לך לתקן את שגיאת התצורה של השער.

Initiating adding a new gateway connection

12. הגדר את חיבור השער החדש ולחץ על יצירה כדי ליצור חיבור חדש בין מקור הנתונים שלך ובין השער.

Configuring a new data source

13. לבסוף, כאשר אתה רואה שהשער פועל, בחר את שם מקור הנתונים (MssqlDataSource) מתוך תיבת הרשימה Maps to ולחץ על החל.

Applying the new gateway connection

צפייה וניהול דיווחי נתונים

לאחר הקמת חיבור בין השער ובין Power BI, תוכל לצפות בדיווח שלך ולהגדיר מערכת רענון.

1. נווט אל דף הבית של דיווחי Power BI שלך.

הביצועים של שאילתה ישירה של Power Bi תלויים במקור קבצי הנתונים הבסיסי. הזמן שנדרש למקור נתונים הבסיסי להגיב לבקשות יקבע כמה מהר המשתמש יוכל לצפות בדוח. או אם הם יראו את הדוחות בכלל.

2. לאחר פתיחת הדוח, תראה את הנתונים, כפי שמוצג למטה.

Accessing the data report

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

Viewing the data report

3. חזור לדף הבית של הדוח ולחץ רענן → קבע רענון מתוזמן כדי להגדיר רענון מתוזמן של הדוח.

בנוסף ליצירת דוחות חיים, Power Bi Direct Query מאפשר לך להגדיר רענון מתוזמן שיעדכן את הדוחות שלך באופן אוטומטי.

Initiating setting a scheduled refresh

4. כעת, בחר את מרווח הרענון שברצונך מתוך תחום הנפתח, ולחץ על החישור "החל" כדי להחיל את השינויים.

Setting a refresh interval

5. פתח את קובץ ה-Python שלך בשם WriteToTable.py והוסף את הקוד למטה כדי להכניס ערכים נוספים למסד הנתונים שלך עם הפעולות הבאות, והפעל את הסקריפט.

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

אין עוררין לעורר עורר עורר עורר עורר עורר עורר עורר עורר עורר עורר עורר עורר עורר עורר עורר עורר עורר עורר עורר

//WriteToTable.py
# מייבא טבלת סטודנטים מקובץ CreateTable.py.
from CreateTable import students
# מייבא מחרוזת חיבור coxn מקובץ DBconnect.py.
from DBconnect import coxn

# הכנסת ערכים מרובים לטבלת הסטודנטים
ins = students.insert().values([
{'name':'Damian','lastname':'Marley'},
{'name':'Rita','lastname':'Marley'},
{'name':'Ziggy','lastname':'Marley'},
{'name':'Sam','lastname':'Dylan'},
{'name':'Jakob','lastname':'Dylan'},
{'name':'Maria','lastname':'Dylan'}
])
# יצירת קורסר חיבור.
conn = coxn.connect()
# ביצוע פקודת הכנסה()
conn.execute(ins)

6. לאחר מכן, החלף לדפדפן שלך ב-Power BI, ולחץ על כרטיסיית Datasets + dataflows.

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

שים לב ש-Power Bi Direct Query רגיש לשינויים ולעיצוב. ייתכן שתקבל שגיאה אם בעורר השאילתא שלך יש שלבים מורכבים.

Verifying the last refreshed time and next refresh of the dataset

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

Verifying the scheduled refresh works

סיכום

במהלך המדריך הזה, למדת כיצד להשתמש ביכולות של Power Bi Direct Query להתחבר לקובץ הנתונים שלך המאוחסן בשרת שלך. גם נגעת בהפעלת שאילתות ישירות נגד הנתונים שלך.

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

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

Source:
https://adamtheautomator.com/power-bi-direct-query/