Ключ атрибута ssas не может быть найден, даже если он существует и не является дубликатом
Я пытался перестроить свой куб после внесения на днях некоторых изменений в имена таблиц / столбцов в таблицах фактов и измерений.
Действие куба процесса продолжало возвращать следующее сообщение об ошибке:
Ключ атрибута не может быть найден при обработке: Таблица: "MyFactTableName", Столбец: "MyDimensionKey", Значение: "SomeValue". Атрибут "MyDimensionKey".
Другие ответы на аналогичные вопросы относились к атрибутам с дублирующимися значениями, а также к случаям, когда значение атрибута было нулевым или отсутствовало в таблице измерений или фактов.
Пример связанных постов:
В моем случае не было повторяющихся значений, и значение атрибута не отсутствовало ни в таблице фактов, ни в измерениях.
К счастью, информация в этом посте решила мою проблему.
Было предложено обработать затронутое измерение самостоятельно, а затем обработать затронутую группу мер.
Любая идея, почему это происходит, как я мог воспроизвести это? Я хотел бы знать, чтобы я мог избежать этого в следующий раз или чтобы он не появлялся снова в неподходящее время при развертывании обновления в производственной среде.
Заранее спасибо за помощь.
РЕДАКТИРОВАТЬ: я использую SSAS-2008, и произошла ошибка при попытке обработать куб из BIDS-2008.
5 ответов
Это происходит потому, что ваша группа мер обрабатывается до связанных измерений. SSAS встречает внешний ключ, который используется для связи с измерением куба, но ключ не известен самому измерению.
Основная причина этой ошибки: в таблице фактов присутствует какой-то ключ, который, в свою очередь, отсутствует в таблице измерений (в идеале, что не должно быть так). Попробуйте выполнить следующие действия:
Обработайте ваши измерения перед обработкой групп мер
Если значение SomeValue равно 0, попробуйте добавить строку по умолчанию (0-й) в таблицу измерений, а в таблицу фактов - ISNULL(MyDimensionKey,0).
Если выше 2 решения не работают, попробуйте это: a. Щелкните правой кнопкой мыши по вашей кубической базе данных, перейдите к пункту "Обработка" >> "Изменить настройки" b. Перейдите на вкладку "Ошибки ключа измерения" c. Установите флажок "Использовать пользовательскую конфигурацию ошибок" d. Проверьте переключатель "Игнорировать количество ошибок". Для "Ключ не найден" выберите "Игнорировать ошибку". Аналогично для "Нулевой ключ не разрешен" также выберите "Игнорировать ошибку" e. Нажмите ОК и попробуйте обработать свой куб
У меня была проблема с похожей ошибкой, причина в том, что я изменил имя таблицы на представление с тем же именем, но DSV или измерения не смогли автоматически откорректировать это изменение.
Поэтому мне пришлось вручную обновлять поля за каждым атрибутом измерений.
Это можно сделать в свойствах каждого атрибута измерения: Source>>KeyColumns>>"Attribename">>Source>>TableID, columnID
Что мне встречается, так это то, что в моей базовой БД есть две записи: "ABC" и "abc", условие Distinct делает их 1 ("ABC"), поскольку мой sql-сервер не чувствителен к регистру, но служба SSAS в моем случае учитывается регистр, поэтому значение атрибута "abc" не может найти его ключ при обработке куба. Е.И.В.
Проверьте это, давайте начнем с крошечного размера
Это было мое решение: