我刚刚在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,
答案 0 :(得分:0)
此问题是由字段值末尾的TAB引起的。当我从" RIGHT"更改维度属性键修剪属性时到" NONE"它修复了这个问题。更好的解决方案是使用以下内容从原始数据源中删除选项卡:
replace(item_no,char(9),'')
当我注意到在不使用通配符时运行以下查询返回2行而不是1时,我能够确定问题:
SELECT * FROM Dim_Items WHERE item_pref like'{value from the error message}'+'%'