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 gerne 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.
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 wird gezeigt, wie Lambda Expressions innerhalb von Power Query Iteratoren eingesetzt werden. Von den vielen Power Query Funktionen gehören einige zur Klasse der Iteratoren. Dabei werden Lambda Expressions, die sich im Inneren eines Iterators befinden, wiederholt ausgeführt. Bei jedem Aufruf übergibt der Iterator andere Daten an die Lambda Expression.
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.