We've spent the majority of this book describing the use of MDX without very much discussion on how a client program issues MDX and retrieves results from a query. As with SQL, we can consider data structures and analyses in the abstract, but to bring a system to a user, we do need some code. This chapter will briefly introduce programming issues related to the use of MDX. Our point is not to construct a full-fledged client browser, but rather to expose you to bread-and-butter issues that every type of client application may need to deal with.
Since the first edition of this book, support for MDX has broadened significantly beyond Microsoft's OLE DB for OLAP and ADOMD. Most naturally, it has extended into XML for Analysis, the successor to OLE DB for OLAP based on the Web services model. Note OLE DB for OLAP and XML for Analysis are distinct standards with differing overseers. As well, because MDX was first proposed as part of OLE DB for OLAP, the MDX specification resides within the OLE DB for OLAP documentation. You will not find any documentation on MDX within the XMLA for Analysis documentation.
With the advent of Microsoft's .NET, ADOMD has spawned ADOMD.NET, a Microsoft .NET class library for working with XML for Analysis within the .NET environment.
More exciting is that a handful of vendors have added MDX support to their own proprietary and open APIs and integrated the language into the core of their own multidimensional database engines: ...