Power BI Project Checklist

Just preparing for the next BI project, I thought that maybe it would be useful for Power BI users out there to have an adapted checklist for Power BI projects.

I promise, I’ve tried to keep it as simple as possibly……..
If you don’t agree with the checklist or feel that something is missing, please let me know.

PBI Projekt Checklist_V1.01 - enPower BI Project Checklist – new update version 1.01 – 12.06.2017

 

 

relativen Datumsfilter setzen

Nachdem ich in den letzten Beiträgen vor allem über das Erstellen eines dynamischen Kalenders geschrieben habe, beleuchte ich diesmal ein ganz anderes Thema im Zusammenhang mit der Datumsdimension.
Wir können in Power BI Filter (Slicers) setzen und so definieren, welche Daten angezeigt werden sollen. In der aktuellen Version (per 30. Mai 2017) ist es auch möglich zu definieren, aus welchem Zeitraum (von bis, nach, vor) die Daten stammen sollen. Was fehlt ist die Möglichkeit, einen relativen Datumsfilter anzuwenden. Dazu müssen wir auf eine andere Technik zurückgreifen. „relativen Datumsfilter setzen“ weiterlesen

Tabellen zusammenführen mit relativer Bedingung

Tabellen in Power Query und Power BI Desktop zusammenzuführen oder anzufügen ist über die Benutzeroberfläche einfach zu realisieren. Dies gilt jedoch nicht, falls relative Bedingungen wie „gültig von bis“ im Spiel sind.
Im heutigen Beispiel soll zur Sales Tabelle die Bruttomarge aus einer andern Tabelle hinzugefügt werden. Die Bruttomarge ist jedoch nicht starr und ändert sich von Zeit zu Zeit.

„Tabellen zusammenführen mit relativer Bedingung“ weiterlesen

Dynamischer Power BI Kalender – Arbeitstage

Im ersten Teil haben wir einen dynamischen Kalender aufgrund einer Faktentabelle erstellt. Im zweiten Teil haben wir zur Ermittlung der Feiertage eine kleine Funktion geschrieben. Nun fügen wir die Feiertagsliste in den Kalender ein und erstellen eine Spalte für die Arbeitstage. „Dynamischer Power BI Kalender – Arbeitstage“ weiterlesen

Exceldaten aus dem Internet importieren

Obwohl es auf den ersten Blick einfach und intuitiv scheint, bietet der Download von Exceldaten aus dem Internet in Power Query eine Überraschung an. Ich zeige Euch in diesem Beitrag Schritt für Schritt auf, wie Ihr Exceldaten aus dem Internet importieren könnt und dabei die Überraschung vermeidet. „Exceldaten aus dem Internet importieren“ weiterlesen

SVerweis mit Power Query

Wer kennt ihn nicht, den SVerweis? Viele verzweifeln an ihm, andere setzen ihn virtuos ein. Aber der SVerweis hat einige Nachteile. In diesem Beitrag zeige ich Euch, wie ihr den SVerweis mit Power Query ganz einfach nachbildet und die Limitationen des SVerweises beseitigen könnt.

„SVerweis mit Power Query“ weiterlesen

Gastblogger gesucht

Wen ich suche?

Hast Du schon immer einen Artikel über Power BI schreiben wollen, ohne dass Du eine eigene Blogumgebung aufbauen musst?
Hast Du eine spannende Lösung in Power BI entwickelt und möchtest dies mit der Welt teilen?
Oder möchtest Du mal einen unveröffentlichten Beitrag über Power BI auf meinem Blog publizieren?

Dann bist Du hier genau richtig! „Gastblogger gesucht“ weiterlesen

Übersicht über die Power BI Änderungen

Microsoft hat am 3. Mai 2017 einige Änderungen zu ihrem Power BI Lizenzmodell per 1. Juni 2017 bekanntgegeben.

Es wird ein neues Lizenzmodell mit Power BI Premium sowie die Möglichkeit einer vor-Ort Installation von Power BI eingeführt. Zudem wurde eine deutliche Differenzierung zwischen Power BI Free und Power BI Pro geschaffen.

Ich werde hier auf die wichtigsten Power BI Änderungen im Reportingumfeld eingehen. Power BI embedded ist nicht Thema dieser Übersicht. „Übersicht über die Power BI Änderungen“ weiterlesen

Iterating over an unknown number of pages in Power Query – avoid endless loops

The topic of Iterating over an unknown number of pages in Power Query has been covered many times. The first one I know was Matt Masson, who used the technique of a pre-generated list of page numbers (PageRange = {1..10000}).

This technique works well but may result in a long query execution time or could even run in a time-out by hitting the throttling limit on certain pages.

Omri Avissar came up with a new solution. Its benefit is shorter execution time and a reduced chance to run in a time-out. A great solution!

…Infinite loops

But yesterday I had to learn that this solution doesn’t work on every page. I wrote a query to pull data from the Power BI Kudos Leaderboard (1 Day). The leaderboard spans over only 2 pages and 5’000 rows of HTML Code. The query was incredible slow!

After some testing and reverse engineering, I found out, that the page redirects to the last page, if the page number is greater than the number of the last page.
Calling
http://community.powerbi.com/t5/kudos/leaderboardpage/board-id/power-bi-designer/timerange/one_day/tab/authors/page/3
was redirected to
http://community.powerbi.com/t5/kudos/leaderboardpage/board-id/power-bi-designer/timerange/one_day/tab/authors/page/2).

The next call was page number 4, then 5 etc. Every time the result was the data of page number 2. An infinite loop! Thanks for that Microsoft 😉

Solution

So, I had to figure out a technique to compare the sent url with the received url. Fortunately, the site provides the url in the HTML Code in Row 13:

<meta content="Data shaping, modeling, and report building in the Power BI Desktop app." name="description"/><meta content="noindex" name="robots"/><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/><link href="http://community.powerbi.com/t5/kudos/leaderboardpage/board-id/power-bi-designer/timerange/one_day/tab/authors/page/2" rel="canonical"/>

By using the brand-new Power Query command „Text.BetweenDelimiters“ I could get the desired information out of the HTML Code:

Function_fnGetHTML

The function receives the url and the page number as input and calls the web page. As the page doesn’t provide any usable tables (………….), I had to import the HTML code, look for the desired line of code and compare the result with the original url. If it’s a match, the function gives back the whole HTML Code for further cleaning or otherwise the result is „false“.

All I had to do is to write a Query which uses the function.

Query_Desktop_24Hours

I adjusted the technique of Omri Avissar and boom, there you are. With a little function, I was able to retrieve the data in short time.

Happy Querying!

Daten aus CSV und TXT Dateien importieren

Daten aus csv und txt Dateien importieren ist, ähnlich dem Datenimport aus Excel, sehr einfach und innert kurzer Zeit erledigt.

Als Erstes wird der Dialog „Daten abrufen“ aufgerufen und danach „Text/CSV“ gewählt. Der Dialog funktioniert für beide Dateitypen genau gleich.

csvDialog

Es erscheint als nächstes der Importdialog, in welchem die gewünschte Datei anzuwählen ist.csvDateiöffnen

Nach der Bestätigung durch „Öffnen“ werden die Daten in die Vorschau geladen. Die Dateiattribute wie „Trennzeichen“ und „Dateiursprung“ werden automatisch festgelegt. In der Regel ist der Wert des Attributs Dateiursprung gleich „1252: Westeuropäisch (Windows)“. Bei Bedarf können diese Werte auch über die entsprechenden Auswahlfelder angepasst werden.

csv_VorschauDie restlichen Schritte erfolgen wie bereits bei den anderen Datenquellen gesehen. Das ist bereits alles.

Der automatisch erstellt „M“-Code für die Tabelle “Financial Sample” sieht wie folgt aus:

M Code csv Import

Der Code wurde mit Lars Schreiber’s Notepad++ Script Editor erstellt: http://ssbi-blog.de/technical-topics-english/power-query-editor-using-notepad/

Mehr Artikel über Power Query findet Ihr im Power Query Online Buch.

Happy Querying!