powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MDX-запрос. Выгрузить нужные строки
2 сообщений из 2, страница 1 из 1
MDX-запрос. Выгрузить нужные строки
    #39399016
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Пытаюсь получить нужную таблицу. Чтобы было понятно описываю по шагам.


При таком запросе
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT
	[Measures].[Отгрузки шт]
ON 0,	
	NON EMPTY
	[Торговые точки].[Код ТТ].[Код ТТ] *
	[Торговые точки].[Код списка].[Код списка]*
	[Продукция].[SKU].[SKU]
ON 1
FROM (SELECT
	([Время].[Месяц].&[2016-12-01T00:00:00],
	[Торговые точки].[Код ТТ].&[0000001]) ON 0 FROM PROFIT)

получаю такой результат
Код ТТ Код списка SKUОтгрузкиТТ1 КодСписка7SKU110ТТ1 КодСписка7SKU220ТТ1 КодСписка7SKU330ТТ1 КодСписка7SKU440ТТ1 КодСписка7SKU550ТТ1 КодСписка7SKU1260ТТ1 КодСписка7SKU1370
Это отгрузки по ТТ1 по SKU . В ТТ1 привязан код списка. В том списке перечислены Общие SKU , которые надо отгрузить.


В общем, есть поле " Общее SKU ", и есть " SKU ". В одном " Общее SKU " может быть один или два SKU . Теперь нужно выгрузить Общее SKU и SKU , которые прописаны в КодСписка7.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT
	[Measures].[Дата изменения списка]
ON 0,
NON EMPTY		
	[Списки].[Код списка].&[7]*	
	[Списки].[Общее SKU].[Общее SKU]*
        [Продукция].[SKU].[SKU]
ON 1
FROM 	PROFIT


Код списка Общее SKUSKUДата изменения спискаКодСписка7SKU1SKU110.06.2016КодСписка7SKU2SKU210.06.2016КодСписка7SKU3/SKU4SKU310.06.2016КодСписка7SKU3/SKU4SKU410.06.2016КодСписка7SKU5/SKU6SKU510.06.2016КодСписка7SKU5/SKU6SKU610.06.2016КодСписка7SKU7SKU710.06.2016КодСписка7SKU8SKU810.06.2016


Далее нужно выгрузить по ТТ Общее SKU с нулевыми и не с нулевыми отгрузками. Из того списка указать, какие Общее SKU отгружено, а какие нет. SKU , которые не входят в соответствующий список, не выгружаются (в данном случае это SKU12 и SKU13).

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SELECT
	[Measures].[Отгрузки шт]
ON 0,	
	NONEMPTY([Торговые точки].[Код ТТ].[Код ТТ],     [Measures].[Отгрузки шт]) *
	NONEMPTY([Торговые точки].[Код списка].[Код списка],    [Measures].[Отгрузки шт])*
	[Списки].[Код списка].[Код списка]*	
	[Списки].[Общее SKU].[Общее SKU]	
HAVING([Торговые точки].[Код списка].CurrentMember.Name = [Списки].[Код списка].CurrentMember.Name)
ON 1
FROM (SELECT
	([Время].[Месяц].&[2016-12-01T00:00:00],
	[Торговые точки].[Код ТТ].&[0000001])
	ON 0
	FROM
		PROFIT)

получаю такой результат

Код ТТ Код спискаКод списка Общее SKUОтгрузкиТТ1 КодСписка7КодСписка7SKU110ТТ1 КодСписка7КодСписка7SKU220ТТ1 КодСписка7КодСписка7SKU3/SKU470ТТ1 КодСписка7КодСписка7SKU5/SKU650ТТ1 КодСписка7КодСписка7SKU7ТТ1 КодСписка7КодСписка7SKU8
Эта запись типа объединяет две первые таблицы
Код: sql
1.
HAVING([Торговые точки].[Код списка].CurrentMember.Name = [Списки].[Код списка].CurrentMember.Name)



Но надо получить такой результат!
Код ТТ Код спискаКод списка Общее SKUSKUОтгрузкиТТ1 КодСписка7КодСписка7SKU1SKU110ТТ1 КодСписка7КодСписка7SKU2SKU220ТТ1 КодСписка7КодСписка7SKU3/SKU4SKU330ТТ1 КодСписка7КодСписка7SKU3/SKU4SKU440ТТ1 КодСписка7КодСписка7SKU5/SKU6SKU550ТТ1 КодСписка7КодСписка7SKU5/SKU6SKU6ТТ1 КодСписка7КодСписка7SKU7SKU7ТТ1 КодСписка7КодСписка7SKU8SKU8
Потом в запрос добавляю атрибут
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT
	[Measures].[Отгрузки шт]
ON 0,	
	NONEMPTY([Торговые точки].[Код ТТ].[Код ТТ],     [Measures].[Отгрузки шт]) *
	NONEMPTY([Торговые точки].[Код списка].[Код списка],    [Measures].[Отгрузки шт])*
	[Списки].[Код списка].[Код списка]*	
	[Списки].[Общее SKU].[Общее SKU]*
	NONEMPTY([Продукция].[SKU].[SKU],     [Measures].[Отгрузки шт])
HAVING([Торговые точки].[Код списка].CurrentMember.Name = [Списки].[Код списка].CurrentMember.Name)
ON 1
FROM (SELECT
	([Время].[Месяц].&[2016-12-01T00:00:00],
	[Торговые точки].[Код ТТ].&[0000001])
	ON 0
	FROM
		PROFIT)


Получаю такой результат:
Код ТТ Код спискаКод списка Общее SKUSKUОтгрузкиТТ1 КодСписка7КодСписка7SKU1SKU110ТТ1 КодСписка7КодСписка7SKU1SKU2ТТ1 КодСписка7КодСписка7SKU1SKU3ТТ1 КодСписка7КодСписка7SKU1SKU4ТТ1 КодСписка7КодСписка7SKU1SKU5ТТ1 КодСписка7КодСписка7SKU1SKU12ТТ1 КодСписка7КодСписка7SKU1SKU13ТТ1 КодСписка7КодСписка7SKU2SKU1ТТ1 КодСписка7КодСписка7SKU2SKU220ТТ1 КодСписка7КодСписка7SKU2SKU3ТТ1 КодСписка7КодСписка7SKU2SKU4ТТ1 КодСписка7КодСписка7SKU2SKU5ТТ1 КодСписка7КодСписка7SKU2SKU12ТТ1 КодСписка7КодСписка7SKU2SKU13ТТ1 КодСписка7КодСписка7SKU3/SKU4SKU1ТТ1 КодСписка7КодСписка7SKU3/SKU4SKU2ТТ1 КодСписка7КодСписка7SKU3/SKU4SKU330ТТ1 КодСписка7КодСписка7SKU3/SKU4SKU440ТТ1 КодСписка7КодСписка7SKU3/SKU4SKU5ТТ1 КодСписка7КодСписка7SKU3/SKU4SKU12ТТ1 КодСписка7КодСписка7SKU3/SKU4SKU13ТТ1 КодСписка7КодСписка7SKU5/SKU6SKU1ТТ1 КодСписка7КодСписка7SKU5/SKU6SKU2ТТ1 КодСписка7КодСписка7SKU5/SKU6SKU3ТТ1 КодСписка7КодСписка7SKU5/SKU6SKU4ТТ1 КодСписка7КодСписка7SKU5/SKU6SKU550ТТ1 КодСписка7КодСписка7SKU5/SKU6SKU12ТТ1 КодСписка7КодСписка7SKU5/SKU6SKU13ТТ1 КодСписка7КодСписка7SKU7SKU1ТТ1 КодСписка7КодСписка7SKU7SKU2ТТ1 КодСписка7КодСписка7SKU7SKU3ТТ1 КодСписка7КодСписка7SKU7SKU4ТТ1 КодСписка7КодСписка7SKU7SKU5ТТ1 КодСписка7КодСписка7SKU7SKU12ТТ1 КодСписка7КодСписка7SKU7SKU13ТТ1 КодСписка7КодСписка7SKU8SKU1ТТ1 КодСписка7КодСписка7SKU8SKU2ТТ1 КодСписка7КодСписка7SKU8SKU3ТТ1 КодСписка7КодСписка7SKU8SKU4ТТ1 КодСписка7КодСписка7SKU8SKU5ТТ1 КодСписка7КодСписка7SKU8SKU12ТТ1 КодСписка7КодСписка7SKU8SKU13

и не хватает следующих строк
Код ТТ Код спискаКод списка Общее SKUSKUОтгрузкиТТ1 КодСписка7КодСписка7SKU7SKU7ТТ1 КодСписка7КодСписка7SKU8SKU8
Как тут правильно написать запрос, чтобы получить нужный результат? То ли использовать директиву NON EMPTY, то ли надо использовать функцию NONENPTY (где второй аргумент то ли надо как то использовать меру "Дата изменения матрицы", то ли одновременно меры "Отгрузки" и "Дата изменения матрицы"), то ли какую другую функцию использовать. И возможно ли выгрузить нужную таблицу?
...
Рейтинг: 0 / 0
MDX-запрос. Выгрузить нужные строки
    #39400710
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже надо добавлять в измерение Списки атрибут Продукция .
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MDX-запрос. Выгрузить нужные строки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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