I'm unsure what the rest of the dwh community calls this, but in the Data Warehouse Toolkit it's called a "multivalued dimension" (see page 262).

The example they give is: you want to model patient records, but any given patient may have one or more diagnosese -- that is, a 1:many relationship between the patient records and diagnosis dimension. Easy enough to setup, until you realize that if you roll up to the 'All diagnosese' level of the diagnosis dimension hierarchy, you're counting each patient's record one time for each of their diagnosese.

The DWT method of solving this is a bridge table that contains an abstract concept of 'diagnosis group', where the associated table would have a set of records with a compound primary key: the diagnosis group key, and the diagnosis key. The fact table's diagnosis foreign key would be a group key rather than a diagnosis key.

What methods have people used to resolve this type of problem using Mondrian?

I need to model a situation that is about like this:

policy:group -> 1:many
triggerolicy -> 1:many
computer:group -> 1:many
user:group -> 1:many

The fact table has knowledge only of trigger (not policy), computer, and user.

One idea I came up with this morning was to try creating two cubes, one for events, one for groups, then a virtual cube. This seemed like a great idea until I realized that any dimension in groups not in events would be fairly useless.

I'm going to try this anyway to see what happens. I believe that as long as all dimensions I create in the groups cube also belong to the events cube I'll be fine. However, if I could get an answer to my previous question about the bridge tables implemented in mondrian, I would appreciate it.