DAX is simple, but it is not easy

Inspired by this great video and as a follow up to my last post regarding the Mastering DAX workshop I want to tell you about my findings regarding the DAX language:

DAX is simple,

but it is not easy.

This is so true. When I was sitting in the classroom, I realized in every example we did how true this statement is. If you see a working DAX formula you are tempted to say: “OK, no problem, this is easy”. But making a working DAX measure – which is really working all the time – no matter what the user is doing in terms of filtering and grouping is hard work.

If your measure is working in one situation but not in all situations

then your measure was wrong from the beginning.

Again, in many cases it seems that a measure is working. But as soon as you are changing some parameters or add an extra step of complexity it is not working at all. In many cases this means go back to start and do your work again.

Stick with the basics

Don’t bother about sophisticated functions.

Put all your efforts into filter context, row context, iterations, and context transition.  I am still learning the hard way that this is the only way to success.

You can’t learn DAX by copying formulas

or patterns from the internet or books.

I tend to learn new things by browsing the internet. If I find a solution which is pointing me in the right direction, I usually succeed in solving my problem. With DAX I first thought ok cool do it in the same way at sometimes it seems to work but unfortunately other times not. So learning the basics is so important not just insert some CALUCULATE command here and there.

You can’t learn DAX by reading books

Only by practicing.

I have bought quite a few books in the past and by studying them I was fooling myself. I thought I know enough about DAX now. But the truth is I knew nothing. As soon as you are doing real live examples you will realize that without a solid understanding of the basics you are caught in an endless try and error loop.

So having learned all of this I feel at least in a position which points me in the right direction.

With every project I will gain confidence but nevertheless frustration will be my good companion for quite some time.

Stick to the basics

and try to think the DAX way.

Mastering DAX workshop

Obwohl ich nun schon wirklich lange möglichst viele Bereiche zum Thema Power BI verfolge, ist die DAX Sprache nach wie vor herausfordernd für mich. Wobei mittlerweile denke ich, das geht jedem so…

Daher habe ich als Auffrischung unlängst den Mastering DAX workshop der allseits bekannten SQLBI Helden besucht.

https://www.sqlbi.com/cert/yjlt1zzu-211003/

Ich habe nun den Vergleich zum ebenfalls angebotenen Online Course und einer Schulung in „echt“.

Ich muss sagen, da liegen wirklich Welten dazwischen. So viele Kleinigkeiten, die in DAX aber sehr große Auswirkungen haben, können einfach nur face to face bewusst gemacht werden.

Die für mich wichtigsten Erkenntnisse sind zwar nichts Neues, aber man muss sie diese egal auf welchem Level man sich in DAX bewegt immer wieder vor Auge führen:

Obey the rules

Es gibt zwar oft mehrere Wege, um eine DAX Formel zu erstellen, aber im Prinzip fast immer nur eine richtige Lösung.

  • The filter context filters data
  • The row context computes data

 (nothing else)

Heißt einfach übersetzt, stimmt das Ergebnis einer Formel nicht, ist zu 99,99 % das die Ursache des Problemes.

CALCULATE löst viele Probleme

Entscheidend dabei ist aber, das man sich immer wieder vor Augen hält, wann CALCULATE was macht, warum CALCULATE das macht und wann CALCULATE allenfalls gar nicht erforderlich ist.

  • CACULATE schafft neue Herausforderungen
  • Stichwort Context transition
    • Überträgt den aktuellen Filter context in einen äquivalenten Row Context

NEVER filter a table, always filter fields

Selbsterklärend hier geht es vor allem um Performance

Back on track – my learning journey

The first half year was very challenging for me. After a as always to short vacation I’m ready to start learning again.

Today I took another Fundamentals exam. Some questions are pretty basic some not. Nevertheless I like to take such exams mainly to get a feeling what is expected from new candidates in a certain field.

Microsoft Certified: Azure Data Fundamentals – Credly

Apart from that I will spend 3 days to refresh my DAX skills. I will attend the Mastering DAX Workshop offered by sqlbi.com. I know some of their video courses and the are brilliant. So I’m really looking forward to meet these experts in person.

Mastering DAX Workshop – Amsterdam – September 30-October 2, 2021 – SQLBI

Microsoft Exam DA-100

In 2018 I passed the MCSA BI Reporting exam which is no longer available.

So time to renew the Power BI part of this certification which nowadays seems to be Exam DA-100.

To pass the exam you should have spent some time with Power BI. As I’m more interested in data design, connectors and other technical stuff behind the scenes the exam was a bit of a challenge for me. Nevertheless it worked out…

https://www.credly.com/badges/a9b50481-2792-4399-950b-09419748a606/public_url

Direct Query for Power BI (Preview)

I like this explanation very much. Alberto Ferrari is really good at describing complex topics in an entertaining way. I see a lot of potential in this feature and not just for large enterprises.
I like the idea of keeping the data in the cloud and only enriching it with new data and measures. And the new concept of chaining datatasets is also very exciting.
And this is probably the first time I’ve heard anyone talk about DirectQuery without making a disgusted face.

DirectQuery for Power BI datasets and Azure Analysis Services (preview) | Microsoft Power BI Blog | Microsoft Power BI

New composite models in Power BI: A milestone in Business Intelligence – SQLBI

Links – Qualität statt Quantität

Ich bin momentan eher zurückhaltend, was das Posten von Links angeht. Ich stelle mir immer öfter die Frage, ob der für mich durchaus interessante Artikel überhaupt relevant ist, um ihn in einem Blog festzuhalten. Dafür gibt es ja schließlich auch noch die guten alten Bookmarks im Browser. Daneben ist es auch so, dass die Fülle der interessanten Beiträge immer mehr zunimmt. Ich habe mir daher vorgenommen, neue Infos immer erst mal zur Kenntnis zu nehmen. Wenn dann der Beitrag auch nach 1-2 Wochen immer noch im meinem Kopf herumgeistert, dann ist er es wert, dass ich ihn in meinem persönlichen Blog festhalte. Hier einige Beispiele:

Using the XMLA endpoint without Premium

Ich finde diesen Beitrag einfach spitze. Einfach geschrieben aber trotzdem voller Expertenwissen. Da viele neue Features einfach auf Power BI Premium abzielen, ist es für mich an der Zeit, mich mit Embedded auseinanderzusetzten. Dann kann ich zumindest die ganzen tollen Premium Sachen ausprobieren und habe trotzdem überschaubare Kosten.

 

SQL Saturday Vienna 24.01.2020

Friday, Jan 24, 2020 Conference Schedule

Ja, das ist wirklich schon eine Zeitlang her. Nur diese Sessions haben mich persönlich einfach beeindruckt:

Building a modern data warehouse and BI solution in Microsoft cloud

Mein Eindruck: Sehr praxisnahe Session mit vielen persönlichen Empfehlungen des Vortragenden

Common Data Model – Our new buddy for Data Governance

Mein Kommentar: Die Jungs haben wirklich Spass an  der Sache. Sehr leicht vorgetragen, trotzdem vollgepackt mit Expertenwissen

Power BI: From Self-Service to Enterprise

Sehr ruhig und sachlich vorgetragen, fast schon zurückhaltend. Aber gerade das hat diese Session für mich auch besonders gemacht. Sehr empfehlenswert…

 

Dann noch zwei Beiträge vom Global Azure Virtual Austria 2020 Event:

Serverless Application Integration – Azure and Power Platform

Slides und Codesamples

Das Konzepet der Microservices hat mich beindruckt, vor allem im Bezug auf die Projekte, in die ich im ERP-Bereich persönlich involviert bin. Nicht immer ist alles aus einem Guss die beste Lösung.

Immer wieder beindruckend ist die Leichtigkeit mit der Apps und Services in Azure eingerichtet werden können.

 

PowerPlatform Dataflows –PowerQuery (and more) in the Cloud

Slides zur Session

Guter Vortrag mit einer Fülle an Informationen zu Dataflows in der Power Platform.

Die vielen unterschiedlichen Ausprägungen und vor allem der Abgleich der Daten innerhalb der einzelnen CDM folders machen mich aber immer noch etwas nachdenklich.

 

 

Lesestoff / Linksammlung

Momentan habe ich echt viel zu tun, trotzdem gibt es immer mehr als genug neuen Lesestoff. Nachfolgend ein kleiner Auszug, muss zugeben, habe selber noch nicht alles gelesen. Aber dafür ist dieser Blogbeitrag ja da, sprich ich kann später nachschlagen…

Power Platform:

Codeunit API’s in Business Central

Power Apps Community Plan without Office 365

Using Power BI service without an Office 365 account

Currency Conversion in Power BI Reports

THE HIDDEN GEMS OF THE FUNCTION WEB.CONTENTS()

Moving X-Axis in Power BI

Analyzing PASS SQL Saturday data using Power BI

Paginated Reports Bonus Tutorial – Use the XMLA endpoint to create a live connected Excel table

https://www.fourmoo.com/2020/02/12/how-you-can-store-all-your-power-bi-audit-logs-easily-and-indefinitely-in-azure/

Read API Data with Power BI using Power Query

 

NAV Business Central:

Codeunit API’s in Business Central

Business Central Blog

Import Tenant Data

How to use the Excel Buffer in Business Central cloud

Another great BC Blog

And another great Blog….

Dynamics 365 Business Central Workflows Auto Posting Transactions

 

SQL:

SQL CROSS JOIN examples

Split Delimited String with Split Delimited with PARSENAME function

 

Azure:

Cloud ETL With Azure Data Factory & CDS

Custom Logging and Auditing of ADF Data Flows

Syncing on-premise databases to Microsoft Azure Cloud using Azure Data Factory

Azure Functions Live – Feb 2020

 

Office:

Typescript – The Excel VBA Killer?