powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / SSAS Distinct count посредством ROLAP
2 сообщений из 2, страница 1 из 1
SSAS Distinct count посредством ROLAP
    #39885587
DreamTheme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для ускорения расчетов distinct count провел тестирование куба, заменив обычную MOLAP меру с агрегатами на ROLAP, как неоднократно советовали на форумах.

Уже было подумал, что это совсем не то, но нашел упоминание, что нужно в Msmdsrv.ini выставить единицу для свойства
OLAP\ProcessPlan\EnableRolapDistinctCountOnDataSource
. После этого вместо запроса из DBE всего набора элементов, distinct count всеже стал считаться на стороне DBE.

Но возникла новая проблема. Запросы получаются крайне не оптимальные.
Допустим есть факт продаж в метрике Товар-Магазин-МесяцГода. В таблицу факта добавлен отдельный столбец БрендТовара. И мы хотим посчитать число магазинов, продававших товары БрендТовара-МесяцГода.

Но бренд задан как дочерний атрибут измерения СвойстваТовара. Из-за этого движок строит запрос без использования готового столбца БрендТовара. Он к факту джойнит справочник товаров, получая оттуда бренд.
Это выходит крайне дорогой джойн, а если мы, например, еще выведем РегионМагазина, то эти дополнительные 2 джойна напрочь лишают затею по оптимизации всякого смысла. Сolumn stored index уже не используется эффективно, задействуются другие для поиска при джойнах.

Решение пока видится только одно: выносить в отдельные измерения в качестве ключевых атрибутов БрендТовара, РегионМагазина...
НО!!! Это крайне сильно портит интерфейс, если учесть, что атрибутов достаточно много. И производительность прочих MOLAP мер страдает, также невозможно создать иерархии...

Может кто знает решение, как не выносить в отдельные измерения атрибуты, но чтобы они использовались непосредственно в запросе, а не их джойн с самого низа гранулярности факта по измерениям этих атрибутов?!
...
Рейтинг: 0 / 0
SSAS Distinct count посредством ROLAP
    #39892655
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DreamTheme,

Скиньте запрос, которые она генерит. Моё мнение, что каким бы сложным не был запрос, он должен быть оптимальным.

1) выстроена ли у вас правильная схема звезда (то есть материализованная таблица фактов, а не вьюха с джойнами)?
2) Находится ли таблица фактов в колумсторе?
3) Все ли в порядке с ключами и связью измерения на факт ?

Он генерит что-о вроде SELECT .... FROM Fact, Dim1, Dim2 WHERE Fact.Dim1_Id = Dim1.Id AND Fact.Dim2_Id = Dim2.Id

И при правильном проектировании БД это должно летать
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / SSAS Distinct count посредством ROLAP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]