2

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.

user1322614
  • 587
  • 1
  • 4
  • 11

1 Answers1

1

This is what as known as the Entity-Attribute-Value data model, also known as the "Everyone invents it, uses it once, then never uses it again" data model..

There are a myriad of reasons why it shouldn't be used, and a few edge cases where it should be used. However, assuming that you can't change your model to a better one, my answer to this SO question should suffice for your case.

Community
  • 1
  • 1
N West
  • 6,768
  • 25
  • 40