【发布时间】:2020-02-25 04:38:37
【问题描述】:
我正在尝试处理一个多维数据集,但由于属性键重复而失败。奇怪的是,当从进程多维数据集对话框运行原始 sql 时,我在查询中看不到重复项。
处理多维数据集时的确切错误是:
Errors in the OLAP storage engine: A duplicate attribute key has been found when processing: Table: 'dbo_vw_DimDRG', Column: 'DRGCode', Value: '743'. The attribute is 'DRG Code'.
从我的数据库中的进程多维数据集对话框运行生成的 sql 时,我没有得到任何重复。这条sql如下:
/*raw sql query used in SSAS dimension processing*/
SELECT DISTINCT
[dbo_vw_DimDRG].[DRGCode] AS [dbo_vw_DimDRGDRGCode0_0]
FROM [dbo].[vw_DimDRG] AS [dbo_vw_DimDRG]
--WHERE DRGCode = '743' /*I added this to filter results*/
值得注意的是数据是VARCHAR。还值得注意的是,数据中有多个“743”值,但这是故意的,并且多维数据集查询使用的是 DISTINCT,所以这不应该是一个问题。这个列不是我的主键,主键列处理就好了。
我尝试过的:
- 使用 Len() 确保所有 '743' 值都相同(可能有尾随空格?)
- 确认数据中不存在 NULL 和 '' 值。
- 导入了其他客户端,它们使用完全相同的关系结构(并具有多个 '743' 值)并且工作正常。
你能想到我在这里可能遗漏的任何东西吗?我觉得这与 VARCHAR 数据不是真正的“唯一”有关,但我对 SSAS 了解不足,无法确定问题。
【问题讨论】:
-
已经回答了一个类似的问题。访问:stackoverflow.com/questions/60419114/…
标签: sql-server ssas cube