Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 как правильно сгруппировать данные  [new]
PlanB
Member

Откуда: Moscow
Сообщений: 2767
Добрый день!

Тебуется консультация по вопросам хранения группировок. Требуется из множества таблиц с данными вида regn, code, balance создать таблицу вида lev1, lev2, lev3, lev4, code, balance для дальнейшего добавления их в сводную таблицу excel (или другого табличного редактора). Проще говоря, требуется создать группировку счетов (code) с суммами остатков по ним. Ниже рисунок с примером.

Как мне проще поступить? Я писал ранее простой но длинный запрос вида
+
select a.regn as 'regn', '411' as 'code', 'Доходы' as 'lev1', 'Процентные доходы' as 'lev2', 'Коррсчета' as 'lev3', SUM(SIM_ITOGO) as 'balance' from dbo.[42011_p1] a
where a.code in ('11301', '11302', '11303')
group by a.REGN
union
select a.regn as 'regn', '412' as 'code', 'Доходы' as 'lev1', 'Процентные доходы' as 'lev2', 'Кредиты банкам' as 'lev3', SUM(SIM_ITOGO) as 'balance' from dbo.[42011_p1] a
where a.code in ('11118', '11119', '11401', '11402', '11403', '11215', '11216', '11217')
group by a.REGN
-- etc
Сейчас с склоняюсь к ручному написанию группировки счетов вида code, lev1, lev2,lev3,lev4 и дальнейшему прогону данных через такую таблицу для формирования требуемого мне массива данных.

Прав ли я в своем решении? Возможно "справочник" группировок оформляется как-то по-другому, гораздо проще, а я не знаю
Спасибо большое за ответы!
10 апр 13, 11:53    [14160826]     Ответить | Цитировать Сообщить модератору
 Re: как правильно сгруппировать данные  [new]
PlanB
Member

Откуда: Moscow
Сообщений: 2767


К сообщению приложен файл. Размер - 128Kb
10 апр 13, 11:54    [14160832]     Ответить | Цитировать Сообщить модератору
 Re: как правильно сгруппировать данные  [new]
Glory
Member

Откуда:
Сообщений: 104751
В Excel уже давнот все есть
Называется Data - PivotTable and PivotChart
10 апр 13, 12:00    [14160879]     Ответить | Цитировать Сообщить модератору
 Re: как правильно сгруппировать данные  [new]
Glory
Member

Откуда:
Сообщений: 104751
А в TSQL это можно получить с помощью фраз ROLLUP/CUBE
10 апр 13, 12:01    [14160888]     Ответить | Цитировать Сообщить модератору
 Re: как правильно сгруппировать данные  [new]
PlanB
Member

Откуда: Moscow
Сообщений: 2767
Glory
В Excel уже давнот все есть
Называется Data - PivotTable and PivotChart
что такое сводная таблица и сводная диаграмма я знаю вопрос в том, как получить данные для сводной таблицы из sql. надо из сырых значений (которая сводная pivottable заведомо воспримет не корректно) для каждого счета поля code проставить наименования группировок lev1-4. это, как я полагаю, можно совершить путем хранения справочника группировок. но, может как-то проще можно?
10 апр 13, 12:13    [14160971]     Ответить | Цитировать Сообщить модератору
 Re: как правильно сгруппировать данные  [new]
Glory
Member

Откуда:
Сообщений: 104751
PlanB
вопрос в том, как получить данные для сводной таблицы из sql

Простым плоским запросом
10 апр 13, 12:19    [14161015]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить