1

我有一个表格,取决于中心可以有不同的问题。这些问题的答案在事务系统中保存为字符串 (nvarchar)。有些问题的答案需要进行分析,并且需要成为计算的一部分,而其他问题只是用于收集信息,因此不会被测量。我以前没有遇到过这样的情况,所以我很困惑如何处理它。

以下是我从设计角度思考的问题

  1. 中心维度(与 Answers Fact 相关)
  2. 表单维度(与 Answers Fact 和 FormToQuestion Bridge 表相关)
  3. 问题维度(与 Answers Fact 和 FormToQuestion Bridge 表相关)
  4. FormToQuestion 桥表
  5. 答案事实表

如果有人能从设计和立方体计算的角度指导我,我将不胜感激。如果需要更多细节,请告诉我。

4

1 回答 1

1

从您提供的信息来看,就表单/问题维度而言,您似乎正在考虑在OLTP信息系统和雪花模式中找到一种更规范化的方法。

(可选)我会建议一种更加非规范化的方法,将您的表单和问题组合成一个“更广泛”的维度,在OLAP解决方案中更常见。

将您的度量问题作为字符串解决,我建议您的答案在 DimAnswers 维度内表示为(而不是单独的事实)。这样,您的答案将具有其他一些主键(可能是身份 ID)。

然后,您的 Fact 将映射DimQuestionDimAnswers维度,提供在FactAnswers中选择的答案的度量。

简而言之:

  1. DimQuestion(可选结合以下两个)
  2. DimQuestionToForm(可选)
  3. DimForm(可选)
  4. 暗淡答案
  5. FactAnswers(即 RecordID、DimQuestionKey、DimAnswersKey、measure1)
于 2015-05-20T17:54:54.543 回答