powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / SSRS 2012 дважды обойти вложенную группировку
7 сообщений из 7, страница 1 из 1
SSRS 2012 дважды обойти вложенную группировку
    #38906900
Pvase
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть запрос, который возвращает такой результат:
Предприятие Поставщик Валюта СуммаПредприятие 1 Иванов Доллар 1000 Иванов Евро 300 Петров Евро 500Предприятие 2 Иванов Евро 1500 Петров Доллар 1200 Петров Евро 700
Надо получить в конце каждого предприятия еще и итоги по всем валютам встречающихся по поставщикам. Т.е. должно быть так:

Предприятие Поставщик Валюта СуммаПредприятие 1 Иванов Доллар 1000 Иванов Евро 300 Петров Евро 500 Итого Доллар 1000 Итого Евро 800Предприятие 2 Иванов Евро 1500 Петров Доллар 1200 Петров Евро 700 Итого Доллар 1200 Итого Евро 2700
Как можно это сделать? Спасибо.
...
Рейтинг: 0 / 0
SSRS 2012 дважды обойти вложенную группировку
    #38907020
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pvase,

возможно в 2012 версии что-то появилось, не знаю...   Но проще всего решить на стороне сервера, например так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
declare @t table (org varchar(500), prov varchar(500), cur varchar(20), summa int)
insert @t
  select 'Сезон 1', 'Малкольм Мерлин', 'Доллар', 1000 union all
  select 'Сезон 1', 'Малкольм Мерлин', 'Евро', 300 union all
  select 'Сезон 1', 'Слейд Уилсон', 'Евро', 500 union all
  select 'Сезон 2', 'Малкольм Мерлин', 'Евро', 1500 union all
  select 'Сезон 2', 'Слейд Уилсон', 'Доллар', 1200 union all
  select 'Сезон 2', 'Слейд Уилсон', 'Евро', 700

select org, isnull(prov,'Итого:'), cur, sum(summa) [summa]
--, grouping(org) [grOrg], grouping(prov) [grProv], grouping(cur) [grCur]
from @t
group by cube(org, prov, cur)
having grouping(org) = 0 and grouping(cur) = 0
order by org, grouping(prov)
...
Рейтинг: 0 / 0
SSRS 2012 дважды обойти вложенную группировку
    #38907056
Pvase
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user89,
Спасибо большое, но у меня источником является OLAP куб и строится MDX запрос.
...
Рейтинг: 0 / 0
SSRS 2012 дважды обойти вложенную группировку
    #38907157
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pvase,

уверен, есть способы в MDX, которые строят группировки, аналогично моему примеру выше.
Или возможно залить результат запроса MDX во временную таблицу на SQL-сервер и там сделать group by cube

Прилагаю проект, но такой вариант работает, если известно количество разных валют.
...
Рейтинг: 0 / 0
SSRS 2012 дважды обойти вложенную группировку
    #38907963
Pvase
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user89Pvase,

уверен, есть способы в MDX, которые строят группировки, аналогично моему примеру выше.
Или возможно залить результат запроса MDX во временную таблицу на SQL-сервер и там сделать group by cube

Прилагаю проект, но такой вариант работает, если известно количество разных валют.
Спасибо большое посмотрел.
Нашел выход в расположении на форме списка, а в списке уже 2 таблиц с разными группировками. В списке группировка по фирме, в 1-й таблице группировка: Поставщик/Валюта, во 2-1 таблице - только валюта.
...
Рейтинг: 0 / 0
SSRS 2012 дважды обойти вложенную группировку
    #38912084
Bigheadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pvase,
я бы не городил огорода со списком и таблицами, а вывел одну таблицу с группировками "Предприятие"-"Поставщик"-"Валюта", а в футере группировки "Предприятие" вывел две строки в одной SUM(IIF(Валюта=Доллар, Сумма, NULL)) (синтаксис условный), а в другой аналогично для евро.
...
Рейтинг: 0 / 0
SSRS 2012 дважды обойти вложенную группировку
    #38942045
DanielMyts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется, что лучше использовать возможности MDX-запросов.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select
    [Measures].[Сумма] on 0,
    non empty (
        [Предприятие].[Предприятие].children,
        [Поставщик].[Поставщик].members,
        [Валюта].[Валюта].children
    ) on 1

from [Куб]



Только на стороне RS правильно сортировку по поставщикам сделать, чтобы итоги были в конце.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / SSRS 2012 дважды обойти вложенную группировку
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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