• From what I can remember, Dynamics AX is not made to support type 2 dimensional data. For a proper SCD Type 2 dimensions, you need to maintain something like a StartDate, EndDate with a unique SurrogateKey and some kind of business key that allows you to tie two or more records in the dimension together.

    You could theoretically build this functionality in AX and use some X++ to make sure the table behaves like a SCD Type 2, but I can't see much value of having the OLTP system maintain all history of changes purely to support building a cube directly on top of the OLTP tables.

    The argument I've heard most from people about building everything in AX was mainly due to their lack of understanding of the difference between an OLTP and OLAP system. Another fighting piece for AX was around how it is a Microsoft product and it has pre-built functionality so it's cheaper to implement (no separate data warehouse development). This holds merit if you are building a simple cube off of a relatively small system. If you have large sales/orders/items tables and have complex dimensions that require change tracking, even MS will tell you you're probably better off creating a custom data warehouse.