2016-02-18 37 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}'+'%'