请原谅我提出的问题 - 我对OLAP& amp;立方体。让我解释一下我的情况......

我想建立一个存储调查问卷结果的数据库,每个调查问卷可能会有几十个问题。收集了几千份完整的问卷后,我想分析一下结果,这听起来像是OLAP类型的好东西(我知之甚少)。我需要能够对“所有拥有狗的20-30岁男性受访者”进行查询。 - 即将答案合并到“你多大了”,“你是否拥有一只狗”等等。

我还希望能够存储下个月调查的结果,以及之后的月份等,并运行显示本月与上一年等的查询等。到目前为止,我认为很好。

这是我的问题的核心:本月我的调查问卷可能有关于性别,年龄和问题的问题。狗的所有权,下个月的调查问卷可能包括一个关于(比如)眼睛颜色的问题。它可能(或可能不会)也放弃一些问题。这在OLAP世界中是否可行,或者您是否需要知道所有“维度”? (如果我正在使用正确的术语)在设计立方体时会提前使用吗?

另外,如果我正在运行几个不同但重叠的问题的不同调查,我可以将它们全部存储在同一个多维数据集中并跨调查运行查询吗?每项调查都可能有几十个问题,其中几十个与其他调查重叠。 OLAP系统是否适合这类事情?我只是不知道它们有多严格,以及它们是否真的适合这种用法。

非常感谢任何帮助。

PS。在有人建议之前,我刚刚购买了Kimball的数据仓库工具包,但还没有机会阅读它。 (我怀疑它可能无法直接回答这个问题)。

有帮助吗?

解决方案

有一份白皮书此处其中有一节涉及建模调查数据。这可能是你正在寻找的那种东西。

其他提示

我首先要说的是我也是OLAP的新手,但我想我已经掌握了你想要实现的目标。

实际上,您的问题是您的一个维度,该问题的答案是事实表的一部分,即事实表具有答案,并且具有与年龄,性别,地点(可能),问题相关的维度。它可能会感觉有点回到前面,但这是我与OLAP达成协议的事情。

您可能还需要与问题相关的其他维度,将其分组到问卷中,但这可能只是问题维度本身的值,即问题{QuestionnaireID = 1,QuestionNumber = 4,QuestionText =“您是否拥有一只狗?" }。

不确定这是否有帮助,但希望如果没别的话会给你一些想法。

此处的另一位OLAP新手......

1)我只有使用Mondrian(Pentaho)创建OLAP多维数据集的经验,它允许您修改多维数据集的模式,这只是一个XML文件,并重建它们(或者在Pentaho中说,发布)。因此,对于该平台,无论如何都没有提前知道所有维度的要求

2)我同意Lazurus关于创建问题维度的建议。并非要求您的每个“事实”都是如此。具有在所有维度中存在的值,因此如果您要查看“问题n”的维度,那么我认为它应该仅为您提供问卷的数据,其中“问题n”和“问题n”。是一个相关的维度。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top