从单个视图获取SQL SSAS Cube,在处理多维数据集时找不到属性键?

时间:2019-01-16 16:36:48

标签: sql sql-server ssas etl sql-server-data-tools

我需要从单个表(视图)创建一个简单的多维数据集,而没有维度和事实星形架构类型的东西。

我有一张大桌子(超过100列)。该表是从CSV文件直接导入的,因此我创建了一个包含ID列的视图...

例如...

CREATE VIEW [dbo].[v_dw]
AS
SELECT
newId() Id,
x.[customer]
FROM dwdump as x;
GO

在SSAS设计器中,我从视图中创建DSV,所有int列最终都作为事实数据,而所有varchar列最终都在一个维中。

我尝试处理此多维数据集,并抛出重复的记录,因此我将其设置为忽略此错误,然后抛出

  

处理时找不到属性键

完全错误是...

  

OLAP存储引擎中的错误:处理时找不到属性键:表:[[dbo]。[v_dw]',列:'Id',值:'{D0B94A2D-7024-4634-844F-64768ED4B203 }'。该属性为“ Id”。 OLAP存储引擎中的错误:由于找不到属性键,因此跳过了该记录。

我知道在表中没有定义正确的事实/维度的情况下构建多维数据集与最佳实践相反,但是我需要简单快捷的方法。

我们不能从单个表创建多维数据集并使用任意[Id]键列。

2 个答案:

答案 0 :(得分:0)

这可能是在尺寸之前处理度量的结果,导致尺寸中找不到相应的键。正如您在评论中指出的那样,处理尺寸不会造成任何问题。由于此帖子带有SSIS标签,因此我假设您正在使用Analysis Services处理任务或通过诸如XMLA之类的命令进行处理。在定义多维数据集的处理方式时,请设置要处理的维度,然后处理包含度量的事实表。

答案 1 :(得分:0)

第一个过程更新相关维度。完成此操作后,请对相关的度量值组分别进行处理。多次遇到此问题,并且此修复程序始终有效。