powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Оптимизация MDX запроса
11 сообщений из 11, страница 1 из 1
Оптимизация MDX запроса
    #39434950
Oleksandr Nevsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите оптимизировать запрос. Выдает ошибку "Выдано исключение типа "System.OutOfMemoryException"."
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
WITH


member[Measures].[Client] as [Дистрибьюторы].[Клиент].CurrentMember.Properties("Name")
member[Measures].[Distributor] as [Дистрибьюторы].[Дистрибьютор].CurrentMember.Properties("Name")
member[Measures].[Region] as [Дистрибьюторы].[Регион].CurrentMember.Properties("Name")
member[Measures].[adress] as [Дистрибьюторы].[ТТ].CurrentMember.Properties("Name")
member[Measures].[City] as [Дистрибьюторы].[Город].CurrentMember.Properties("Name")
member[Measures].[Brendline] as [Ценности].[БрендЛайн].CurrentMember.Properties("Name")


select
NON EMPTY
{
[Measures].[City],
[Measures].[adress],
[Measures].[Distributor],
[Measures].[Region],
[Measures].[Client],
[Measures].[Brendline],
[Measures].[АКБПланТТ],
[Measures].[ФактСКУТТ]

}
ON columns,
NON EMPTY

{[Дистрибьюторы].[Город].[Город]}*
{[Дистрибьюторы].[ТТ].[ТТ]}*
{[Дистрибьюторы].[Дистрибьютор].[Дистрибьютор]}*
{[Дистрибьюторы].[Регион].[Регион]}*
{[Дистрибьюторы].[Клиент].[Клиент]}*
{[Ценности].[БрендЛайн].[БрендЛайн]}

                                              
on rows
   from[model]
WHERE([Календарь].[Год - Месяц - День].[Год].&[2017].&[мар-2017], [ТипЦенностей].[Код тип].&[-777])




Если Без {[Ценности].[БрендЛайн].[БрендЛайн]} то все норм.

Я понимаю что результат запроса очень велик. но как можно выйти из ситуации?
...
Рейтинг: 0 / 0
Оптимизация MDX запроса
    #39435911
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleksandr Nevsk,


System.OutOfMemoryException выдает Mamagement Studio, а не SSAS.

Куда вам столько данных?

Есть функции HEAD/TAIL в MDX, с их помощью можно ограничить число строк. Но если там декартова на 10 миллиардов, то непонятно, что вы хотите получить.
...
Рейтинг: 0 / 0
Оптимизация MDX запроса
    #39435948
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin,
декартово-то точно, только на одном измерении не срабатывает автоэкзист (похоже кривые связи между атрибутами).

Oleksandr Nevsk,
и непонятно зачем одни и те же данные в качестве членов измерения и мер.
...
Рейтинг: 0 / 0
Оптимизация MDX запроса
    #39435987
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShIgor,

Попробуйте такой финт.

NONEMPTY([Дистрибьюторы].[Город].[Город], <ваши меры>)*
NONEMPTY([Дистрибьюторы].[ТТ].[ТТ], <ваши меры>)*
NONEMPTY([Дистрибьюторы].[Дистрибьютор].[Дистрибьютор], <ваши меры>)*
NONEMPTY([Дистрибьюторы].[Регион].[Регион], <ваши меры>)*
NONEMPTY([Дистрибьюторы].[Клиент].[Клиент], <ваши меры>)*
NONEMPTY([Ценности].[БрендЛайн].[БрендЛайн], <ваши меры>)

Может быть не на всех конструкциях. Надо найти, где обрезать пустые на раннем этапе, чтобы срезать полное декартово как можно ранее.
...
Рейтинг: 0 / 0
Оптимизация MDX запроса
    #39436162
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin,

и не <ваши меры> а конкретно План или Факт. остальные вообще безболезненно можно выкинуть из запроса
...
Рейтинг: 0 / 0
Оптимизация MDX запроса
    #39436468
Oleksandr Nevsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автори не <ваши меры> а конкретно План или Факт. остальные вообще безболезненно можно выкинуть из запроса
Пробывал, говорит что такое нельзя использовать на вычисляемом значении
ShIgor,
...
Рейтинг: 0 / 0
Оптимизация MDX запроса
    #39436548
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleksandr Nevsk,

что конкретно? план/факт или вычисляемых членов в запросе?

сколько у Вас членов в измерении Дистрибьютор на самом нижнем уровне (подозреваю Клиент)? Покажите их связи.
сколько членов в измерении [Ценности].[БрендЛайн]?

пересмотрел еще раз рекомендацию, я бы сделал чуть иначе.
...
Рейтинг: 0 / 0
Оптимизация MDX запроса
    #39436580
Oleksandr Nevsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShIgor,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
WITH


member[Measures].[Client] as [Дистрибьюторы].[Клиент].CurrentMember.Properties("Name"), non_empty_behavior={[ФактСКУТТ]}
member[Measures].[Distributor] as [Дистрибьюторы].[Дистрибьютор].CurrentMember.Properties("Name"), non_empty_behavior={[ФактСКУТТ]}
member[Measures].[Region] as [Дистрибьюторы].[Регион].CurrentMember.Properties("Name"), non_empty_behavior={[ФактСКУТТ]}
member[Measures].[adress] as [Дистрибьюторы].[ТТ].CurrentMember.Properties("Name"), non_empty_behavior={[ФактСКУТТ]}
member[Measures].[City] as [Дистрибьюторы].[Город].CurrentMember.Properties("Name"), non_empty_behavior={[ФактСКУТТ]}
member[Measures].[Brendline] as [Ценности].[БрендЛайн].CurrentMember.Properties("Name"), non_empty_behavior={[ФактСКУТТ]}


select
NON EMPTY
{
[Measures].[City],
[Measures].[adress],
[Measures].[Distributor],
[Measures].[Region],
[Measures].[Client],
[Measures].[Brendline],
[Measures].[АКБПланТТ],
[Measures].[ФактСКУТТ]

}
ON columns,
NON EMPTY

{[Дистрибьюторы].[Город].[Город]}*
{[Дистрибьюторы].[ТТ].[ТТ]}*
{[Дистрибьюторы].[Дистрибьютор].[Дистрибьютор]}*
{[Дистрибьюторы].[Регион].[Регион]}*
{[Дистрибьюторы].[Клиент].[Клиент]}
--{[Ценности].[БрендЛайн].[БрендЛайн]}

                                              
on rows
   from[model]
WHERE([Календарь].[Год - Месяц - День].[Год].&[2017].&[мар-2017], [ТипЦенностей].[Код тип].&[-777])


При таком запросе такая ошибка - "Свойство non_empty_behavior не может содержать вычисляемые элементы."

Код: sql
1.
2.
[Measures].[АКБПланТТ],
[Measures].[ФактСКУТТ]


Вот тут много значений "NULL" как избавиться от них? Может поможет
...
Рейтинг: 0 / 0
Оптимизация MDX запроса
    #39436597
Oleksandr Nevsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShIgor,

авторсколько у Вас членов в измерении Дистрибьютор на самом нижнем уровне (подозреваю Клиент)? Покажите их связи.

[Дистрибьюторы].[Дистрибьютор].&[ABC]
...
Рейтинг: 0 / 0
Оптимизация MDX запроса
    #39436607
Oleksandr Nevsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShIgor,
авторчто конкретно? план/факт или вычисляемых членов в запросе?
То и то
...
Рейтинг: 0 / 0
Оптимизация MDX запроса
    #39436811
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleksandr Nevskавтори не <ваши меры> а конкретно План или Факт. остальные вообще безболезненно можно выкинуть из запроса
Пробывал, говорит что такое нельзя использовать на вычисляемом значении
ShIgor,

Поставьте туда то, что определяет пустоту вычисляемых значений
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Оптимизация MDX запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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