Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Оптимизация MDX / 3 сообщений из 3, страница 1 из 1
27.05.2019, 09:49
    #39818610
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация MDX
Здравствуйте!

Есть MDX-запрос
Код: 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.
WITH
MEMBER [Measures].[Поставки план по ТТ] AS
	SUM(					
			FILTER(
					[SKU].[SKU].[SKU],
					([Торговые точки].[Код ТТ].CurrentMember, [Measures].[Поставки SKU план])>0
				),
			[Measures].[Поставки SKU план])

SELECT
	{[Measures].[Реализация кг]
	,[Measures].[Поставки SKU план]
	,[Measures].[Поставки план по ТТ]
	} ON 0,
NON EMPTY
	[Торговые точки].[Код ТТ].&[00001грд]*
	[SKU].[SKU].[SKU]
//HAVING
//	[Measures].[Поставки план]>0 
ON 1
FROM
	PROFIT
WHERE
	([Время].[Месяц].&[2019-05-01T00:00:00],
	[Города].[Город].&[28],
	[SKU].[ТОП-5 SKU].&[True])


Выдает такой нужный результат:
Код ТТSKUРеализация кг Поставки SKU план Поставки план по ТТ000001грд SKU11.64.031.0000001грд SKU2(null)9.031.0000001грд SKU3(null)9.031.0000001грд SKU4(null)9.031.0000001грд SKU5(null)(null)31.0
То есть выгружаются только TOP-5 SKU, у кого есть план по ТТ+SKU и у кого нету, а также отгружены и не отгружены. Показать план по ТТ.
Время выполнения - 1 секунда.

Если вместо
Код: sql
1.
[Торговые точки].[Код ТТ].&[00001грд]*


написать так
Код: sql
1.
[Торговые точки].[Код ТТ].[Код ТТ]*


то есть выгружать по [Города].[Город].&[28] , то выгружает 3 мин 19 сек.

Нужно выгружать по всем городам, и еще будут присутствовать другие обычные и вычисляемые меры, а также атрибуты.

1. Скажите, как можно оптимизировать MDX-запрос? Возможно тут надо по другому меру написать.

2. Заметил, когда условие из WHERE переносишь в субкуб, то дольше выгружается. Должно же быть наоборот. Почему так?
...
Рейтинг: 0 / 0
27.05.2019, 12:55
    #39818740
StarikNavy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация MDX
ferzmikkДолжно же быть наоборот. Почему так?
не должно
это не SQL условие ограничения
тут контекст запроса определяется

про (1) не подскажу
...
Рейтинг: 0 / 0
27.05.2019, 16:00
    #39818858
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация MDX
ferzmikk1. Скажите, как можно оптимизировать MDX-запрос? Возможно тут надо по другому меру написать.Удалось написать.

Вместо этого
Код: sql
1.
2.
3.
4.
5.
6.
7.
MEMBER [Measures].[Поставки план по ТТ] AS
	SUM(					
			FILTER(
					[SKU].[SKU].[SKU],
					([Торговые точки].[Код ТТ].CurrentMember, [Measures].[Поставки SKU план])>0
				),
			[Measures].[Поставки SKU план])


написал так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
MEMBER [Measures].[Поставки план по ТТ] AS
	SUM(	
		[SKU].[SKU].[SKU].Members,				
		IIF(
			([Торговые точки].[Код ТТ].CurrentMember, [Measures].[Поставки SKU план])>0,
			[Measures].[Поставки SKU план],
			Null
			)
		)


По всем городам - 24 секунды.

HAVING не нужно было комментировать.

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


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