The first article of this series is intended to explain the complex language DAX from the point of view of other concepts, on the internet the term projection is often used for that. Other concepts can be set concepts, OOP concepts and concepts from SQL. Concepts from other languages can make DAX more transparent.
How hard is it to learn DAX? The article deals with the challenges of learning DAX as a BI language for the tabular model and the difference to the MDX language.
Attribute relationships are internal objects of the Analysis Services MultiDimensional Engine. They are not visible for the MDX client, can only be used indirectly and can only be configured in the development environment. However, they affect MDX objects and implicit behaviors. Understanding relationships is therefore essential for understanding MDX.
This article describes how the Analysis Services Multidimensional engine implicitly expands an incomplete tuple such as ([East]) to a complete tuple such as ([East], , [Amount], etc.). This knowledge is crucial to understand how engine internals affect the way a cell value is computed.
Part 1 of this series shows how Lambda Expressions work within Power Query Iterators. Lambda expressions placed inside an Power Query function will be executed repeatedly. With each call, the iterator passes different data to the lambda expression.
In part 1 of this series i mentioned that the MSDN does not provide information about the concrete (data) traffic between the lambda expression and the iterator that the lambda expression is part of. Part 2 of this series shows three examples of how Power Query iterator and lambda expression interact with each other.
Article 3 of this series covers "List.Generate". "List.Generate" is one of the most important Power Query functions. As in other languages, "List.Generate" encapsulates a loop and is the equivalent of a For-loop. Understanding List.Generate requires knowledge of lambda expressions.