Attribute Relationships sind interne Objekte der Analysis Services MultiDimensional Engine. Sie sind vom MDX-Client aus nicht sichtbar, nur indirekt zu nutzen und nur in der Entiwcklungs-Umgebung konfigurierbar. Sie wirken sich aber auf MDX-Objekte und implizite Verhaltensweisen aus. Relationships zu verstehen, ist daher grundsätzlich wichtig für das Verständnis von MDX.
In diesem Artikel wird beschrieben, wie ein explizit übergebener, unvollständiger Tupel-Ausdruck wie z.B. ([East]) implizit zu einem vollständigen Tupel wie z.B. ([East], [2018], [Amount] etc.) expandiert wird. Dieses Wissen ist wesentlich, um zu verstehen, welche automatischen Verhaltensweisen zur Rückgabe eines bestimmten Wertes führen.
Der erste Artikel dieser Serie soll die komplexe Sprache DAX aus der Sicht anderer Konzepte beleuchten, im Internet wird dafür häufig der Begriff "Projektion" verwendet. Mit den anderen Konzepten sind Mengen-Konzepte, OOP-Konzepte und SQL gemeint. Konzepte aus anderen Sprachen sollen dabei helfen, die relativ schwer zu erlernende Sprache "DAX" transparenter zu machen und die grundlegenden DAX-Objekte und DAX-Verhaltensweisen wie Tabelle, Spalte, Relationship etc. aus deren Sicht zu erklären.
Wie schwer ist es, DAX zu erlernen? Der Artikel beschäftigt sich mit den Herausforderungen beim Erlernen von DAX als BI-Sprache für das Tabulare Modell und den Unterschied zur Sprache MDX.
Artikel 3 dieser Serie behandelt "List.Generate". Es handelt sich hierbei um eine der wichtigsten Power Query Funktionen. So wie in anderen Sprachen verkapselt "List.Generate" eine Schleife und stellt das Pendant eines ForEach-Loops dar. Für das Verständnis von "List.Generate" sind Kenntnisse über Lambda Expressions notwendig.
In Teil 1 dieser Serie wurde darauf hingewiesen, dass die MSDN keine Auskunft über den konkreten (Daten-) Verkehr zwischen der aufrufenden Funktion - meist ein Iterator - und der Lambda Expression gibt. Teil 2 dieser Serie zeigt an drei konkreten Beispielen, wie Power Query Iterator und Lambda Expression miteinander interagieren.
In Teil 1 dieser Serie wird gezeigt, wie Lambda Expressions innerhalb von Power Query Iteratoren funktionieren. Da sehr viele Power Query Funktion Iteratoren sind, werden Lambda Expressions, die innerhalb eines Iterators plaziert werden, wiederholt aufgerufen. Bei jedem Aufruf übergibt der Iterator andere Daten an die Lambda Expression.