在MDX查询中连接事实表

时间:2009-02-10 16:52:32

标签: sql-server-2005 olap mdx

我正在使用VS 2005构建Anaysis Services项目。目标是分析广告活动。

我有一个包含2个事实表的单个多维数据集

factCampaign:其中包含受访者对广告活动的看法的详细信息 factDemographics:其中包含受访者的人口统计信息

这些事实表有一个共同的维度dimRespodent,它指的是受访的实际人

我还有其他两个维度(我已经离开了非相关维度)

dimQuestion:其中包含所提问题的列表 dimAnswer:包含每个问题的可能答案列表

dimQuestion和dimAnswer链接到factDemogrpahics而不是factCampaign

我希望能够运行查询以返回人们对广告系列的看法(来自factCampaign)但使用人口统计标准(使用dimQuestion和dimAnswer)

例如,18-25岁的男性中有多少人召回了特定的活动

我是OLAP和Analysis Services(2005)的新手,所以如果我的要求太基础,请原谅。

我尝试过以下选项

  1. 使用公共的RespondentKey将数据源视图中的factTable链接起来。查询运行并返回结果,但无论选择的人口统计标准如何,都会返回相同的结果,即它被忽略。
  2. 从factDemographics创建维度。我试图将DimAnswer连接到多维数据集结构的维度使用选项卡中的factCampaign,但没有成功。当我尝试部署它时,项目只是停止,或者我得到以下错误(注意启用的属性层次结构设置为true)
  3. 元数据管理器中的错误。 “Fact Demographics”度量值维度的“Answer Key”中间粒度属性未启用属性层次结构。

    我很感激任何人都能提供的任何帮助。如果您需要更多信息,请告诉我,如果这是一个基本问题,请再次道歉

2 个答案:

答案 0 :(得分:1)

您可能需要的是多对多关系。有一份白皮书here,其中介绍了m2m关系的一些场景,包括一个专门针对调查和问卷调查的场景。

答案 1 :(得分:1)

对于任何有兴趣的人来说,解决方案是改变dimRespondent以包含问题和答案。在Cube设计的Dimension Usage选项卡中,将dimRespondent设置为与两个事实表都有Regular关系。