In light of reading about SSAS internals in Microsoft SQL Server 2008 Analysis Services Unleashed, I'm curious if it's possible to inspect the contents of the SSAS data cache in detail. Theoretically there could exist a tool that you could point at a SSAS database and it would give you data at least at this level of detail:
(Years: All, Location: WA, Measures: StoreIncome): Slice with 200 total rows. Total cache hits: 3.
(Years: [1996, 1997], Measures: StoreRevenue): Slice with 2 rows total rows. TOtal cache hits: 7.
(This is a hypothetical example of a detailed view of measure group cache entries. Entries for other types of cache might look different.)
Is anything like this possible?
So far the best I can come up with is a second-best DMX query, which I'll explain in the rest of this question:
If you run the DMX query
select * from $system.Discover_Object_Memory_Usage
on SSAS 2008 and look for rows containing the word "cache", you'll find the cache system broken down to some degree. For example, it appears that each subcube (or perhaps each slice) entry in a cube's measure group cache may be individually represented as a separate row in the table returned by this query. (Each row's OBJECT_PARENT_PATH points to the corresponding cube.) Dimension data seems to be cached at DimensionPropertyCache objects parented at the individual-dimension level. There are other cache entries as well, e.g. for the various formula caches.
For each of these rows you can learn a few properties, e.g. memory usage and creation time.
But for info on what particular slices/subcubes/etc. are represented by these particular rows, you'd have to look elsewhere.