Я пытаюсь обработать куб, но он не работает из-за дублирования ключей атрибута. Что странно, хотя при запуске необработанного 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, чтобы определить проблему.