在 SSAS OLAP 多维数据集中添加字符串作为度量

Adding a string as a measure in SSAS OLAP cube

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

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

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

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

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

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

针对您将度量作为字符串的问题,我建议您将答案在 DimAnswers 维度中表示为(相对于单独的事实)。这样你的答案就会有一些其他的主键(可能是身份 ID)。

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

简而言之:

  1. DimQuestion(可选地与以下两个组合)
  2. DimQuestionToForm(可选)
  3. DimForm(可选)
  4. DimAnswers
  5. FactAnswers(即 RecordID、DimQuestionKey、DimAnswersKey、measure1)