We have a table called user_preferences. They are name value pairs and each user can custom define any number of preferences. What we want in our data warehouse/data mart is to provide reporting on these preferences as if they are dimensions. For example, a user preference can be gender, location, etc. And we want to find the number of actions performed by male users for a specific time frame.
How do people normally do this? Without exploding their data mart.