В своем последнем комментарии вы говорите: «Мне действительно нужно считать (суммировать?) На основе промежуточных итогов ... если это вообще возможно»
Способ обойти это в SSRS - это вычислить набор данных для отчета, в котором есть столбцы для моих значений промежуточных итогов. По сути, я предварительно вычисляю промежуточные итоги, а затем эти значения доступны везде в моем отчете. Это можно сделать в отчете datamart или в хранимой процедуре, которая создает набор данных. Хотя это немного неловко, я считаю, что иногда это проще, чем пытаться подчинить SSRS своей воле. Думаю, я бы упомянул об этом, если это будет полезно.
Вы можете выполнить этот код, чтобы получить визуальное представление о том, что я имею в виду -
-- use this code to create a sample data set
-- Note that I am simply stuffing the correct subtotal values in -
-- but in reality, you would calculate these from your base data
CREATE TABLE SampleDataSet( Salesperson varchar(50), Region varchar(20),
Country varchar(30), Sales float, RegionSales float, CountrySales float, GrandTotalSales float )
INSERT INTO SampleDataSet Values( 'Brown', 'East', 'Canada', 1000.40, 6780.00, 108686.56, 705043.89 )
INSERT INTO SampleDataSet Values( 'Smith', 'East', 'Canada', 3420.76, 6780.00, 108686.56, 705043.89 )
INSERT INTO SampleDataSet Values( 'Williams', 'East', 'Canada', 2358.84, 6780.00, 108686.56, 705043.89 )
INSERT INTO SampleDataSet Values( 'Simons', 'West', 'Canada', 6298.68, 101906.56, 108686.56, 705043.89 )
INSERT INTO SampleDataSet Values( 'Miller', 'West', 'Canada', 95607.88, 101906.56, 108686.56, 705043.89 )
INSERT INTO SampleDataSet Values( 'Knight', 'North', 'UK', 596357.33, 596357.33, 596357.33, 705043.89 )
-- inspect data
SELECT * FROM SampleDataSet
SELECT Region, SUM(Sales) as RegionSales FROM SampleDataSet
GROUP BY Region
SELECT Country, SUM(Sales) as CountrySales FROM SampleDataSet
GROUP BY Country
SELECT SUM(Sales) as GrandTotalSales FROM SampleDataSet