2016-02-18 38 views
2

我剛剛在ssas中創建了一個項目維度,沒有添加任何層次結構,確認我的表中沒有空值,已經確認我的表中沒有重複鍵,但我仍然得到重複的關鍵錯誤。我在項目鍵字段上設置了主鍵。任何幫助將不勝感激。SSAS尺寸處理重複鍵錯誤沒有水平

CREATE TABLE [dbo].[Dim_Items](
[item_key] [int] IDENTITY(1,1) NOT NULL, 
[item_no] [varchar](30) NOT NULL, 
[item_pref] [varchar](40) NOT NULL, 
[item_div] [varchar](20) NOT NULL, 
[item_cus] [varchar](50) NOT NULL, 
[item_desc_1] [varchar](30) NOT NULL, 
[item_desc_2] [varchar](30) NOT NULL, 
[cus_part_no] [varchar](75) NOT NULL, 
[item_loc] [char](3) NOT NULL, 
[stk_uom] [char](2) NOT NULL, 
[pur_uom] [char](2) NOT NULL, 
[pur_to_stk_ratio] [decimal](11, 6) NOT NULL, 
[mat_cost_type] [char](3) NOT NULL, 
[mat_cost_desc] [char](15) NOT NULL, 
[inv_category] [varchar](13) NOT NULL, 
[stocked] [char](1) NOT NULL, 
[controlled] [char](1) NOT NULL, 
[pur_or_mfg] [varchar](20) NOT NULL, 
[comm_cd] [char](4) NOT NULL, 
[comm_desc] [char](30) NOT NULL, 
[byr_plnr_cd] [int] NOT NULL, 
[byr_plnr_name] [char](64) NOT NULL, 
[min_ord_qty] [decimal](13, 4) NOT NULL, 
[item_saftey_stk] [decimal](13, 4) NOT NULL, 
[mrp_ord_up_to] [decimal](13, 4) NOT NULL, 
[lead_time] [decimal](4, 1) NOT NULL, 
[last_MPN] [varchar](50) NOT NULL, 
[last_mfg] [varchar](40) NOT NULL, 
[aml_list] [varchar](1100) NOT NULL, 
[where_used] [varchar](6000) NOT NULL, 

Relationships

Error

+0

有多少行,你從這個獲取?:'SELECT * FROM Dim_Items WHERE item_pref =「{從錯誤信息在價值型}」' –

+0

1排,所有的item_pref值是獨一無二的,以及。 –

+0

當我重新運行過程維度時,它有時會給出像item_no或item_desc_1這樣的不同列的錯誤。 –

回答

0

此問題已通過TAB在字段值的末尾引起的。當我將尺寸屬性鍵修剪屬性從「RIGHT」更改爲「NONE」時,它解決了問題。更好的解決辦法是使用類似從原始數據源中刪除標籤:

replace(item_no,char(9),'') 

我能夠識別問題時,我注意到運行不使用通配符時,下面的查詢返回兩行,而不是1:

SELECT * FROM Dim_Items WHERE item_pref like'{value from the error message}'+'%'