Several table-valued functions were added to the DAX language in 2015 that simplify the development of relational and set logic based measures and queries. With functions such as NATURALINNERJOIN(), EXCEPT(), and UNION(), developers can create DAX measures to identify outliers and precise segments of dimensions to better support analysis such as cross-selling and customer retention. Additionally, as many business processes have a corresponding budget or plan, it's important to use Power BI modeling features to build support for actual versus budget reporting.
In this recipe new DAX functions are used to drive two analyses--inactive customers and cross-selling products. Additionally, a data model is modified to support the distinct grains of budget and sales fact tables.