У меня есть следующие данные:
ID parentID Text Price
1 Root
2 1 Flowers
3 1 Electro
4 2 Rose 10
5 2 Violet 5
6 4 Red Rose 12
7 3 Television 100
8 3 Radio 70
9 8 Webradio 90
Я пытаюсь сгруппировать эти данные с помощью Reporting Services 2008 и получить сумму цен на группу для уровня 1 (Цветы / Электро) и для уровня 0 (Корень).
У меня есть таблица, сгруппированная по [ID] с рекурсивным родительским элементом [parendID], и я могу вычислить сумму для уровня 0 (еще одна строка в таблице вне группы), но почему-то я не могу создать сумма на группу, поскольку SRSS «создает» группы на уровне. Мой желаемый результат выглядит так:
ID Text Price
1 Root
|2 Flowers
|-4 Rose 10
|-5 Violet 5
| |-6 Red Rose 12
| Group Sum-->27
|3 Electro
|-7 Television 100
|-8 Radio 70
|-9 Webradio 90
Group Sum-->260
----------------------
Total 287
(отступ идентификатора только что добавлен для пояснения уровня)
При моем текущем подходе я не могу получить групповые суммы, поэтому я понял, что мне понадобится следующая структура данных:
ID parentID Text Price level0 level1 level2 level3
1 Root 1
2 1 Flowers 1 1
3 1 Electro 1 2
4 2 Rose 10 1 1 1
5 2 Violet 5 1 1 2
6 4 Red Rose 12 1 1 1 1
7 3 Television 100 1 2 1
8 3 Radio 70 1 2 2
9 8 Webradio 90 1 2 2 1
Имея вышеуказанную структуру, я могу создать внешнюю группировку level0 с дочерними группами level1, level2, level3 соответственно. Имея "групповую сумму" на уровне 1 и общую сумму вне группы, я имею ТОЧНО то, что хочу.
У меня следующий вопрос: Как мне либо достичь желаемого результата с моей текущей структурой данных, либо как временно преобразовать мою текущую структуру данных (внешние левые соединения?) в «новую структуру данных» - чтобы я мог запустить свой отчет из временной таблицы?
Спасибо, что нашли время, Деннис