Summary
In this chapter, we've discussed how to deal with some common problems we might face when designing our Analysis Services dimensions:
Grouping and banding members and numeric values
Slowly Changing Dimensions
Junk Dimensions
Ragged hierarchies
We've found that we can create new attributes on a dimension to group members and create bandings for numeric values using some simple SQL. This can have a positive impact on the user's experience. We've also found that with a bit of thought, the three different types of SCD can all be modeled satisfactorily. With ragged hierarchies we've learnt that the parent/child hierarchies are very flexible but have several problems, especially with query performance, and should be avoided where possible. We have also seen that using a regular user hierarchy and the HideMemberIf
property is a better option, although not without its own limitations.