Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 Ошибка при обработке куба Analysis services 2008R2 standard  [new]
ondorsal
Member

Откуда:
Сообщений: 31
Коллеги, помогите. При обработке куба возникает ошибка: Ошибки модуля хранения OLAP: Не найден ключ атрибута при обработке: таблица: "dbo_IMSFact_forCube", столбец: "PRODUCTID", значение: "80174". Атрибут "Pack Key".
Я проверял в измерении "Продукты" этот ключ есть, в таблице фактов тоже есть. Если исключить этот Pack Key из таблицы фактов-то ошибка сохраняется, но ругается уже на другой PRODUCTID, который тоже есть и в таблице фактов и в измерении.
Что я делаю не так?

К сообщению приложен файл. Размер - 93Kb
21 сен 17, 10:51    [20811276]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при обработке куба Analysis services 2008R2 standard  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 399
ondorsal,

Гм, я бы сделал следующее:
1. Отпроцессил сначала измерения. При процессинге измерения продуктов - посмотрел в процессинг атрибута/иерархии Pack Key, посмотрел запрос, который выполняет SSAS, запу стил запрос в SSMS и проверил на предмет наличия в нем этого Pack Key.
2. Отпроцессил группы мер, там по ошибкам - аналогично извлек запрос, посмотрел на него. Если нужно - запустил в SSMS, нашел указанную строку и проверил что там не так.

Штука в том, что SSAS для измерений, основанных на нескольких таблицах, делает между ними join - и он может быть как left так и inner. В итоге строки которые вроде как есть могут не войти в выборку для атрибута.
21 сен 17, 11:40    [20811570]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при обработке куба Analysis services 2008R2 standard  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2278
Ferdipux,

галку materialize у этих измерений уберите и будет вам счастье
21 сен 17, 11:47    [20811626]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при обработке куба Analysis services 2008R2 standard  [new]
ondorsal
Member

Откуда:
Сообщений: 31
Ferdipux
ondorsal,

Гм, я бы сделал следующее:
1. Отпроцессил сначала измерения. При процессинге измерения продуктов - посмотрел в процессинг атрибута/иерархии Pack Key, посмотрел запрос, который выполняет SSAS, запу стил запрос в SSMS и проверил на предмет наличия в нем этого Pack Key.
2. Отпроцессил группы мер, там по ошибкам - аналогично извлек запрос, посмотрел на него. Если нужно - запустил в SSMS, нашел указанную строку и проверил что там не так.

Штука в том, что SSAS для измерений, основанных на нескольких таблицах, делает между ними join - и он может быть как left так и inner. В итоге строки которые вроде как есть могут не войти в выборку для атрибута.


Спасибо за ответ.
1). Как при процессинге измерения продуктов - посмотреть в процессинг атрибута/иерархии Pack Key, посмотреть запрос, который выполняет SSAS, запустилть запрос в SSMS и проверить на предмет наличия в нем этого Pack Key.
2). Отпроцессил группы мер, там по ошибкам - аналогично извлек запрос, посмотрел на него. Если нужно - запустил в SSMS, нашел указанную строку и проверил что там не так.
Как все это сделать?
21 сен 17, 12:32    [20811826]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при обработке куба Analysis services 2008R2 standard  [new]
ondorsal
Member

Откуда:
Сообщений: 31
WarAnt
Ferdipux,

галку materialize у этих измерений уберите и будет вам счастье


Спасибо, Ferdipux. Где находится эта галка?
21 сен 17, 12:35    [20811846]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при обработке куба Analysis services 2008R2 standard  [new]
ondorsal
Member

Откуда:
Сообщений: 31
ondorsal
WarAnt
Ferdipux,

галку materialize у этих измерений уберите и будет вам счастье


Спасибо, Ferdipux. Где находится эта галка?


Галку нашел, но у меня нет ссылочных связей в измерениях, проблема остается.
21 сен 17, 12:51    [20811926]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при обработке куба Analysis services 2008R2 standard  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 1631
ondorsal
Галку нашел, но у меня нет ссылочных связей в измерениях, проблема остается.


отдельно процессите измерение "препараты" (update тип)
плюсики раскрываетье, в них смотрите SQL-запрос
его выполняете в студии, с нужным ключом
21 сен 17, 13:01    [20811962]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при обработке куба Analysis services 2008R2 standard  [new]
ondorsal
Member

Откуда:
Сообщений: 31
StarikNavy
ondorsal
Галку нашел, но у меня нет ссылочных связей в измерениях, проблема остается.


отдельно процессите измерение "препараты" (update тип)
плюсики раскрываетье, в них смотрите SQL-запрос
его выполняете в студии, с нужным ключом


Проверил, запустил запрос обработки измерения "Препараты" и действительно там нет строки c нужным ID.
В запросе много join таблиц, но все они inner-видать они режут нужные мне строки. Как в при процессинге изменить тип джойнов на left join?
21 сен 17, 14:39    [20812446]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при обработке куба Analysis services 2008R2 standard  [new]
alexdr
Member

Откуда:
Сообщений: 200
ondorsal
Как в при процессинге изменить тип джойнов на left join?

Никак. Подразумевается, что ссылочная целостность контролируется в ETL или как-либо еще на уровне источников, использующихся в datasource view (но это не есть бест прэктис).
21 сен 17, 15:47    [20812810]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при обработке куба Analysis services 2008R2 standard  [new]
alexdr
Member

Откуда:
Сообщений: 200
Теоретически, можно отключить контроль ошибок отсутствия ключа в измерении при процессинге куба, но это уже совсем бэд прэктис.
21 сен 17, 15:50    [20812829]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при обработке куба Analysis services 2008R2 standard  [new]
ondorsal
Member

Откуда:
Сообщений: 31
alexdr
Теоретически, можно отключить контроль ошибок отсутствия ключа в измерении при процессинге куба, но это уже совсем бэд прэктис.


Спасибо. Переделал измерение, построил на оcнове view с нужными джойнами. Теперь все работает.
21 сен 17, 17:12    [20813185]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при обработке куба Analysis services 2008R2 standard  [new]
ondorsal
Member

Откуда:
Сообщений: 31
alexdr
ondorsal
Как в при процессинге изменить тип джойнов на left join?

Никак. Подразумевается, что ссылочная целостность контролируется в ETL или как-либо еще на уровне источников, использующихся в datasource view (но это не есть бест прэктис).


datasource view (но это не есть бест прэктис) Почему плохо использовать представления?
21 сен 17, 17:14    [20813188]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при обработке куба Analysis services 2008R2 standard  [new]
alexdr
Member

Откуда:
Сообщений: 200
ondorsal,

считается, что перед "потреблением" данные должны быть хорошо под(при)готовлены. А прослойка между кубом и DWH в виде вью, которые не делают дополнительной работы - почему нет?
21 сен 17, 17:21    [20813210]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при обработке куба Analysis services 2008R2 standard  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 1631
alexdr
Теоретически, можно отключить контроль ошибок отсутствия ключа в измерении при процессинге куба, но это уже совсем бэд прэктис.

нормальная практика. если допускается что справочники приежают позже.
и тогда не надо лишних джойнов в ДВХ, для проверки ключей
21 сен 17, 17:49    [20813295]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при обработке куба Analysis services 2008R2 standard  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 399
WarAnt
Ferdipux,

галку materialize у этих измерений уберите и будет вам счастье


Это не referenced dimension, как у топикстартера. Это когда в измерении вытаскиваются несколько таблиц из DSV с определенными между ними связями. SSAS конструирует запросы, и логика выбора join - left или inner - понятна не всегда. Как-то делал попытку разобраться, вроде связано со свойством CanBeNull поля в родительской таблице, но это нигде явно не описано.
21 сен 17, 18:01    [20813328]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при обработке куба Analysis services 2008R2 standard  [new]
alexdr
Member

Откуда:
Сообщений: 200
StarikNavy
нормальная практика. если допускается что справочники приежают позже.

Я придерживаюсь иного мнения. Проще не значит лучше. За это часто приходится дорого расплачиваться. А для обработки ситуации с Late Arriving Dimensions (куда же без них?) существуют давно известные и хорошо описанные паттерны. Они и есть - best practice.
21 сен 17, 19:54    [20813561]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при обработке куба Analysis services 2008R2 standard  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 1631
alexdr
За это часто приходится дорого расплачиваться.

если не сложно, можно пример дорогой оплаты?
(без сарказма, действительно интересно)
22 сен 17, 11:06    [20814932]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при обработке куба Analysis services 2008R2 standard  [new]
alexdr
Member

Откуда:
Сообщений: 200
Как вариант, первое что попалось:

If you want to process the database or the cube without correcting the data, you can set the error configuration for the process operation to ignore the error. You should only do this as a temporary workaround when you fix the underlying data. Otherwise, you may receive unexpected results from your multidimensional expressions (MDX) queries.

Неожиданные результаты ведут к тому, что пользователи перестают доверять данным из OLAP, в результате весь проект, в который вложено столько сил, умений и проч. запросто может быть зафейлен, т. к. не востребован пользователями потому что там - ложь.

Второе. Совершенно не обязательно что единственным потребителем данных является MS OLAP куб. Следовательно, такой "грязный хак" должен быть применен во всех потребителях данных, что часто соблюсти очень сложно, особенно когда за разработку и поддержку BI-решения отвечает более одного (поколения) специалистов.
Как-то так...
22 сен 17, 12:12    [20815296]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить