Das Team hinter Power BI/ The Team behind Power BI Archive | THE SELF-SERVICE-BI BLOG Wir lieben Microsoft Power BI Mon, 14 Apr 2025 07:34:18 +0000 de hourly 1 https://wordpress.org/?v=6.8 https://ssbi-blog.de/wp-content/uploads/2019/10/Favicon-150x150.png Das Team hinter Power BI/ The Team behind Power BI Archive | THE SELF-SERVICE-BI BLOG 32 32 Das Team hinter Power BI: Will Thompson https://ssbi-blog.de/das-team-hinter-power-bi/das-team-hinter-power-bi-will-thompson/ Thu, 04 Oct 2018 09:24:53 +0000 https://ssbi-blog.de/?p=4269 English Version below Das Team hinter Power BI: Will Thompson Einer der Gründe, warum die Power BI-Plattform so erfolgreich am Markt ist, ist die Tatsache, dass ihre Entwicklungsumgebung Power BI Desktop für jeden kostenlos zur Verfügung steht. Lade es Dir einfach herunter und beginne mit der Entwicklung eines neuen Datenmodells. Heute interviewe ich Will Thompson, […]

Der Beitrag Das Team hinter Power BI: Will Thompson erschien zuerst auf THE SELF-SERVICE-BI BLOG.

]]>
English Version below

Das Team hinter Power BI: Will Thompson

Einer der Gründe, warum die Power BI-Plattform so erfolgreich am Markt ist, ist die Tatsache, dass ihre Entwicklungsumgebung Power BI Desktop für jeden kostenlos zur Verfügung steht. Lade es Dir einfach herunter und beginne mit der Entwicklung eines neuen Datenmodells. Heute interviewe ich Will Thompson, Program Manager im Power BI Desktop Team, zu diesem großartigen Produkt.

Lars: Hallo Will, vielen Dank, dass Du Dich meinem Interview stellst 🙂 Würdest Du kurz beschreiben, was Deine Hauptaufgaben im Power BI Desktop Team sind?

Will: Mein Titel ist „Programm-Manager„, der ist aber wirklich allgemein… Aber ich betrachte die PMs gerne als die „Stimme des Kunden„, die den Entwicklern und UX-Designern sagt, was das wirkungsvollste ist, was wir dem Produkt hinzufügen können, und die Funktionalität definiert, die wir benötigen. Das UX-Team entscheidet, wie es dazu kommen soll, und die Entwickler gehen tatsächlich hin und implementieren es. Wir neigen dazu, viele Meinungen über diese beiden Dinge zu haben, aber wir sind da nicht die Experten. Die PMs tragen die endgültige Verantwortung für den Erfolg oder Misserfolg eines Features und so koordinieren wir viel mit allen anderen beteiligten Teams (Dokumentation, Marketing, Vertrieb, Support usw.), um einen reibungslosen Ablauf zu gewährleisten. Also teils „Projektmanager“ und teils „Product Owner“. Konkret kümmere ich mich um unsere Modellierungsfunktionen in Power BI Desktop – also DAX, Beziehungen, die Feldliste etc. Ich habe auch Kim Manis (die Group PM, die das gesamte Desktop-Team leitet) vertreten, während sie im Mutterschaftsurlaub war.
Randbemerkung: Es gibt einen „Power BI-Fluch“, wenn es um Babys geht. Wir haben eine erstaunlich hohe Anzahl von Zwillingen in unserer Gruppe! Kim hat gerade Zwillinge bekommen, und ich habe dreijährige Zwillinge. Unter allen Mitgliedern des Teams hatten wir seit der Einführung von Power BI 15 Zwillingspaare! Da ist etwas im Wasser…..

 

Lars: Eine Sache, für die Power BI bekannt ist, ist die Tatsache, dass Microsoft eine API für die Erstellung von benutzerdefinierten Visuals bereitgestellt hat. So kann jeder mit entsprechenden technischen Fähigkeiten seine eigenen Visualisierungen für Power BI erstellen. Aber vor einiger Zeit hat Chris Webb einen erstaunlichen Fund gemacht: Der Chartikulator. Es sieht so aus, als ob Nicht-Programmierer bald in der Lage sein werden, auch benutzerdefinierte Visuals zu erstellen. Ist das ein realistisches Szenario für die Zukunft von Power BI Custom Visuals?

Will: Der Charticulator ist ein wirklich cooles Werkzeug. Es kam von Microsoft Research (ein Team, das im Laufe der Jahre Input und neue Ideen für eine Reihe von Funktionen in Power BI geliefert hat) und ermöglicht es Dir, benutzerdefinierte Power BI-Visualisierungen mit ihrer Oberfläche zu erstellen. Es wurde für eine Forschungsarbeit erstellt, aber wir haben darüber gesprochen, wie wir es besser in Power BI integrieren können. Ich glaube zwar nicht, dass wir die Benutzeroberfläche in naher Zukunft als nativen Bestandteil von Power BI Desktop sehen werden, aber wir lieben das, was sie getan haben, und werden unterstützen, was sie tun, um Menschen bei der Erstellung von benutzerdefinierten Visuals zu unterstützen.

 

Lars: Mit dem August-Release von Power BI Desktop habt ihr „Export to PDF“ eingeführt, eine der am häufigsten nachgefragten Funktionen gemäß User Voice. Darüber wurde „Frage stellen“ gerade auf GA (generallay available) gesetzt. Ich erlebe oft in Unternehmen, dass Power BI Desktop aufgrund seiner Funktionsvielfalt nicht als Entwicklungsumgebung für Power BI wahrgenommen wird, sondern als Reporting-Tool. Die Menschen senden sich die Dateien über Mail/OneDrive gegenseitig zu, als wären es Excel-Dateien. Das ist ihre Art der Zusammenarbeit. Wie entscheidet Ihr – über die User Voice hinaus -, welche Features in das Tool gehören und welche nicht?

Will: Wow. Große Frage, und das ist wirklich der Kern der Rolle des Programm-Managers. Wir durchsuchen alle Informationen darüber, was die Menschen von unserem Produkt erwarten und entscheiden, welche die wirkungsvollsten Funktionen für den Versand sind. Ich neige dazu, UserVoice als den „langen Ausläufer“ von Feature-Vorschlägen zu betrachten. Jeder kann dort Ideen einreichen oder abstimmen, und so erhalten wir eine große Menge an Feedback. Am anderen Ende der Skala haben wir ein „Customer Advisory Team“ (diejenigen von Euch, die Adam Saxton und Matthew Roche kennen – sie gehören zu diesem Team), das mit unseren größten Unternehmenskunden zusammenarbeitet, um ihre Feedback-Anfragen zu sammeln. Sie sind offensichtlich wichtig für uns, da sie hochkarätige Kunden repräsentieren (auch diejenigen, die uns typischerweise am meisten bezahlen), aber sie könnten nach Funktionen fragen, die nur in ihrem Unternehmen gelten, oder nach ihren spezifischen Konfigurationen. Wir müssen das gegen ein Feature abwägen, das Tausende von Stimmen im Forum hat. Die andere Achse ist der Abgleich von Merkmalen, die für „Pro“-Berichtsautoren bestimmt sind, mit denen, die jeder Verbraucher nutzen wird. Nimm die Verbesserungen, die wir dem Home-Screen von PowerBI.com hinzugefügt haben – viele Endbenutzer werden das hilfreich finden, aber es macht es nur einfacher, das zu tun, was Sie vorher im Navigationsbereich tun konnten. Umgekehrt wird die Aggregation nur von echten High-End-Profis verwendet, aber die resultierenden Berichte können von Hunderten von Benutzern in einem Unternehmen verwendet werden – und ohne diese Funktion haben sie möglicherweise einfach keine Möglichkeit, Power BI für diesen Bericht zu verwenden.

 

Lars: Im Januar kam David Eldersveld auf die geniale Idee, SVG-Bilder in berechneten Spalten in Power BI zu verwenden. Da Measures in Power BI nun die Datenkategorie „Bild-URL“ haben kann, sind mit etwas DAX und dem Wissen über die Struktur von SVG-Dateien viel mehr Visualisierung in Power BI möglich. Marco Russo fragte folgerichtig nach benutzerdefinierten DAX-Funktionen. Wie gut sind unsere Chancen dafür?!

Will: Diese fallen in den Funktionsbereich „Pro-User“! Es ist etwas, wofür wir erste Ideen haben, und einige unserer Entwickler haben es sogar während eines Hackathons prototypisch umgesetzt. Es ist eine weitere der Funktionen, die es einfacher machen, etwas zu tun, was man manuell erledigen kann. Es liegt „in unserem Backlog„, also definitiv etwas, das wir in Betracht ziehen würden, wenn wir plötzlich eine Handvoll Entwickler mit etwas Freizeit finden würden, aber im Moment haben wir eine große Anzahl von Funktionen, die wir für wichtiger halten.
Eine weitere Besonderheit – die Hackathons sind oft wirklich gute Testgelände für neue Features. Wir versuchen, zwei davon pro Jahr zu machen; wir sagen, dass für 3 oder 4 Tage niemand an geplanten Features arbeiten muss, sie können Prototypen erstellen oder alle Ideen erforschen, die sie für wertvoll für uns halten. Manchmal sind es benutzerorientierte Funktionen, manchmal sind es Verbesserungen unserer Engineering-Systeme (z.B. Verbesserung der Buildzeiten oder neue automatisierte Testwerkzeuge). Zu den Funktionen, die hier eingeführt wurden, gehören Quick Measures, Drucken und Designs!

 

Lars: In Deinem Job wirst Du sicherlich viele Geschichten darüber hören, wie Power BI von Kunden genutzt wird. Hast Du eine Lieblingsgeschichte, in der Power BI-Datenanalyse für einen guten Zweck eingesetzt wurde?

Will: So viele! Ich denke, dass das, das in letzter Zeit auffällt, die Arbeit ist, die in der Elizabeth Glaser Pediatrics AIDS Foundation geleistet wird. Sie haben einige großartige PBI-Berichte, die sie online veröffentlichen: http://www.pedaids.org/impact/data-dashboard/egpaf-global-data-dashboard/. Das Power BI-Team dort sind Stephanie Bruno @StephTBruno und Shannon Lindsay@Shan_gsd

 

Lars: Wie Satya Nadella in seinem Buch „hit refresh“ betonte, besteht Microsofts Strategie darin, jeden Einzelnen und jedes Unternehmen in die Lage zu versetzen, mehr zu erreichen, und das vor allem mit Cloud Services (Cloud First!). Du lebst in Amerika, aber du kommst aus Großbritannien. Wie unterscheidet sich Deiner Erfahrung nach die Bereitschaft der Amerikaner, in die Cloud zu gehen, von der Bereitschaft, in die Cloud zu gehen, die in Großbritannien/Europa vorherrscht? Hast Du irgendwelche Vergleiche?

Will: Interessanterweise Frage. Ich denke, ich bin an einem gewissen Wendepunkt (Ende 2012) umgezogen. Sicherlich, als ich Großbritannien verließ, waren die meisten meiner Kunden (ich habe viel Arbeit im Finanzbereich und für die Regierung geleistet) nicht in der Lage, die Cloud zu betrachten, aber seitdem denke ich, dass sich das Gleichgewicht geändert hat. Vielleicht liegt das daran, dass es hier drüben mehr Bereitschaft (oder weniger Regulierung) gibt, aber ich denke, es hat sich auch in Großbritannien geändert. Eine Sache, die immer gleich ist, ist die Art und Weise, wie die Menschen sich um Sicherheit und Datenschutz sorgen – egal wo sie die Daten ablegen. Falls Du jemals Hilfe beim Einschlafen benötigst, lies unser Sicherheits-Whitepaper (Link). Es ist wirklich detailliert, aber…. nicht gerade mein Lieblingsthema!

 

Lars: Darren Gosbell hat ein geniales Tool zur Analyse der Performance von DAX-Abfragen gegenüber dem Datenmodell entwickelt: DAX Studio. Ein solches Tool wäre ein Traum für jeden, der M-Code in Power Query schreibt. Könntest Du Dir vorstellen, dass Ihr solche Tools zur Performance-Überwachung nativ in Power BI Desktop einbaut, damit das Leben der Entwickler einfacher wird?!

Will: Das kann ich sicher! Hoffentlich früher als später…. Eigentlich war das ein weiteres aktuelles Hackathon-Projekt. Aber nichts, wozu ich eine verbindliche Aussage treffen kann.

 

Lars: Eine persönliche Frage am Ende: Wenn Du nicht all die „data workers“ mit coolen neuen Tools versorgen würdest, was würdest Du dann am liebsten tun?

Will: Ich würde in den Unterricht oder die Ausbildung gehen. Ich liebe es, Dinge zu erklären und Menschen zu helfen, Wege zu finden, das Gelernte anzuwenden. Direkt nach dem Abitur arbeitete ich dort in der IT-Abteilung und half auch bei ein paar Unterrichtsstunden, und das hat sehr viel Spaß gemacht. Mein Lieblingsteil meiner Arbeit bei Microsoft UK war die Durchführung von Trainingsworkshops und Du kannst wahrscheinlich sehen, wie gerne ich die Trainingsvideos hier mache! Vielleicht liegt es nur daran, dass ich den Klang meiner eigenen Stimme zu sehr mag…..

 

Lars: Will, vielen Dank, dass Du meine Fragen beantwortet hast und macht mit Eurer großartigen Arbeit an Power BI Desktop weiter.

Will: Sehr gerne, Lars! Ich freue mich darauf, einige der Antworten meiner Kollegen zu lesen, wenn Du sie auch interviewst!

The Team behind Power BI: Will Thompson

One of the reasons why the Power BI platform is so successful on the market is that its development environment Power BI Desktop is available free of charge to everyone. Just download it and start designing a new data model. Today I interview Will Thompson, Program Manager in the Power BI Desktop Team, about this amazing product.

Lars: Hi Will, thank you so much for wanting to face my interview 🙂 Would you like to briefly describe what your main tasks at the Power BI Desktop team are?

Will: My title’s “Program manager” which is really generic… But I like to think of the PMs as the “voice of the customer” actually telling the developers and UX designers what is the most impactful thing we could add to the product, and defining the functionality we need. The UX team decide how it will get to that, and the developers actually go and implement it. We tend to have a lot of opinions about those two things, but we’re not the experts there. The PMs have final responsibility for the success or failure of a feature and so we do a lot of coordination around all the other teams who’re involved (documentation, marketing, sales, support etc.) to make sure things go smoothly. So part ‘project manager’ and part ‘product owner’. Specifically, I look after our modelling features in Power BI Desktop – so DAX, relationships, the field list etc. I’ve also been covering for Kim Manis (the Group PM who manages the whole Desktop team) while she’s been out on maternity leave).

Sidebar: there’s a ‘Power BI curse’ when it comes to babies. We have an amazingly high incidence of twins in our group! Kim’s just had twins, and I’ve got 3 year old twins. Through all the members of the team since Power BI was launched we’re up to about 15 sets of twins! There’s something in the water…

 

Lars: One thing for which Power BI is famous is the fact that Microsoft has provided an API for creating custom visuals. So, anyone with ideal technical skills can create their own visualizations for Power BI. But some time ago, Chris Webb made an amazing finding: The Charticulator. It looks like non-programmers will soon be able to create custom visuals as well. Is that a realistic scenario for the future of Power BI custom visuals?

Will: Charticulator’s a really cool tool. It came from Microsoft Research (actually a team who’ve provided input and new ideas for a number of feature to Power BI over the years) and indeed lets you create Power BI custom visuals with their interface. The created it for a research paper but we’ve been in conversation as to how we better integrate it to Power BI. While I don’t think you’ll see the UI as a native part of Power BI Desktop any time soon, we do love what they’ve done and will support what they’re doing to help people produce Custom Visuals.

 

Lars: In August release of Power BI Desktop you implemented „Export to PDF“, one of the most requested features according to User Voice. In addition, „Ask a question“ has just become generally available. I often experience in companies that Power BI Desktop is not perceived as a development environment for Power BI at all, but rather as a reporting tool due to its variety of features. People send the files to each other via Mail/OneDrive as if they were Excel files. This is their way of collaboration. How do you decide – beyond the user voice – which features belong in the tool and which don’t?

Will: Wow. Big question, and really this is the core of the Program Manager’s role. Sifting through all the information on what people want from our product and deciding what the most impactful features to ship are. I tend to think of UserVoice as the ‘long tail’ of feature suggestions. Anyone can submit or vote on ideas there, and so we get a huge amount of feedback from it. At the other end of the scale, we’ve got a ‘Customer Advisory Team’ (those of you who know Adam Saxton and Matthew Roche – they’re in that team) who work with our largest enterprise customers to gather their feedback requests. They’re obviously important for us as they represent high-profile customers (also typically the ones who pay us the most) but they might be asking for feature that only apply in their organization, or for their specific configurations. We have to weigh that against a feature that has thousands of votes on the forum. The other axis is comparing features that are for ‘pro’ report authors against those that every consumer will use. Take the improvements we’ve added to the Home screen in PowerBI.com – lots of end users will find that helpful, but it’s just making it easier to do what you could do before in the navigation pane. Conversely the Aggregations is only used by real high-end professionals, but the resulting reports may be used by hundreds of users in an organization – and without that feature they simply might not have a way to use Power BI for that report.

 

Lars: In January David Eldersveld came up with the brilliant idea to use SVG images in calculated columns in Power BI. Since Measures in Power BI can now have the Data Category ‚Image URL‘, with some DAX and the knowledge about the structure of SVG files much more visualization in Power BI is possible. Marco Russo consequently asked for Custom DAX functions. How good are our chances of that?!

Will: These fall into the ‘Pro user’ feature area! It’s something we’ve got some initial ideas for, and some of our developers even prototyped it during a hackathon. It’s another one of the “make it easier to do something that you can do manually” features. It’s “on our backlog”, so definitely something we’d consider if we suddenly found a handful of developers with some spare time, but at the moment we’ve got a large number of features we consider higher priorities.

Another aside – the hackathons are often really good testing grounds for new features. We try to do two of these a year; we say that for 3 or 4 days no-one has to work on scheduled features, they’re free to prototype or explore any ideas they think would be valuable to us. Sometimes they’re user-facing features, sometimes they’re improvements to our engineering systems (e.g. improve build times or new automated testing tools). Features that got started here include Quick Measures, printing, and theming!

 

Lars: In your job you will surely hear many stories about how Power BI is used by customers. Do you have a favorite story where Power BI data analytics was used for a good cause?

Will: So many! I think the one that stands out most recently is the work going on at the Elizabeth Glaser Pediatrics AIDS Foundation. They have some great PBI reports that they publish online: http://www.pedaids.org/impact/data-dashboard/egpaf-global-data-dashboard/. The Power BI team there are Stephanie Bruno @StephTBruno and Shannon Lindsay@Shan_gsd

 

Lars: As Satya Nadella stated in his book “hit refresh”, Microsoft’s strategy is to empower every individual and every organization to achieve more and this mainly with cloud services (cloud first!). You live in America, but you come from the UK. In your experience, how does the willingness of Americans to go to the cloud differ from the willingness to go to the cloud that prevails in the UK/Europe? Do you have any comparisons?

Will: Interesting one. I think I moved at a bit of a tipping point (late 2012). Certainly when I left the UK most of my customers (I did lots of work in finance and gov’t) weren’t able to look at the cloud, but since then I think the balance has changed. Maybe that’s because there’s more willingness (or less regulation) over here, but I think it’s changed in the UK too. One thing that’s always the same is the way people are concerned about security and privacy – wherever they’re putting the data. If you ever need help getting to sleep, read our security whitepaper (link). It’s really detailed but… not exactly my favorite topic!

 

Lars: Darren Gosbell developed an amazing tool for analyzing the performance of DAX queries against the data model: DAX Studio. Such a tool would be a dream for everyone who writes M code in Power Query. Could you imagine having such kind of performance monitoring tools natively in Power BI Desktop, so that developer’s life becomes easier?!

Will: I certainly can! Hopefully sooner than later… Actually that was another recent hackathon project. But nothing I can commit to.

 

Lars: A personal question at the end: If you weren’t providing all the data workers with cool new tools, what would you most like to do?

Will: I’d go into teaching or training. I love explaining things and helping people find ways to apply what they’re learning. Straight after I finished secondary (high) school I worked there in the IT department and helped in a few lessons too, and that was a load of fun. My favorite part of my work at Microsoft UK was delivering training workshops and you can probably tell how much I like making the training videos here! Maybe it’s just because I like the sound of my own voice too much…

 

Lars: Will, thank you very much for answering my questions and keep up the great work on Power BI Desktop.

Will: You’re very welcome Lars! Looking forward to reading some of my colleague’s answers when you interview them too!

Der Beitrag Das Team hinter Power BI: Will Thompson erschien zuerst auf THE SELF-SERVICE-BI BLOG.

]]>
Das Team hinter Power BI: Jeffrey Wang https://ssbi-blog.de/das-team-hinter-power-bi/das-team-hinter-power-bi-jeffrey-wang/ Fri, 29 Jun 2018 09:52:10 +0000 https://ssbi-blog.de/?p=3929 English Version below Das Team hinter Power BI: Jeffrey Wang Beschäftigt man sich mit Power BI/ Power Pivot, dann dauert es nicht lange, bis man das erste Mal auf die Sprache DAX trifft. Jeffrey Wang ist Principal Software Engineer Manager bei Microsoft und gilt als der Vater von DAX und der dahinterliegenden VertiPaq-Engine. Lars: Jeffrey, […]

Der Beitrag Das Team hinter Power BI: Jeffrey Wang erschien zuerst auf THE SELF-SERVICE-BI BLOG.

]]>
English Version below

Das Team hinter Power BI: Jeffrey Wang

Beschäftigt man sich mit Power BI/ Power Pivot, dann dauert es nicht lange, bis man das erste Mal auf die Sprache DAX trifft. Jeffrey Wang ist Principal Software Engineer Manager bei Microsoft und gilt als der Vater von DAX und der dahinterliegenden VertiPaq-Engine.

Lars: Jeffrey, ich freue mich sehr, dass Du Dich bereit erklärt hast, Dich meinen Fragen zu stellen 🙂 Magst Du kurz beschreiben, was Deine wesentlichen Aufgaben bei Microsoft sind?

Jeffrey: Ich arbeite im Power BI-Team und bin verantwortlich für die Entwicklung der DAX-Engine.

 

Lars: In der Community wird Dein Name häufig mit dem Label „Vater von DAX“ versehen. Wie würdest Du Deine Rolle bei der Erfindung von DAX beschreiben?

Jeffrey: Die Erfindung von DAX war eine Gemeinschaftsarbeit vieler Menschen. Ich war nur einer der Erfinder, nicht einmal der wichtigste. Mein Beitrag für DAX wurde später, als ich die Leitung des Entwicklungsteams übernahm, noch prominenter. In meinem Bestreben, DAX-Wissen zu verbreiten, begann ich auf Community-Meetings zu präsentieren und einige Organisatoren begannen, mich auf diese Weise vorzustellen, um mehr Menschen zu meinen Vorträgen zu bewegen 🙂

 

Lars: Aus welchem Grund wart Ihr damals der Meinung, eine neue Sprache erfinden zu müssen? Was kann DAX, was die existierenden Sprachen nicht konnten?

Jeffrey: Wir brauchten eine Sprache, die die Kern-BI-Konzepte elegant ausdrücken kann, die ohne formale Programmierkenntnisse für Geschäftsanwendern leicht bedienbar ist und sich leicht implementieren lässt, um Milliarden von Datenzeilen effizient zu handhaben. Wir hatten drei bestehende Programmiersprachen in Betracht gezogen: Excel-Formeln, SQL, MDX. Excel-Formeln sind die Sprache der Wahl für Business-Analysten, die Zielgruppe, die wir für Self-Service-BI anvisierten, aber es fehlten grundlegende Konstrukte, um mit relationalen Datenbankoperationen auf der Grundlage von strukturierten Daten in Tabellen und Spalten umzugehen. SQL ist eine großartige Sprache, um Operationen auf strukturierten Daten jeder Größe auszudrücken. Es fehlt nur das BI-Kernkonzept der Measures und ist zu ausschweifend, um gängige BI-Query-Patterns auszudrücken. Einige BI-Anbieter haben sich dafür entschieden, SQL zu erweitern, um BI Measures zu unterstützen. Sie alle waren sehr hackig und verwirrend, da sie SQL durch SQL-ähnliche Ausdrücke zu SQL-unähnlichen Ergebnissen führten. Schließlich war MDX eine erfolgreiche Nischensprache im BI-Markt, aber es ist für Geschäftsleute zu schwierig, da sie zu viele mehrdimensionale Konzepte wie Dimensionen, Attribute, Hierarchien usw. lernen mussten, bevor sie die Sprache verstehen konnten. Wir haben DAX auf einfachen relationalen Datenbankkonzepten wie Tabellen, Spalten und Beziehungen aufgebaut, die im Gegensatz zu mehrdimensionalen von Business-Analysten intuitiv verstanden werden, und dann haben wir Measures als BI-Kernkomponente hinzugefügt und das freundliche Format von Excel-Formeln sowie viele Excel-Funktionen übernommen, mit denen Business-Anwender bereits vertraut sind.

 

Lars: Wenn Du DAX jemandem beschreiben müßtest, der davon noch nie gehört hat: Wie würde das aussehen?

Jeffrey: Den Geschäftsanwendern werde ich sagen, dass DAX eine Programmiersprache ist, die über eine Excel-formelähnliche Syntax verfügt und es Ihnen ermöglicht, Geschäftskennzahlen zu definieren, die im BI-Jargon auch als Measures bezeichnet werden und für viele Geschäftsberichte und Analysen wiederverwendbar sind. Den BI-Professionals werde ich sagen, dass DAX eine Programmier- und Abfragesprache ist, die die Kernfunktionen von SQL und MDX in einer Excel-formelähnlichen Syntax kombiniert, damit BI-Entwickler eine funktionsreiche BI-Semantikschicht definieren und die volle Leistungsfähigkeit der Vertipaq Engine, der spaltenbasierten In-Memory-Datenbank, nutzen können.

 

Lars: Vor kurzem wurde durch das Excel-Team angekündigt, dass Power Pivot demnächst in allen Excel-Versionen für Windows vorhanden sein wird. Auf absehbare Zeit werden durch diese Entscheidung alle Excelnutzer Zugriff auf die DAX Engine haben! Erhoffst Du Dir dadurch eine noch größere Popularität von DAX?

Jeffrey: Das hoffe ich sehr. Ich hoffe sogar, dass das Excel-Team eines Tages DAX-Abfragen zu Pivot-Tabellen und Pivot-Charts hinzufügen wird, um die volle Leistung der Power Pivot-Engine zu nutzen.

 

Lars: Als Ihr DAX damals entworfen habt, welche potentiellen Nutzer hattet Ihr damals im Blick? Hat sich dieses Bild in der Zwischenzeit gewandelt?

Jeffrey: Das Ziel damals war es, eine Reihe von Kerntechnologien zu entwickeln, die den unterschiedlichen Bedürfnissen der Anwender in den Bereichen Self Service-BI, Team-BI und Corporate-BI gerecht werden. Deshalb benötigten wir eine Programmiersprache, die einfach genug für Business-Analysten ist, um sie in ihrer täglichen Arbeit zu verwenden, aber dennoch leistungsstark genug ist, um komplexe Modellierungskonzepte, wie sie von großen Unternehmensanwendungen benötigt werden, auszudrücken. Es war ein ehrgeiziges Ziel, das auch heute noch aktuell ist, und wir haben eine stetig wachsende Zahl von Fachanwendern und BI-Spezialisten erlebt, die die Technologie wie erhofft einsetzen.

 

Lars: DAX hat viele „verborgene“ Eigenschaften und Konzepte. Angefangen bei Filter- und Row-Context, über interne Konvertierungen (implizite CALCULATE statements etc.), Context transitions, etc. Die Sprache erscheint zu Beginn sehr einfach, wird dann aber relativ schnell zunehmend komplex. Ich weiß, dass viele Nutzer von DAX durch diese „versteckten“ Konzepte verunsichert sind. Ein Beispiel: Du hast auf Deinem alten Blog bereits Anfang 2011 beschrieben, dass es drei unterschiedliche Formen in DAX gibt, wie die Datumsspalte innerhalb einer Time Intelligence-Funktion referenziert werden kann. Intern werden diese drei Formen jedoch unterschiedlich durch DAX interpretiert, was gewissen Nebeneffekte haben kann. Ich bin mir sicher, dass es bei der Entwicklung von DAX notwendig war, die Sprache genau so zu bauen, wie ihr das getan habt. Könntest Du dem interessierten Leser dennoch bitte einen Einblick geben, warum es so viele versteckte Eigenschaften und Sonderfälle gibt?

Jeffrey: Ein einfacher DAX-Ausdruck verbirgt oft komplexe Berechnungen unter der Haube. Der Anschein der Einfachheit einiger gängiger DAX-Ausdrücke ist ein zweischneidiges Schwert. Einerseits ermöglichen syntaktische Einfachheit und Flexibilität dem Anfänger, relativ einfach und schnell leistungsfähige Berechnungen zu erstellen. Andererseits haben die komplexen Berechnungen hinter den Kulissen oft Nebeneffekte, wenn der Anwender über grundlegende Szenarien hinausgeht, ohne ein tieferes Verständnis für die einem berechneten Ergebnis zugrunde liegenden Schritte zu haben. Das ursprüngliche Designziel war es, die Syntax so einfach wie möglich zu gestalten und gleichzeitig einem kohärenten und semantisch fundierten Sprachmodell zu entsprechen. Zum Beispiel ist

=
CALCULATE ( [Total Sales], Product[Color] = „Red“ )

eine syntaktische Vereinfachung für

=
CALCULATE (
[Total Sales],
    FILTER ( ALL ( Product[Color] ), Product[Color] = „Red“ ).

Die einfachere Form ist intuitiver für Anfänger, die oft an Filter als boolesche Ausdrücke denken, die für eine bestimmte Zeile wahr oder falsch zurückgeben. In Wirklichkeit sind alle DAX-Filter im Filterkontext Tabellenausdrücke auf der einen Seite eines Semi-Join-Operators in relationaler Algebra und der anderen Seite mit offenem Ende. Ich denke nicht, dass es klug ist, das Konzept des Semi-Join am ersten Tag des DAX-Abenteuers den Geschäftskunden vorzustellen. Andererseits zeigt das Beispiel, dass DAX auf einem soliden theoretischen Fundament steht, so dass fortgeschrittene Anwender beliebig viele interessante Features miteinander kombinieren können, um beliebig komplexe Geschäftslogik zu formulieren. In diesem Zusammenhang sind DAX-Einsteiger an ihre erste Hürde geraten, als sie begannen, nicht-triviale DAX Measures zu schreiben, welches ein wiederverwendbarer, dynamischer Ausdruck, der sowohl für Excel-Anwender als auch für SQL-Entwickler ein neues Konzept ist.

 

Lars: Gibt es etwas, was Du uns über die künftige Entwicklung von DAX sagen willst/ darfst?

Jeffrey: DAX, gepaart mit umfangreichen Modellierungsfunktionen, verschafft Microsoft BI einen Vorteil gegenüber den Lösungen vieler Wettbewerber. Wir planen, noch mehr Flexibilität in DAX und Modellierung einzuführen, so dass BI-Anwender aller Ebenen Analyse- und Reporting-Anwendungen erstellen können, die sie sich heute noch nicht vorstellen können.

 

Lars: Jeffrey, ich danke Dir vielmals für die Beantwortung meiner Fragen und wünsche Dir und Deinem Team weiterhin so viel Schaffenskraft, die uns das Arbeitsleben erleichtert 🙂

The Team behind Power BI: Jeffrey Wang

If you are dealing with Power BI/Power Pivot, it doesn’t take long before you encounter the DAX language for the first time. Jeffrey Wang is Principal Software Engineer Manager at Microsoft and is considered the father of DAX and the VertiPaq engine behind it.

Lars: Jeffrey, I’m so glad you agreed to answer my questions. 🙂 Would you like to briefly describe what your main tasks at Microsoft are?

Jeffrey: I work on the Power BI team and am in charge of the development of the DAX engine.

 

Lars: In the community your name is often labelled „the father of DAX„. How would you describe your role in the invention of DAX?

Jeffrey: The invention of DAX was a joint effort of many people. I was just one of the inventors, not even the most important ones. My contribution to DAX became more prominent later on when I became the manager of the development team. In my effort to spread DAX knowledge, I started to present at community meetings and some organizers began to introduce me that way in order to get more people to come to my talks 🙂

 

Lars: Why did you think you had to invent a new language then? What can DAX do that the existing languages could not?

Jeffrey: We needed a language that can elegantly express core BI concepts, is friendly to business users without formal programming training, and can be easily implemented to handle billions of rows of data efficiently. We had considered three existing programming languages: Excel formulas, SQL, MDX. Excel formulas are the language of choice for business analysts, the audience we were targeting for self-service BI, but it lacked basic constructs to deal with relational database operations on top of structured data stored in tables and columns. SQL is a great language to express operations on structured data of any size. It just lacks the core BI concept of measure and is too verbose to express common BI query patterns. Some BI vendors chose to extend SQL to support BI measures. They all ended up being very hacky and confusing since they kind of broke SQL by making SQL-like expressions return un-SQL-ly results. Finally, MDX was a successful niche language in the BI market but it’s too hard for business people since it required users to learn too many multi-dimensional concepts, such as dimensions, attributes, hierarchies, etc. before they could understand the language. We built DAX on top of simple relational database concepts like tables, columns, and relationships which, unlike multi-dimensional ones, are intuitively understood by business analysts, and then we added the core BI ingredient of measures as a first-class citizen, and adopted the friendly format of Excel formulas along with a lot of Excel functions with which business users are already familiar.

 

Lars: If you had to describe DAX to someone who’d never heard of it: How would that look?

Jeffrey: To business users, I’ll tell them that DAX is a programming language that has Excel formula-like syntax and empowers you to define business metrics, also known as measures in BI jargon, which are reusable across many business reporting and analytics. To  BI professionals, I’ll tell them that DAX is a programming and query language that combines core features of SQL and MDX in an Excel formula-like syntax to enable BI developers to define a feature rich BI semantic layer and to unleash the full power of the Vertipaq Engine, the in-memory columnar database.

 

Lars: When you designed DAX back then, which potential users were you looking for at that time? Has this picture changed in the meantime?

Jeffrey: The goal back then was to build a set of core technologies that can serve the diversified needs of users across the spectrum of self-service BI, team BI, and corporate BI, therefore we needed a programming language that’s simple enough for business analysts to use in their daily work yet powerful enough to express complex modeling concepts as required by large enterprise applications. It was an ambitious goal that is still relevant today and we have seen a steadily increasing number of business users as well as BI specialists adopt the technology as we had hoped.

 

Lars: Recently, the Excel team announced that Power Pivot will soon be available in all Excel versions for Windows. In the foreseeable future all Excel users will have access to the DAX Engine! Do you hope that this will make DAX even more popular?

Jeffrey: I certainly hope so. I even hope one day Excel team will add DAX queries to pivot tables and pivot charts to unleash the full power of the Power Pivot engine.

 

Lars: DAX has many „hidden“ characteristics and concepts. Starting with filter and row contexts, via internal conversions (implicit CALCULATE statements, etc.), context transitions, etc. The language appears very simple at the beginning, but then becomes relatively fast increasingly complex. I know that many DAX users are unsettled by these „hidden“ concepts. An example: You already described on your old blog in early 2011 that there are three different forms in DAX how the date column can be referenced within a Time Intelligence function. Internally, however, these three forms are interpreted differently by DAX, which can have certain side effects. I am sure that in the development of DAX it was necessary to build the language exactly as you did. Nevertheless, could you please give the interested reader an insight into why there are so many hidden characteristics and special cases?

Jeffrey: A simple DAX expression often belies complex calculations under the hood. The appearance of simplicity of some common DAX expressions is a double-edged sword. On the one hand, syntactical simplicity and flexibility enable beginners to write powerful calculations relatively easily and quickly. On the other hand, the behind-the-scene complex calculations often have side-effects when users move beyond basic scenarios without a deeper understanding of a breakdown of steps underlying a calculated result. The original design goal was to make the syntax as simple as possible in common usage patterns while conforming to a coherent and semantically sound language model. For example,

=
CALCULATE ( [Total Sales], Product[Color] = „Red“ )

is syntax sugar for

=
CALCULATE (
[Total Sales],
    FILTER ( ALL ( Product[Color] ), Product[Color] = „Red“ )
)

The simpler form is more intuitive for beginners who often think of filters as Boolean expressions which return true or false for a given row. In reality, all DAX filters in filter context are table expressions on one side of a semi-join operator in relational algebra with the other side open-ended. I don’t think it’s wise to introduce the concept of semi-join to business users on their first day of DAX adventure. On the other hand, the example illustrates that DAX stands on a solid theoretical foundation so advanced users can freely combine any number of interesting features together to formulate arbitrarily complex business logic. On a related note, DAX beginners ran into their first hurdle once they started writing non-trivial DAX because measure, which is a reusable, dynamic expression, is a new concept to both Excel users and SQL developers.

 

Lars: Is there anything else you want to/ can tell us about the future development of the DAX?

Jeffrey: DAX, coupled with rich modeling capabilities, gives Microsoft BI an edge over many competitors’ solutions. We plan to introduce even more flexibilities in DAX and modeling so that BI users of all levels can build analytical and reporting applications they can’t imagine today.

 

Lars: Jeffrey, thank you very much for answering my questions and I wish you and your team the continued creative power that already made our working lives so much easier. 🙂

Der Beitrag Das Team hinter Power BI: Jeffrey Wang erschien zuerst auf THE SELF-SERVICE-BI BLOG.

]]>