Bisher war die Erstellung Power BI-Dokumente (PowerPivot, Power View, Power Query, Power Map) an bestimmte Voraussetzungen geknüpft:
- Office 365: Für viele Unternehmen uninteressant, da die Nutzung von Services in der Cloud ein gewisses Maß an die Provider voraussetzen muss, das bisher nicht da ist.
- Excel 2013: Leider haben viele Unternehmen, speziell die größeren, den Umstieg auf Excel 2013 noch nicht geschafft und so ist dies auch keine Alternative.
- SharePoint 2013 inkl. Office Web Services: Hierbei ist viel konzeptionelle Arbeit und Installations-/Konfigurationsaufwand erforderlich, um das System zum Laufen zu bringen, das viele Unternehmen abschreckt.
Somit war bisher Power BI eher einer kleinen Gruppe von Unternehmen vorbehalten. Doch den Durchbruch hat es bisher noch nicht so recht geschafft.
Anfang Dezember war ich im Rahmen eines Consulting-Auftrags bei einem Kunden in München und wir haben uns dort unter anderem darüber unterhalten, dass ein unabhängiger Editor für Power BI sinnvoll wäre und haben dafür verschiedene Möglichkeiten besprochen. Unter anderem auch die, dass ich vermutet habe, dass Microsoft irgendwann in nicht allzu fernen Zukunft einen Power BI-Designer veröffentlichen wird.
Kurz vor Weihnachten hat Microsoft dann mich und wahrscheinlich auch viele andere BI-Spezialisten mit einer Ankündigung überrascht, eine neue Anwendung zum Erstellen von Power BI-Dokumenten bereitzustellen. Kurze Zeit später wurde bereits der Download des Installationspaketes und eine eigene Webseite zu diesem Produkt veröffentlicht.
Als begeisterter BI-ler habe ich es mir nicht nehmen lasse, dieses neue Tool sofort zu installieren, um es auszuprobieren. Die Installation war sehr einfach – nur einige wenige Dialoge. Doch beim ersten und allen weiteren Starts der Anwendung passierte Folgendes:
Diese Fehlermeldung hat mich einiges an Nerven und Tiefenanalyse an meinen Computern gekostet, bis ich die Ursache gefunden habe, die wie so vieles, doch sehr einfach war:
Wie auf der oben abgebildeten Download-Seite zu sehen ist, steht dieser Power BI-Designer aktuell nur in der englischen Version zur Verfügung. Da bei vielen anderen Anwendungen die Sprachversion nur Bedeutung auf die Sprache von Menüs, Dialogen und ähnlichen hat, führt eine von “Englisch” abweichende Spracheinstellung von Windows bei dieser Anwendung sofort zu einem Absturz –> schade eigentlich.
Verwenden sie ein System, dass standardmäßig mit der Spracheinstellung “English” installiert ist, sollte dieses Problem bei Ihnen nicht auftreten. Doch bei allen anderen Systemen schlägt dieser Fehlerteufel zu.
Zur Lösung dieses Problems habe ich zwei Möglichkeiten gefunden:
- Die wohl sinnvollste Möglichkeit ist die Installation und Konfiguration einer zusätzlichen Sprache “English (United States)” auf Ihrem Windows-System. Hierbei ist darauf zu achten, dass die Sprache sich an oberster Stelle befindet.
- Durch einen kleinen Trick kann man die Anwendung jedoch auch starten, wenn nur die Sprache “Deutsch” (oder eine andere) installiert ist.
Im Installationsverzeichnis des Microsoft Power BI-Designers befindet sich im Resoucen-Verzeichnis ein Unterverzeichnis mit dem Kulturbezeichner (LCID) der installierten Sprachversion. Erstellen Sie nun eine Kopie dieses Verzeichnisses und geben diesem die LCID Ihrer aktuellen Windows Installation (PowerShell: [system.globalization.cultureinfo]::CurrentCulture.LCID)
Dies stellt zwar auf den ersten Blick die einfachere Lösung dar, doch vermute ich, dass diese Lösung von Microsoft nicht unterstützt wird und somit nur eine Notlösung sein sollte.
Doch egal welche dieser beiden Methoden Sie verwenden, erhalten Sie beim Arbeiten mit der Anwendung Texte wie z. B. Menüpunkte teilweise in Deutsch und Englisch. Das ist zwar unschön, doch damit sollte man leben können. Welche weiteren Nachteile Sie sich mit diesen Methoden einhandeln, kann ich Ihnen leider auch nicht sagen, da dies abhängig ist, von dem, was Sie mit Ihrem Computer tun.
Soweit zur kurzen Vorrede! Beginnen wir also das Tool zu verwenden…
Hinweis: Bei dieser in diesem Artikel verwendeten Version des Power BI-Designers handelt es sich um eine Preview-Edition. In der finalen Version wird es Unterschiede im Funktionsumfang und der Bedienung geben.
Erster Start und Beschreibung der Oberfläche
Die Anwendung startet sehr freundlich mit einem Dialog, auf dem man weitere Informationen zu diesem Tool bekommen und Beispiele sehen kann:
In dem Bereich auf der linken Seite kann man die entsprechenden Datenquellen für die späteren Berichte auswählen. Im mittleren Bereich befinden sich Videos von der Webseite http://support.powerbi.com/knowledgebase/articles/461292 und im rechten Bereich kann man auf das Power Bi-Forum, zum Power BI-Blog oder zu Tutorials wechseln.
Das Aussehen des Menüs innerhalb des Power BI-Designer ist an Microsoft Office 2013 angelehnt und enthält nur den Menüpunkt “Datei”
Eigentlich müsste der Menüpunkt englisch korrekt “File” heißen. Doch durch den o. g. Kunstgriff mit den Spracheinstellungen kommt diese kleine “Unkorrektheit” zustande. Die uns im Weiteren noch öfter begegnen wird.
Unter diesem Datei-Menüpunkt finden Sie die Standardfunktionen wie New, Open, Save und Save As (die wahrscheinlich keiner weiteren Erklärung bedürfen). Interessant ist bei dem Menüpunkt “New” das hier kein neues Dokument angelegt wird (wie in anderen Office-Anwendungen), sondern die Anwendung mit einem zweiten Dokument neu gestartet wird.
Des Weiteren gibt es den Menüpunkt <Datei><Options and settings>, mit dem Sie Einstellungen für das Programm (Options)
,
Datenquellen
,
und Datei-Einstellungen
festlegen können.
Außerdem befinden sich in dem Datei-Menü noch ein alter Bekannter “send feedback” – der wohlkünftig in vielen Microsoft-Anwendungen seinen Platz finden wird.
Nach einem Klick auf OK wird eine Mail mit den ausgewählten Informationen generiert, die an pbidesfb@microsoft.com gesendet werden kann (wenn man das möchte).
Der nächste Menüpunkt “getting started” zeigt den Start-Dialog an (siehe am Anfang dieses Kapitels). Der Menüpunkt “help” leitet auf folgende Seite http://support.powerbi.com/knowledgebase weiter und hinter dem Menüpunkt “about” verbirgt sich folgender Dialog mit Informationen zum Programm:
Den letzten Menüpunkt “Exit” brauche ich wohl nicht weiter zu erklären.
Des Weiteren befindet sich auf der Programmoberfläche noch ein Selektionsbereich für Query (Power Query) und Report (Power View):
Meiner persönlichen Meinung nach an einer eher ungewöhnlichen Position.
Entsprechend des ausgewählten Bereichs ändern sich auch die Menübänder (Ribbon) in der Anwendung. Doch zu deren Funktionsweise komme ich später.
Der erste Bericht
Damit Sie einen Bericht erstellen können, müssen Sie diesem als erstes Daten zuweisen. Dafür stehen Ihnen verschiedenen Datenquellen im Schnellzugriff zur Verfügung.
Über den Punkt “More…” stehen Ihnen noch eine Vielzahl weitere Datenquellen bereit:
- Datei-Typen
- Excel
- CSV
- XML
- Test
- Folder
- Datenbanken
- SQL Server
- Access Databases
- SQL Server Analysis Services Database
- Oracle Database
- IBM DB2 Database
- MySQL Database
- PostgreSQL Database
- Sybase Database
- Teradata Database
- Azure
- Microsoft Azure SQL Database
- Microsoft Azure Marketplace
- Microsoft Azure HDInsight
- Microsoft Azure Blob Storage
- Microsoft Azure Table Storage
- Andere
- Web
- SharePoint List
- OData Feed
- Hadoop File (HDFS)
- Active Directory
- Microsoft Exchange
- SAP BusinessObjects BI Universe
- SalesForce Objects
- Salesforce Reports
- ODBC
- Blank Query
Eine lange und beeindruckende Liste! Für einige dieser Datenquellen sind jedoch entsprechende lokale Treiber und andere Komponenten erforderlich. Deshalb werde ich mich im ersten Schritt auf SQL Server-Datenbanken fokussieren:
Für dieses Ausgangsbeispiel verwende ich die AdventureWorksDW2014-Datenbank, die ich für meine Tests speziell modifiziert habe.
Nachdem Sie die entsprechende Datenbank ausgewählt haben, können Sie noch Credentials für den Zugang zur Datenbank festlegen. Der Einfachheit halber verwende ich die Windows-Authentifizierung.
Danach wird ein Dialog geöffnet, der es Ihnen ermöglicht die erforderlichen Tabellen für das Power BI-Dokument auszuwählen. Sie können einzelne Tabellen selektieren oder mehrere, wenn Sie die Option “Select multiple items” ausgewählt haben.
Über die Load-Schaltfläche werden die Daten in das Power BI-Dokument geladen. Jedoch können Sie auch die Abfrage der Daten über die Schaltfläche “Edit Query” mit Power Query-Funktionen noch individuell anpassen. Doch dazu später.
Bei größeren Datenmengen kann die Ladezeit mehrere Minuten dauern.
Beim Laden der Daten aus einer SQL Server-Datenbank werden die Beziehungen zwischen den Tabellen nur dann übernommen, wenn diese in der Datenbank entsprechend auch definiert sind. Ist dies nicht der Fall, so lassen sich die Beziehungen auch noch nachträglich herstellen. Dies ist insbesondere dann notwendig, wenn die Daten aus verschiedenen Datenquellen stammen. Hierzu steht Ihnen in der Berichtsansicht die Manage Relationships-Funktion zur Verfügung:
Mit Klick auf “New” lassen sich neue Beziehungen zwischen den Tabellen erstellen:
Nachdem Sie alle erforderlichen Daten geladen haben und die Beziehungen aufgebaut haben, können Sie über den “Felder”-Bereich auf der rechten Seite des Programms, die für den Bericht erforderlichen Felder auswählen:
Anschließend können Sie im Eigenschaftenbereich des Diagramms (rechts unten) Werte, Achsen, Legende und ähnliches festlegen:
Zur Darstellung als Power View stehen verschiedene Steuerelemente zur Verfügung:
Nachdem die Daten einmal in das Dokument geladen sind, lassen sich Berichte (bzw. verschiedene Seiten eines Berichts) sehr schnell und einfach erstellen.
…an dieser Stelle lasse ich Sie nun erst einmal selbst ein wenig rumexperimentieren. Sollten Sie interessante neue Erkenntnisse gewinnen, würde ich mich sehr freuen, wenn Sie mich daran teilhaben lassen. Ansonsten wünsche ich Ihnen viel Spaß mit dem Power BI-Designer.
Power Query
Bevor ich zum Ende komme, möchte ich Ihnen noch einen kurzen Einblick in die Welt von Power Query im Power BI-Designer geben. Sie erreichen diesen Bereich durch Klick auf “Query” in der Auswahlliste am linken unteren Rand der Anwendung. Wer noch nicht mit Power Query in Excel gearbeitet hat, sollte sich auch hier langsam an die Funktionsweise herantasten. Dieses Tool ist sehr leistungsfähig, jedoch auch sehr komplex.
Deshalb soll auch dieser Blogartikel nur ein kurzer Einstieg in den Themenbereich sein. Vielleicht werde ich ja in Zukunft einen weiteren Artikel schreiben, der sich tiefer mit der Materie beschäftigt.
Doch zurück zur Oberfläche! Wie Sie sehen, ändern sich die Menübänder entsprechend den Funktionen von Power Query. Neben dem “Home”-Menübandgibt es noch ein Menüband “Transform„
ein Menüband “Add Column”
und ein Menüband “View”
Des Weiteren besteht die Oberfläche aus dem Bereich, in dem die Datenstrukturen (Tabelle, Abfrage usw.) befinden:
Die Tabellen lassen sich in diesem Bereich durch Ordner strukturieren. Bisher habe ich nur die Möglichkeit gefunden Ordner anzulegen (Klick rechte Maustaste auf ein Element in dieser Liste
und Create Group auswählen). Zum Löschen einer Gruppe habe ich noch keine Möglichkeit gefunden.
Im Hauptbereich befinden sich die Daten der jeweils ausgewählten Tabelle/Abfrage. Darüber lässt sich der Funktionsbalken (ähnlich dem in Excel –> jedoch mit einer vollkommen anderen Syntax) einblenden.
Auf der rechten Seite befinden sich die Eigenschaften der Abfrage, wobei hier meiner Meinung nach der Bereich “Applied Steps” besonders interessant ist.
Unter dem View-Menüband oder durch Rechtsklick auf die entsprechende Abfrage, kommen sie zu einem erweiterten Editor, mit dem Sie die
Eine Übersicht aller Funktionen der Power Query-Syntax finden Sie unter https://support.office.com/en-us/article/Power-Query-formula-categories-125024ec-873c-47b9-bdfd-b437f8716819?ui=en-US&rs=en-US&ad=US
Technische Infos
Hinweis: Einiger in diesem Abschnitt gemachten Aussagen beruhen auf Vermutungen und können nur anhand des Verhaltens begründet werden. Eine Bestätigung von Microsoft habe ich nicht.
Bei meinen Analysen habe ich noch weitere interessante Punkte gefunden, die ich Euch nicht vorenthalten möchte:
- Für alle Entwickler unter Euch sollte die Information der in diesem Produkt verwendeten Third Party-Technologien interessant sein, die Microsoft sehr freigiebig in einer eigenen Datei, die mit dem Programm geliefert wird, veröffentlich hat:
- Dotless (.less)
- Includes Less
- jQuery 2.1.1
- jQuery UI 1.11.1
- jQuery Color Animations 2.1.2
- maashaack framework
- Knockout ver. 3.0.0
- AngularJS Core 1.3.0
- AngularJS Route 1.3.0
- AngularJS Animate 1.3.0
- Das Installationsverzeichnis des Power BI Designer unter anderem die Datei msmdsrv.exe. Wem der Name der Datei nichts sagt, sollte sich einfach mal die Eigenschaften der Datei ansehen und
siehe da ein “Microsoft SQL Server Analysis Services”-Dienst. Anhand der Dateiversion ist zu sehen, dass es sich dabei um eine spezielle Version von Analysis Services auf Basis von SQL Server 2012 handelt. Doch dazu später mehr…
Dateiformat
Mit dem Power BI-Designer wurde ein neues Dateiformat pbix eingeführt. Ich vermute, dass sich die Erweiterung zusammensetzen aus Power BI komprimiertes Format x (mit einem ZIP-Verfahren komprimiert – wie alle anderen Microsoft Office-Dateiformate mit einem x am Ende der Dateierweiterung). Eine leere Datei in diesem Format besteht aus folgender Struktur (jedes Element ist eine Datei):
- Version = Content: 0.1
- DateiModel = Container für die Daten
- DataMashup
- [Content_Types].xml
- Report\Document
- Report\Pages
Das Format lässt sich aktuell nur mit Office 365 weiter verwenden. Dazu muss die lokal erstellte PBIX-Datei in Power BI Public Preview laden. Wählen Sie dazu auf diesem Portal Get Data und dort Power BI Designer File aus. Anschließend klicken Sie auf Connect.
In der aktuellen Version ist es nur möglich, Dateien von einem lokalen Computer zu laden. Die Datei wird anschließend auf OneDrive abgelegt.
Dateigröße
Für das oben gezeigte Beispiel habe ich Daten aus der AdventureworksDW2014-Datenbank geladen. Die Daten wurden durch mich für andere Tests aufgebläht, so dass in der Tabelle FactInternetSales 7.730.944 Datensätze gespeichert waren. Die Größe der Tabelle in der Datenbank ist 1.404 MB und sie wurde komplett in das Power BI-Dokument geladen. Nach dem Laden war das Power BI-Dokument 270 MB groß.
Verwende ich für die Tabelle FactInternetSales in meiner Datenbank einen gruppierten (clustered) Columnstore-Index, so ist die Tabelle 250 MB groß. Dies entspricht etwa der Größe des Power BI-Dokuments. Was den Verdacht nahelegt, dass ein ähnliches Verfahren für das Power Bi-Dokument verwendet wird, dass auch beim gruppierten Columnstore-Index zum Einsatz kommt. Ich vermute, dass es sich dabei um das PowerPivot zugrunde liegende xVelocity handelt.
Nachdem ich die Datenmenge auf 123 Mio. Datensätzen mit einer Gesamtgröße von 23 GB vergrößert (und mehr als eine Stunde für das Laden der Daten in das Power BI-Dokument gewartet) habe, war das Dokument zwar funktionsfähig und hat schnell reagiert, jedoch habe ich beim Speichern diesen Fehler bekommen:
Das legt die Vermutung nahe, dass es sich entweder noch um einen Fehler aufgrund des Beta-Stadiums des Produkts handelt oder in der finalen Version die Dateigröße limitiert werden wird.
Erst nachdem ich über Power Query einige (für meinen Test nicht benötigte) Spalten aus dem Tabelle FactInternetSales entfernt habe, konnte ich das Power BI-Dokument speichern – mit einer Größe von 730 MB. Das geschätzte Datenvolumen in der Datei sind aber immer noch ca.17 GB.
Aufgrund der gewonnenen Erkenntnisse bei dem Test gehe ich davon aus, dass abhängig von der möglichen Komprimierung der Daten schätzungsweise 20 GB in einem Power BI-Dokument verarbeitet werden können.
Ladevorgang
Die Analyse des Ladevorgangs war für mich sehr interessant und konnte (auch ohne Einblick in den Sourcecode) durch mich gut nachvollzogen werden. Sobald die Datenquellen ausgewählt sind, werden die Daten in ein tabellarisches Modell in einer Analysis Services-Instanz geladen. Das Verzeichnis für diese Instanz wird durch Power Query dynamisch auf Basis einer GUID im Temp-Verzeichnis des angemeldeten Benutzers erzeugt.
Der Ladevorgang erfolgt in mehreren Schritten:
- Laden der Daten aus der Datenquelle und Schreiben der Daten in ein Verzeichnis (als eine Datei).
- Erstellen des tabellarischen Modells
- Komprimieren der Daten
Tracing
Da es sich bei dem Tool noch um eine Beta-Version handelt, habe ich das Tracing aktiviert, um bestimmte Zustände nachverfolgen zu können.
Ist das Trace einmal aktiviert, wird für jeden Start der Anwendung im Trace-Verzeichnis eine neue Datei erstellt.
Wenn das Trace aktiviert ist, beginnt der Power BI-Designer sofort in die Datei zu schreiben. Die Dateigröße im Explorer bleibt jedoch weiterhin auf 0 KB.
Das Dateiformat der Trace-Datei ist bisher noch nicht dokumentiert, jedoch hat Chris Webb einen sehr interessanten Artikel dazu geschrieben, wie Sie eine solche Trace-Datei mit Power BI analysieren können.
Zusammenfassung
Mit dem Power BI-Designer gibt Microsoft BI-Spezialisten ein Werkzeug in die Hand, das die bestehenden Power BI-Funktionen in einer Oberfläche (losgelöst von Excel und Office 365) vereinigt, Auch wenn sich das Tool noch im Beta-Stadium befindet, läuft es stabil (wenn man von dem kleinen Sprachproblem absieht). Es ist auch bei größeren Datenmengen noch sehr performant und die Arbeit damit hat mich sehr begeistert. Bestimmt werde ich dieses Werkzeug künftig öfter für meine Arbeit nutzen.
Das Produktteam scheint auch sehr agil zu sein, denn über die Support-Seite des Produkts kann jeder Wünsche nach Produktverbesserungen einstellen, die vom Produkt Manager zeitnah bewertet und kommentiert werden –> coole Geschichte!
[…] letzten Blog-Artikel habe ich mich unter mit der Dateigröße des pbix-Dateiformats beschäftigt und die Vermutung […]
[…] https://sylvioh.wordpress.com/2015/01/07/power-bi-designer/ […]
Eine sehr schöne Analyse!
Was mich interessieren würde, was aber sicher schwer zu beantworten sein wird: Kann man die in der pbix (ZIP) Datei enthaltenen Dateien manipulieren (z.B. die Informationen zum SQL-Connection String in der DataMashup anpassen), das alles wieder packen und in Power BI verwenden? So richtig ist mir das noch nicht gelungen, weil das Format der DataMashup-Datei unklar ist.
Vielen Dank für Deinen Kommentar!
Das PowerBI-Format (pbix) ist aktuell von Microsoft nicht dokumentiert(siehe http://stackoverflow.com/questions/31849864/is-there-documentation-an-api-for-the-pbix-file-format). Somit ist jede native Änderungen an den Dateien in diesem ZIP-Paket mit dem Risiko verbunden, dass Du die Datei anschließend nicht mehr öffnen kannst bzw. mit einem künftigen PowerBI Designer-Update nicht mehr funktionieren wird. Des Weiteren solltest Du beachten, dass nicht für alle Verbindungen Connection Strings in der Datei gespeichert werden (siehe http://download.microsoft.com/download/4/8/C/48CFCF8A-2025-4B97-B249-7B505E26E7ED/Power%20BI%20Security%20Whitepaper.docx).
Doch möglicherweise gibt es andere Optionen, wie Du Dein Ziel erreichst. Vielleicht beschreibst Du mir einfach was Du vor hast und ich kann mir überlegen, welche Lösungen es gibt.
Danke für dein schnelles Hilfsangebot 🙂
Es geht um folgendes: Ich habe ein paar PowerBI-Dateien mit jeweils ein paar Abfrage drin, die alle als Quelle einen SQL-Server nutzen (z.B. .\SQLServer1\DB1).
Das läuft alles aber wenn ich die Datenbank oder den Server ändern möchte, muss ich dies manuell sehr aufwendig in PowerBI selbst machen – jede (!) Abfrage öffnen, den erweiterten Editor nehmen und dort manuell die Namen von Server und Datenbank anpassen.
Anwendungsfälle sind aktuell: Der Wechsel von einem Test- auf ein Produktivsystem und die Weiteregabe von PowerBI-Dateien an andere Nutzer/Kunden … die Datenbanken, auf denen die Abfrage basieren, sind alle vom Modell her identisch – gleiche Tabellennamen und -strukturen.
Und ich suche daher nach einer Lösung, den Server/DBNamen nicht-manuell, sprich durch direktes Eingreifen in die PowerBI-Datei zu verändern.
Das Risiko, dass dann nach einem Update von PowerBI nicht mehr geht, dessen bin ich mir bewusst.
Gerne!
Deine Aufgabenstellung hatte ich bereits vermutet. Das Problem sollte mit der Power Query Language (ehemals ‚M‘) lösbar sein. Schau Dir folgende Lösung an: http://muness.blogspot.de/2015/03/power-bi-tip-parameters-table-for-power.html. Hier ist es jedoch wichtig, dass Du zu allen Servern bereits Verbindungen aus der Power BI-Datei aufgebaut hast (sonst fehlt Dir die Authorisierung).
Meiner Meinung nach ist ‚M‘ sehr unterschätzt, denn sie bietet sehr vielfältige Möglichkeiten bei der Lösung komplexer Probleme im Power BI. Die Dokumentation zu der Sprache findest Du unter https://msdn.microsoft.com/en-us/library/mt211003.aspx.
Solltest Du noch weitere Fragen haben, kannst Du mich auch gerne direkt per Mail anschreiben.