2017-08-25 154 views
0

我们有一个SSAS OLAP多维数据集定义为 KeyNotFound一些尺寸 - > IgnoreError和 KeyErrorAction - > ConvertToUnknown不能对一个SSAS OLAP多维数据集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也使用连接(这里没有引用维度),所以似乎总是使用连接。

有关发生了什么的任何想法?我们如何使这个维度按预期工作?

回答

0

哇!意外发现原因。这个特定的维度被用作另一维度的中间维度。在这种情况下,你不能有空值。

相关问题