Разрыв страницы на экспорт экспортеров - PullRequest
0 голосов
/ 12 апреля 2020

Можно ли экспортировать выходные данные Excel по группам с именем страницы в качестве группы и подгруппой с именем страницы в качестве подгруппы.

Пробовал с несколькими опциями и плохо работает с разрывом страницы и именем листа .

Разрыв страницы -> Группа -> Между
Разрыв страницы -> Подгруппа -> Между и окончанием.

Ожидаемый результат с указанным ниже набором данных: 5 листов в Excel .

  1. US - Имя подгруппы -Sheet1
  2. CA - Имя подгруппы -Sheet2
  3. Северная Америка - имя группы с подробностями суммирования -sheet3
  4. FR - Имя подгруппы -sheet4
  5. Европа-имя группы с деталями суммирования - sheet5

Образец набора данных :

Select 'Area-1' as Region, 'North America' as 'Group','US' as 'SubGroup','Northwest' as 'Detail',7887186.7882  'Sales'
union
Select 'Area-1', 'North America','US','Northeast',2402176.8476  
union
Select 'Area-1', 'North America','US','Central',3072175.118  
union
Select 'Area-1', 'North America','CA','Southwest',10510853.8739  
union
Select 'Area-1', 'North America','CA','Southeast',2538667.2515  
union
Select 'Area-1', 'North America','CA','Canada',6771829.1376  
union
Select 'Area-1', 'Europe','FR','Northwest',4772398.3078  
union
Select 'Area-1', 'Europe','FR','Northeast',3805202.3478  
union
Select 'Area-1', 'Europe','FR','Central',5012905.3656

enter image description here

enter image description here

Ожидаемый результат: enter image description here

1 Ответ

1 голос
/ 14 апреля 2020

Я бы попытался сгруппировать данные по-другому, чтобы на стороне отчета было проще. Я взял ваш исходный набор данных, поместил его во временную таблицу и сгруппировал так:

SELECT * INTO #t FROM (
Select 'Area-1' as Region, 'North America' as [Group],'US' as [SubGroup],'Northwest' as [Detail], 7887186.7882 as [Sales]
union
Select 'Area-1', 'North America','US','Northeast',2402176.8476  
union
Select 'Area-1', 'North America','US','Central',3072175.118  
union
Select 'Area-1', 'North America','CA','Southwest',10510853.8739  
union
Select 'Area-1', 'North America','CA','Southeast',2538667.2515  
union
Select 'Area-1', 'North America','CA','Canada',6771829.1376  
union
Select 'Area-1', 'Europe','FR','Northwest',4772398.3078  
union
Select 'Area-1', 'Europe','FR','Northeast',3805202.3478  
union
Select 'Area-1', 'Europe','FR','Central',5012905.3656
) q 

SELECT 
    [Region], [Group], [SubGroup], [Detail]
    , SUM(Sales) OVER(PARTITION BY [Group]) as ContinentSales
    , SUM(Sales) OVER(PARTITION BY [Group], [SubGroup]) as CountrySales
    , Sales as DetailSales
into #s
 FROM #t

SELECT DISTINCT Region, SubGroup as ReportGroup, Detail, DetailSales as Sales FROM #s
UNION ALL
SELECT DISTINCT Region, [Group], NULL, ContinentSales FROM #s

Это дает следующий вывод

enter image description here

После этого вы сможете группировать по группе отчетов и использовать ее в качестве имени страницы в свойстве group.

...