SSAS维度处理无层次结构的重复密钥错误

SSAS维度处理无层次结构的重复密钥错误,ssas,Ssas,我刚刚在ssas中创建了一个项维度,没有添加任何层次结构,已经确认我的表中没有空值,已经确认我的表中没有重复的键,但是我仍然得到重复键错误。我在item key字段上设置了主键。任何帮助都将不胜感激 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_d

我刚刚在ssas中创建了一个项维度,没有添加任何层次结构,已经确认我的表中没有空值,已经确认我的表中没有重复的键,但是我仍然得到重复键错误。我在item key字段上设置了主键。任何帮助都将不胜感激

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,


此问题是由字段值末尾的选项卡引起的。当我将维度属性键修剪属性从“RIGHT”更改为“NONE”时,它解决了这个问题。更好的解决方案是使用以下方法从原始数据源中删除选项卡:

    replace(item_no,char(9),'')
当我注意到在不使用通配符的情况下,运行以下查询时返回的是2行而不是1行时,我能够识别问题:

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

从中可以得到多少行?:
SELECT*from Dim\u Items,其中item\u pref='{从错误消息中键入该值}'
1行,所有item_pref值也是唯一的。当我重新运行process维度时,它有时会为不同的列(如item_no或item_desc_1)提供错误。请验证多维数据集是否指向您认为是的数据库和服务器。我验证了数据源中的服务器和数据库,并实际使用explore检查了表数据选项。我还刷新了数据源视图。不走运。