Hi,
in diesem kleinen Beitrag möchte ich euch zeigen wie ihr ohne SQL Kenntnisse eine Datenquelle im Report Builder bauen könnt, mit Hilfe von Power BI.
in this small post I want to show you how you can build a data source in the Report Builder without SQL knowledge, using Power BI.
Erstellen der Datenquelle in Power BI/ Create a data source in Power BI
Im ersten Schritt ladet Ihr ganz normal die Daten über Daten abrufen in euer Power BI. In meinem Beispiel nutze ich die SQL Datenbank des ReportServers. Ich lade mir erstmal die Tabelle Catalog in mein Power BI und wechsel dann in den Power Query Editor. Dort kann ich unter den Angewendeten Schritten die beiden Schritte “Quelle” und “Navigation” finden. Wenn ich nun mit einem Rechtsklick auf Navigation gehe öffnet sich ein Menü aus dem ich Native Abfrage auswählen kann. Wenn ich diese öffne finde ich ein Script welches ich 1:1 kopieren kann und im Report Builder unter dem Punkt neue Datenquelle einfügen kann. Nachdem das geschehen ist erhalte ich die gleichen Tabellen wie im Power BI ohne eine Zeile SQL geschrieben zu haben.
Alle die sich für mehr Informationen rund um das Thema Native Abfragen und Query Folding informieren möchten finden hier einen Artikel von Microsoft dazu: https://docs.microsoft.com/de-de/power-bi/guidance/power-query-folding
In the first step, you load the data into your Power BI via Get Data. In my example I use the SQL database of the ReportServer. I first load the Catalog table into my Power BI and then switch to the Power Query Editor. There I can find the two steps “Source” and “Navigation” under the applied steps. If I now right click on “Navigation” step a menu opens from which I can select Native Query. When I open it, I find a script which I can copy 1:1 and paste in the Report Builder under the item New Data Source. After this is done I get the same tables as in Power BI without having written a line of SQL.
For those who want more information about native queries and query folding, here is an article from Microsoft: https://docs.microsoft.com/de-de/power-bi/guidance/power-query-folding
Erweiterungen in der Datenquelle/ Extensions in the data source
Nun kann man noch weitere Aktionen durchführen wie z.B die Catalog Tabelle um die User Tabelle ergänzen indem ich diese einfach erweitere. Danach kann die Native Abfrage wieder geöffnet werden und der entsprechende Code kopiert werden. Man muss nur beachten das es auch Aktionen gibt die dann nicht mehr in der Nativen Abfrage abgrufen werden können, das sind dann die natürlichen Limits des Query Foldings. Dazu findet ihr unter dem oben stehenden Link mehr Informationen.
Now you can perform further actions like adding the user table to the catalog table by simply expanding it. After that the native query can be opened again and the corresponding code can be copied. You have to keep in mind that there are some actions that can’t be performed in the native query, these are the natural limits of the query folding. You can find more information about this under the link above.
Query Folding is Performance
Wahrscheinlich fragen sich nun einige wozu es dieses Query Folding eigentlich gibt, es ist eigentlich ganz simpel: Performance. “Power Query ermöglicht es uns, Daten aus verschiedenen Quellen zu extrahieren und zu manipulieren. Wenn wir nun Transformationen an den Daten durchführen, ist es möglich, dass diese Transformationen an die Quelle zurückgesendet werden, um die Leistung zu verbessern. Diese Funktion wird Query-Folding genannt und ist für Power Query sehr wichtig.”(Zitat: frei übersetzt von dem unten stehenden Link)
Wenn Ihr euch für einige Tipps bezüglich Performance durch Query Folding holen möchtet empfehle ich euch diesen Artikel: https://www.mssqltips.com/sqlservertip/3635/query-folding-in-power-query-to-improve-performance/
Probably now some are wondering why this query folding actually exists, it’s actually quite simple: performance. “Power Query allows us to extract and manipulate data from various sources. Now when we perform transformations on the data, it is possible for those transformations to be sent back to the source to improve performance. This feature is called query folding and is very important for Power Query.”(Quote: see link below)
If you want to get some tips regarding performance through query folding I recommend this article: https://www.mssqltips.com/sqlservertip/3635/query-folding-in-power-query-to-improve-performance/
Learn SQL?!
Wenn ihr euch nun aber gerne mehr mit SQL beschäftigen wollt, weil ihr gemerkt habt das man diesen einfach sehr oft benötigt. Ob nun für den Report Builder oder generell wenn ihr mit SQL Datenbanken zu tun habt, kann ich euch folgende Seite dazu empfehlen:
https://www.w3schools.com/sql/default.asp
Auf der Seite findet ihr viele Beispiele und könnt direkt loslegen und üben.
But if you want to learn more about SQL, because you noticed that you need it very often. Whether for the Report Builder or generally if you have to do with SQL databases, I can recommend the following site:
https://www.w3schools.com/sql/default.asp
On the site you will find many examples and can start directly and practice.