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

Есть куб с данными продаж по магазинам.
Необходимо построить график объема продаж за все время работы (график строится на толстом клиенте).
При этом пользователь вручную задает какие магазины использовать в отчете.

Запрос выводит данные по всем выбранным магазинам:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT { [Measures].[MONEY] } ON axis(0),  //деньги
 {[DICT DATE].[ID DATE MONTH].[ID DATE MONTH]}  on axis(1),  //ось времени
    {
[LCN OBJECT].[HIER_OBJECT].[ID ORGANIZATION].&[МАГАЗИН1], //набор магазинов
[LCN OBJECT].[HIER_OBJECT].[ID ORGANIZATION].&[МАГАЗИН2]
...
[LCN OBJECT].[HIER_OBJECT].[ID ORGANIZATION].&[МАГАЗИНN]
	} on axis(2)
               
 FROM[MYCUBE]




Но необходимо вывести по-другому (можно не в одном запросе):
Топ 5 по объему продаж за все время работы вывести поименно, а все остальные просуммировать в строку "Прочее".

Подскажите, пожалуйста, как это можно реализовать, куда смотреть, что читать.
...
Рейтинг: 0 / 0
MDX - топ, разбивка/объединение
    #38726708
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TopCount, BottomCount
...
Рейтинг: 0 / 0
MDX - топ, разбивка/объединение
    #38726806
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Два множества

1) TopCount ,
2) AllMembers except TopCount

объединить их в UNION
...
Рейтинг: 0 / 0
MDX - топ, разбивка/объединение
    #38738470
MDX_NUB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Наконец-то дошли руки до запроса.

Все равно не понимаю как объединить результат в одной выдаче и возможно ли это.

Т.е. результат должен быть (для упрощения оставляем две оси)
Магазин 1 | 100500 р
Магазин 2 | 100400 р
Магазин 3 | 100300 р
ПРОЧИЕ | 20000 р

как получить отдельно top 3 и Прочее - разобрался. Но как сделать это за одни запрос?


Запро для ПРОЧИЕ:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
with SET [MY_TOP_SET] { topcount ( [LCN OBJECT].[HIER_OBJECT].[ID ORGANIZATION].allmembers, 3 ,[Measures].[MONEY] ) }

SELECT { [Measures].[MONEY] } ON axis(0),
{
{[LCN OBJECT].[HIER_OBJECT].[ID ORGANIZATION].allmembers}
-
{[MY_TOP_SET]}

} on axis(1)
               
 FROM[MYCUBE]
...
Рейтинг: 0 / 0
MDX - топ, разбивка/объединение
    #38738785
papalexi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MDX_NUB,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
with 
SET [MY_TOP_SET] { topcount ( [LCN OBJECT].[HIER_OBJECT].[ID ORGANIZATION].allmembers, 3 ,[Measures].[MONEY] ) }

MEMBER  [LCN OBJECT].[HIER_OBJECT].[ПРОЧИЕ] as AGGREGATE(EXCEPT( [LCN OBJECT].[HIER_OBJECT].[ID ORGANIZATION].allmembers, [MY_TOP_SET]))

SELECT { [Measures].[MONEY] } ON axis(0),
{
{[MY_TOP_SET]}
+
{[LCN OBJECT].[HIER_OBJECT].[ПРОЧИЕ]}

} on axis(1)
               
 FROM[MYCUBE]
...
Рейтинг: 0 / 0
MDX - топ, разбивка/объединение
    #38740131
MDX_NUB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
papalexi,
ОГРОМНОЕ СПАСИБО!!!

просто до меня еще не дошло еще почему-то, что можно объявлять несколько SET и MEMBER для одного MDX-запроса (похоже, медленно моргаю при чтении учебника).
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
MDX - топ, разбивка/объединение
    #39915559
Nurgl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как сделать тоже самое калькуляции а не в запросе?
...
Рейтинг: 0 / 0
MDX - топ, разбивка/объединение
    #39915580
Nurgl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AGREGATE и EXCEPT не работает в калькуляции это только для прямых MDX запросов. SET то создать не проблема.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MDX - топ, разбивка/объединение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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