In this chapter, we took a more in-depth look at the structure of DAX syntax, including details around naming requirements. We learned more about complex relationships including how to deal with relationships, between tables that involve multiple columns and how to handle instances of tables with multiple relationships. We also learned how to use DAX functions to create virtual relationships.
We took our first look at the different groups of functions available in the DAX language, including a detailed look at the aggregation group of functions and the group of functions that help us to deal with parent and child relationships in a table. We learned how these functions can help us to use parent and child relationships to create a normalized parent-child hierarchy.
In the next chapter, we will continue our look at functions by learning more about functions that return a...