Wie man die Power BI Direct Query-Funktionalität verwendet

Wenn Sie Power BI-Berichte erstellen, erwarten die Betrachter, dass der Bericht regelmäßig aktualisiert wird und die Daten ständig aktualisiert werden. Wie? Das manuelle Aktualisieren der Berichte funktioniert, aber Power Bi Direct Query bietet eine viel bessere Funktion, die geplante Aktualisierung.

In diesem Tutorial erfahren Sie, wie Sie die Funktion Power Bi Direct Query nutzen können, indem Sie ein Datenset, das auf einem Server gespeichert ist, verbinden und Abfragen gegen Ihre Daten ausführen.

Bleiben Sie dran und steigern Sie die Produktivität, während Sie Zeit sparen!

Voraussetzungen

In diesem Tutorial wird eine praktische Demonstration durchgeführt. Stellen Sie sicher, dass Sie folgendes haben:

  • Power Bi Desktop – Dieses Tutorial verwendet Power Bi Desktop Version 2.109.1021.0.
  • Einen SQL Server.
  • A code editor – This tutorial uses VS code version 1.71.

Erstellen einer SQL-Datenbank zur Verwaltung mit Power BI Direct Query

Power Bi Direct Query ermöglicht es Ihnen, direkt mit einem Datensatz zu verbinden und Ihrem Projekt die Möglichkeit zu geben, Live-Daten hochzuladen. Bevor Sie jedoch eine SQL-Datenbank und eine Verbindung erstellen, müssen Sie den Servernamen und den Datenquellennamen kennen, um die richtigen Details zu erhalten.

Um eine SQL-Datenbank zu erstellen, befolgen Sie diese Schritte:

1. Suchen Sie in Ihrer Suchleiste nach ODBC, suchen Sie und klicken Sie auf ODBC-Datenquellenadministrator (64-Bit), um ihn zu öffnen.

Launching ODBC Data Sources

2. Navigieren Sie als nächstes zum Register „System-DSN“ im Fenster „ODBC-Datenquellenadministrator“ und klicken Sie auf „Hinzufügen“, um eine neue Datenquelle hinzuzufügen.

Initiating adding a new data source

3. Wählen Sie den SQL Server-Treiber aus der Liste unten aus und klicken Sie auf „Fertig stellen“, um eine SQL-Datenquelle zu erstellen.

DirectQuery unterstützt nicht jede Datenquelle. MySQL wird nicht unterstützt, SQL jedoch schon.

Selecting SQL Server driver

4. Nennen Sie jetzt Ihre Datenquelle (MssqlDataSource), wählen Sie eine SQL-Instanz (POWERSERVER\POWERSERVER) auf Ihrem Rechner aus und klicken Sie auf Fertig stellen.

Notieren Sie sich den SQL Server und den Datenquellennamen, da Sie diese für Ihren Python-Verbindungsstring benötigen.

Naming the new data source

5. Überprüfen Sie die Details Ihrer Datenquelle und klicken Sie auf Datenquelle testen, um Ihre Datenquelle zu testen.

Testing the data source

Wenn die Verbindung erfolgreich ist, erhalten Sie eine TEST ABGESCHLOSSEN ERFOLGREICH Nachricht, wie unten gezeigt.

Verifying testing the data source completed

Verbindung zum SQL Server

Jetzt, da Sie eine Datenquelle für Ihren SQL-Server erstellt haben, werden Sie diese Datenquelle verwenden, um einen Verbindungsstring für Ihren Python-Code zu erstellen.

1. Starten Sie Ihr Visual Studio und drücken Sie STRG+UMSCHALT+` um ein neues Terminal zu öffnen.

2. Führen Sie anschließend den folgenden sqlcmd-Befehl aus, um sich bei Ihrer SQL-Serverinstanz anzumelden.

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

3. Sobald Sie angemeldet sind, führen Sie die folgenden Abfragen aus, um eine neue Datenbank (CREATE DATABASE) namens MSSQLDB zu erstellen.

CREATE DATABASE MSSQLDB;
GO
Creating a new SQL database

4. Erstellen Sie eine Python-Datei DBconnect.py und fügen Sie den folgenden Code hinzu, der es Ihnen ermöglicht, eine Verbindung zu Ihrer SQL-Datenbank mit dem SQLAlchemy ORM für Python herzustellen.

Der Engine markiert den Ausgangspunkt Ihrer SQLAlchemy-Anwendung. Die Engine beschreibt den Verbindungspool und den Dialekt für das Python Database API Specification (DBAPI). Python DBAPI ist eine Spezifikation innerhalb von Python, um gemeinsame Verwendungsmuster für alle Datenbankverbindungspakete zu definieren. Diese Spezifikation kommuniziert mit der angegebenen Datenbank.

//DBconnect.py
import sqlalchemy as sa
from sqlalchemy import create_engine
import urllib
import pyodbc
# Erstellen einer Verbindungszeichenfolge unter Verwendung von urllib zum Formatieren des Textes.
conn = urllib.parse.quote_plus(
# Werte für die Verbindungszeichenfolge werden aus der Datenquelle entnommen
'Data Source Name=MssqlDataSource;'

'Driver={SQL Server};'

'Server=POWERSERVER\POWERSERVER;'

'Database=MSSQLDB;'

'Trusted_connection=yes;'

)

try:
# Verbindung mit SQLAlchemy-Engine herstellen 
	coxn = create_engine('mssql+pyodbc:///?odbc_connect={}'.format(conn))
	print("Passed")
except:
	print("failed!")

5. Erstellen Sie eine Python-Datei mit dem Namen CreateTable.py in Ihrem Hauptordner und fügen Sie den unten stehenden Code hinzu, und führen Sie ihn aus. Der folgende Code erstellt eine Tabelle namens „students“ in Ihrer SQL-Datenbank.

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

# Erstellt einen Metadaten-Container mit Definitionen von Tabellen 
  # und zugehörigen Objekten wie Index, Ansicht, Trigger usw.
meta = MetaData()

# Stellt das CREATE TABLE in regulärer SQL-Syntax dar, um eine Tabelle zu erstellen.
students = Table(
'students', meta,
Column('id', Integer, primary_key = True),
Column('name', String),
Column('lastname', String),
)

# Verwendet das Engine-Objekt, um alle definierten Tabellenobjekte zu erstellen 
  # und speichert die Informationen in Metadaten.
meta.create_all(coxn)

6. Öffnen Sie anschließend Ihr SSMS und überprüfen Sie die erstellte Datenbank, Tabelle und Spalten.

Verifying Database and tables on SSMS.

7. Erstellen Sie eine Python-Datei mit dem Namen WriteToTable.py, fügen Sie den unten stehenden Code hinzu und führen Sie ihn aus.

Dieser Code enthält die Logik zum Schreiben von Werten in die Datenbanktabelle.

//WriteToTable.py
# Importieren der "students"-Tabelle aus der Datei CreateTable.py.
from CreateTable import students
# Importieren der Verbindungszeichenfolge "coxn" aus der Datei DBconnect.py.
from DBconnect import coxn
# Einfügen mehrerer Werte in die Tabelle "students"
ins = students.insert().values([
   {'name':'Bob','lastname':'Marley'},
   {'name':'Bob','lastname':'Dylan'}
])
conn = coxn.connect()
conn.execute(ins)

Vorbereitung des lokalen Daten-Gateways

Nachdem Sie eine Verbindungszeichenfolge erstellt und es geschafft haben, sich mit der Datenbank zu verbinden, müssen Sie ein Daten-Gateway erstellen. Dieses Daten-Gateway wird dafür verantwortlich sein, Ihre Datenbank mit Power BI zu verbinden.

1. Öffnen Sie das lokale Daten-Gateway und melden Sie sich an.

Signing in to On-premises data gateway

2. Überprüfen Sie den Status Ihres lokalen Daten-Gateways und bestätigen Sie, dass es online ist, wie unten gezeigt.

Checking if the On-premises data gateway is online

3. Öffnen Sie anschließend Power BI, klicken Sie unter dem Registerkartenreiter „Start“ auf „Daten abrufen“ und wählen Sie SQL Server aus, um die Verbindung Ihrer Datenquelle mit Power BI zu initiieren.

Getting data from SQL server

4. Stellen Sie nun eine Verbindung mit Direktabfrage her mit folgenden Schritten:

  • Fügen Sie Ihren Server-Namen und Ihren Datenbank-Namen entsprechend in die Felder einStellen Sie sicher, dass die Option „Direktabfrage“ ausgewählt ist.Klicken Sie auf OK, um eine Verbindung zur Direktabfrage herzustellen.
Connecting to DirectQuery

5. Wählen Sie eine Tabelle (Studierende) aus der Datenbank aus und klicken Sie auf „Laden“, um die Daten zu laden.

Loading data from the database

6. Klicken Sie anschließend auf das Tabellensymbol, um eine Tabellenvisualisierung zu verwenden und die Daten anzuzeigen.

Choosing the table visual

Die Tabelle unten zeigt die Daten, die Sie aus der Datenbanktabelle geladen haben

Viewing data in a table visual

7. Klicken Sie im Dateimenü, um Aktionen auf Power BI durchzuführen.

Accessing the File menu

8. Klicken Sie nun auf „Veröffentlichen“ → „In Power BI veröffentlichen“, um Ihren Datenbericht zu veröffentlichen.

Publishing data report

9. Klicken Sie auf Öffnen <Ihr Bericht>, sobald Ihre Veröffentlichung erfolgreich ist, um Ihren Browser zur Liste der kürzlichen Aktivitäten umzuleiten, die Sie in Power BI gemacht haben (Schritt 10).

Opening the Power BI browser

10. Klicken Sie auf den Bericht, um ihn zu öffnen, wie unten gezeigt.

Opening the data report

Bei der ersten Einrichtung können Sie möglicherweise auf ein Gateway-Problem wie unten stoßen, da Sie die Datenquelle des Projekts noch nicht mit dem Daten-Gateway von Power BI verbunden haben.

Getting a gateway configuration error

11. Klicken Sie auf das Einstellungssymbol unter der Spalte Aktionen, um eine neue Gateway-Verbindung hinzuzufügen. Dadurch können Sie den Konfigurationsfehler des Gateways beheben.

Initiating adding a new gateway connection

12. Konfigurieren Sie die neue Gateway-Verbindung und klicken Sie auf Erstellen, um eine neue Verbindung zwischen Ihrer Datenquelle und dem Gateway herzustellen.

Configuring a new data source

13. Sobald Sie sehen, dass das Gateway läuft, wählen Sie den Namen der Datenquelle (MssqlDataSource) aus dem Dropdown-Feld „Zuordnen zu“ aus und klicken Sie auf Übernehmen.

Applying the new gateway connection

Anzeigen und Verwalten von Datenberichten

Nachdem eine Verbindung zwischen dem Gateway und Power BI hergestellt wurde, können Sie Ihren Bericht anzeigen und einen Aktualisierungszeitplan einrichten.

1. Navigieren Sie zu Ihrer Startseite für Power BI-Berichte.

Die Leistung von Power Bi Direct Query hängt von der zugrunde liegenden Datenquellen-Datensatzquelle ab. Die Zeit, die der zugrunde liegende Datensatz benötigt, um auf Anfragen zu antworten, bestimmt, wie schnell der Benutzer den Bericht anzeigen kann. Oder ob sie überhaupt erfolgreich die Berichte sehen werden.

2. Klicken Sie als nächstes auf den Bericht, um ihn zu öffnen, wie unten gezeigt.

Accessing the data report

Nachdem der Bericht geöffnet ist, sollten Sie die Daten sehen, wie unten gezeigt.

Viewing the data report

3. Gehen Sie zurück zur Berichtsstartseite und klicken Sie auf Aktualisieren → Zeitplanmäßige Aktualisierung, um eine geplante Aktualisierung des Berichts einzurichten.

Neben der Erstellung von Live-Berichten ermöglicht Power Bi Direct Query die Planung einer automatischen Aktualisierung Ihrer Berichte.

Initiating setting a scheduled refresh

4. Wählen Sie nun das Aktualisierungsintervall Ihrer Wahl aus dem Dropdown-Feld aus und klicken Sie auf „Übernehmen“, um die Änderungen zu übernehmen.

Setting a refresh interval

5. Öffnen Sie Ihr WriteToTable.py Python-Skript und fügen Sie den folgenden Code hinzu, um weitere Einträge in Ihre Datenbank einzufügen, und führen Sie das Skript aus.

Die Ausführung dieses Codes liefert keine Ausgabe, aber Sie werden die eingefügten Werte später in der Tabelle in den folgenden Schritten überprüfen.

Es gibt keinen Power Query Editor für mehrdimensionale Quellen wie SAP Business Warehouse, was Ihre Möglichkeiten zur Datenbearbeitung einschränkt.

//WriteToTable.py
# Importieren der Schülertabelle aus der Datei CreateTable.py.
from CreateTable import students
# Importieren der Verbindungsschnur coxn aus der Datei DBconnect.py.
from DBconnect import coxn

# Einfügen mehrerer Werte in die Schülertabelle
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'}
])
# Erstellen des Verbindungscursors.
conn = coxn.connect()
# Ausführen des insert() Befehls.
conn.execute(ins)

6. Wechseln Sie als nächstes zu Ihrem Power BI-Browser und klicken Sie auf die Registerkarte Datasets + Datenflüsse.

Wenn alles gut geht, sehen Sie die letzte Aktualisierungszeit und die nächste Aktualisierung des Datensatzes wie im folgenden Screenshot.

Beachten Sie, dass Power Bi Direct Query empfindlich auf Änderungen und Formatierungen reagiert. Sie erhalten möglicherweise einen Fehler, wenn Ihr Power Query-Editor komplexe Schritte enthält.

Verifying the last refreshed time and next refresh of the dataset

Wie erwartet erfolgt die automatische Aktualisierung alle 15 Minuten, und die nächste Aktualisierung ist für weitere 15 Minuten festgelegt.

Verifying the scheduled refresh works

Fazit

In diesem Tutorial haben Sie gelernt, wie Sie die Power Bi Direct Query-Funktionalität verwenden, um Ihr Datenset, das auf Ihrem Server gespeichert ist, zu verbinden. Sie haben auch erfahren, wie Sie Abfragen direkt gegen Ihre Daten ausführen können.

Das Erstellen von Berichten ist ein langer Prozess des Sammelns, Reinigens, Hochladens in eine Datenquelle, Laden von Daten in Power BI und Arbeiten an den Power BI-Visuals. Dieser erwähnte Prozess ist gegeben. Aber danach können Sie entweder das Datenset manuell aktualisieren oder die Daten automatisch gemäß dem festgelegten Zeitplan aktualisieren.

Power BI Direct Query hat seine Nachteile bei der Behandlung und Manipulation von Daten in Ihrem Datenset. Die Tatsache jedoch, dass Sie einen Bericht einmal erstellen und nie wieder am Backend arbeiten müssen, ist ein massiver Anreiz bei der Verwendung dieses Features.

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