无法使 ConvertToUnknown 维度在 SSAS OLAP 多维数据集上工作

Posted

技术标签:

【中文标题】无法使 ConvertToUnknown 维度在 SSAS OLAP 多维数据集上工作【英文标题】:Cannot make a ConvertToUnknown dimension work on an SSAS OLAP cube 【发布时间】:2017-08-25 14:37:47 【问题描述】:

我们有一个 SSAS OLAP 多维数据集,其中一些维度定义为 KeyNotFound -> IgnoreError 和 KeyErrorAction -> ConvertToUnknown

其中一个维度(并且只有一个维度)无法按预期工作,如果在维度上找不到事实表值,则不会考虑这些值。

换句话说,这个特定维度的行为就好像它被定义为 KeyErrorAction->DiscardRecord

查看构建过程的详细日志很明显,行为必须是这个,因为选择看起来像(简化)

选择fields_from_fact_table,dim_key 来自 fact_table,dim_table 其中 fact_table.value_key=dim_table.dim_key

像这样的连接只返回 dim_table 上存在的记录,这就是我们看不到不存在值的原因。

但我们看不出发生这种情况的任何原因。为什么是这个特定维度而不是另一个维度?使用定义为 DiscardRecord 的维度的连接是合乎逻辑的(是的,可以在我们的多维数据集上选择一些维度),但使用定义为 ConvertToUnknown 的维度只会破坏声明本身。

我们可以想象的唯一原因是这个特定维度被用作另一个“引用”维度的中间维度(不确定英文名称的正确性,当 fact_table 链接到一个维度而这个链接到一个维度时就是这种情况)第二个)。

如果是这种情况,当您选择 ConvertToUnknown 方法时,SSAS 应发出错误警告。

具有不同维度的不同 fact_table 也使用连接(此处没有引用维度),因此似乎总是使用连接。

知道发生了什么吗?我们如何才能使这个维度按预期工作?

【问题讨论】:

【参考方案1】:

哇!偶然发现了原因。此特定维度用作另一个维度的中间维度。在这种情况下,您不能有空值。

【讨论】:

以上是关于无法使 ConvertToUnknown 维度在 SSAS OLAP 多维数据集上工作的主要内容,如果未能解决你的问题,请参考以下文章

从 .xml 文件中获取原始维度

如何使日期维度与事实和另一个维度通用

当未选择强制维度时,我们如何使后处理器测量不显示数据?

如何使这个简单的关系模型适应维度模型?

降维中的特征选择

无法在 OBIEE 12c 中创建具有不一致维度的多学科领域分析