powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MS AS 2k SP3a NECJ vs Non empty crossjoin
4 сообщений из 4, страница 1 из 1
MS AS 2k SP3a NECJ vs Non empty crossjoin
    #33031287
Alex Fox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток Господа!
Задача проста до поросячего визга. Получить количество проданного по определенным типам продаж, в разрезе дней за выбранный диапазон, по клиентам, по товарам при условии определенного производителя.
Применительно к Food Mart это может выглядеть приблизительно так
MDX FoodMart edition:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
WITH SET [Time Set] AS '{[Time].[1997].[Q1].[1]:[Time].[1997].[Q2].[6]}'
        SET [DPS] AS '{[Promotion Media].[Media Type].&[Daily Paper],
                       [Promotion Media].[Media Type].&[Daily Paper, Radio],
                       [Promotion Media].[Media Type].&[Daily Paper, Radio, TV]}'
        SET [Product Set] AS '{[Product].[All Products].[Food].[Frozen Foods].[Breakfast Foods].[Pancake Mix].children,
                               [Product].[All Products].[Food].[Frozen Foods].[Breakfast Foods].[Pancakes].children,
                               [Product].[All Products].[Food].[Frozen Foods].[Breakfast Foods].[Waffles].children}'
        MEMBER [Measures].[SQ] AS 'sum([DPS],[Measures].[Unit Sales])'
        MEMBER [Measures].[SS] AS 'sum([DPS],[Measures].[Store Sales])'
SELECT Non Empty CrossJoin({[Time Set]},{[Measures].[SQ],[Measures].[SS]}) on  0 ,
       Non Empty CrossJoin({[Store Type].[All Store Type].Children},[Product Set]) on  1 
FROM [Sales]	
WHERE ([Gender].[All Gender].[M],[Promotions].[All Promotions].[Big Time Discounts])
Запускаем и получаем интересующую выборку
А вот если Non Empty CrossJoin заменить на NonEmptyCrossJoin то по идее должен получить тоже но быстрее. НО результатов вообще никаких. Т.е. MDX Samle кричит данных нет и показывать нечего. Ясное дело, что идея ошибочна, но немогу понять в чем.
В голове кончилось топливо и, к стыду своему, не могу понять как работает NECJ в данной ситуации.
Родненькие, подскажите в чем дело.
Заранее благодарен.
...
Рейтинг: 0 / 0
MS AS 2k SP3a NECJ vs Non empty crossjoin
    #33031332
Alex Fox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может из-за этого
BOL...all calculated members are automatically excluded
Исли да тады ой. Как говорится сам пошутил, сам посмеялся.
...
Рейтинг: 0 / 0
MS AS 2k SP3a NECJ vs Non empty crossjoin
    #33032643
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ситуации, когда на пересечении членов измерений не существует реальным мер, но существуют CM, тогда NECJ действительно применять нет смысла. Но если на этом пересечении существуют реальные меры и СМ, тогда можно указать так.

CrossJoin({[Measures].[Вычисляемая мера]}, NECJ({Set1}, {Set2}, {[Measures].[реальная мера]}, 2))

другими словами NECJ сделать с реальной мерой, а потом объединить полученый сет с CM
т.е. в Вашем случае можно попробовать так:

CROSSJOIN(NECJ({[Time Set].Members}, {[DPS].Members}, {[Measures].[Unit Sales]}, 1), {[Measures].[SQ], [Measures].[SS]})

однако, я не уверен, что в Вашем случае это необходимо!
...
Рейтинг: 0 / 0
MS AS 2k SP3a NECJ vs Non empty crossjoin
    #33032653
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри, точнее:

CROSSJOIN(NECJ({[Time Set]}, {[DPS]}, {[Product Set]}, {[Measures].[Unit Sales]}, 1), {[Measures].[SQ], [Measures].[SS]})
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MS AS 2k SP3a NECJ vs Non empty crossjoin
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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