In a SSAS cube, how do I create measures that are aggregated as LastChild for a non-time dimension?
The source data has many versions of the same business record on any given day. The time dimension has a granularity of DATE, not seconds & milliseconds.
The fact records have a timestamp and an incremental (identity) primary key. In effect, what I want is to calculate a measure as being the last value for all edits on a given date.
The options I've seen so far fall into one of two categories:
- Produce a time dimension that goes down to seconds. This would result in a very large and inefficient time dimension.
OR
- Hide the measures and replace them with calculated measures that look up the last value for any given date based on the primary key. This is cumbersome and less efficient.
Is there a sweet spot or alternative technique to solve this problem?
The natural hierarchy of the data is:
- Business Key
- Record Timestamp (links to TIME dimension)
- Surrogate Key