Многоуровневая группировка

отредактировано 23:19 Раздел: FastReport 4.0
Добрый день! Хочу построить отчет в FR4 где много уровней группировки. Отчет строю по запросу:

SELECT Tematika,Naimenovanie, nullif(COUNT(Zam_Funct),0) AS ZAM_F,nullif(COUNT(Zam_Programm),0) AS ZAM_Progr,nullif(COUNT(Zam_Progon),0)
AS ZAM_Progo,nullif(COUNT(Zam_PSI),0) AS ZAM_Ps, Zam_Funct,Zam_Programm,Zam_Progon,Zam_PSI FROM Nastroyka inner join Defekti1
on Nastroyka.ID_Nastroyka=Defekti1.ID_Nastroyka Where Zam_Funct is not null or Zam_Progon is not NULL or Zam_Programm is not NULL
or Zam_PSI is not NULL GROUP BY Tematika, Naimenovanie, Zam_Funct,Zam_Programm,Zam_Progon,Zam_PSI Order By Zam_Funct,Zam_Programm,Zam_Progon,Zam_PSI

Хочется чтобы отчет был вида, как на изображении.

Группы Тематика, Наименование и Программирование делается нормально, а вот следующие не группируются почему-то, а идут все вместе
после группировок.

Помогите правильно составить отчет.

Спасибо!

Комментарии

  • gpigpi
    отредактировано March 2014
    Отсортируйте данные по критериям группировки
    группы должны следовать в том же порядке, что и Order By Zam_Funct,Zam_Programm,Zam_Progon,Zam_PSI
  • отредактировано March 2014
    Меня больше волнует порядок составления самого отчета!
    Вот кладу сначала groupheader1 - тематика.
    Затем groupheader2 - наименование.
    Затем что должно идти (в наименовании должно быть 4 подгруппы)? 4 groupheader c замечаниями или masterdata1 с данными и допустим в нем вложенный отчет?
  • gpigpi
    отредактировано 23:19
    Какие критерии группировки в подгруппы? Другое поле?
  • отредактировано 23:19
    gpi написал: »
    Какие критерии группировки в подгруппы? Другое поле?
    Группироваться должно по этим полям: Zam_Funct, Zam_Programm, Zam_Progon, Zam_PSI.
    Т.е. раскрываем "Naimenovanie" и там 4 подгруппы (Zam_Funct, Zam_Programm, Zam_Progon, Zam_PSI).
  • gpigpi
    отредактировано 23:19
    Тогда нужно сортировать по Naimenovanie, Zam_Funct, Zam_Programm, Zam_Progon, Zam_PSI
  • отредактировано March 2014
    У меня больше вопрос в расположении ГрупХедеров и Бэндов.
    Делаю сортировку вот так:

    SELECT Tematika,Naimenovanie, nullif(COUNT(Zam_Funct),0) AS ZAM_F,nullif(COUNT(Zam_Programm),0) AS ZAM_Progr,
    nullif(COUNT(Zam_Progon),0) AS ZAM_Progo,nullif(COUNT(Zam_PSI),0) AS ZAM_Ps, Zam_Funct,Zam_Programm,Zam_Progon,Zam_PSI FROM
    Nastroyka inner join Defekti1 on Nastroyka.ID_Nastroyka=Defekti1.ID_Nastroyka Where Zam_Funct is not null or Zam_Progon is not NULL or
    Zam_Programm is not NULL or Zam_PSI is not NULL GROUP BY Tematika, Naimenovanie, Zam_Funct,Zam_Programm,Zam_Progon,Zam_PSI
    Order By Naimenovanie, Zam_Funct,Zam_Programm,Zam_Progon,Zam_PSI

    Когда всего 1 группировка, то все нормально (рис 1 и 2)
    А когда пихаю больше 1 группировки и, соответственно, бэндов, то все сбивается сразу и получается каша (рис 3 и 4).

    Как правильно расположить бэнды и ГрупХедеры?

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.