2017-08-25 159 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

哇!意外發現原因。這個特定的維度被用作另一維度的中間維度。在這種情況下,你不能有空值。

相關問題