Если у вас есть только два фиксированных значения в столбце Table
, то вы сможете сделать это без необходимости в пользовательском коде.
Примерно так ...
=SUM(IIF(Fields!Table.Value = "Plan", Fields!Total.Value,0))
-
SUM(IIF(Fields!Table.Value = "Actuals", Fields!Total.Value,0))
ОБНОВЛЕНИЕ для ясности
Я создал отчет, основанный на ваших образцах данных, и приведенное выше работает, как и ожидалось.
Я создал набор данных, используя следующий запрос
DECLARE @t TABLE (WBSNumbers varchar(20), [Table] varchar(20), Account Varchar(20), Total float)
INSERT INTO @t
SELECT 'xxx', 'Plan', 'Capital', 96875 UNION ALL
SELECT 'xxx', 'Plan', 'Expense', 40625 UNION ALL
SELECT 'xxx', 'Actuals', 'Capital', 229949 UNION ALL
SELECT 'xxx', 'Actuals', 'Expense', 2848 UNION ALL
SELECT 'yyy', 'Actuals', 'Expense', 0
SELECT * FROM @t
Я добавил матрицу с группами строк для WBSNumbers и Account и группу столбцов для таблицы.
Я добавил новый столбец вне группы столбцов с выражением, указанным выше
Я добавил дополнительную строку для заголовков, но это на самом деле не требовалось - просто чтобы она более точно соответствовала ожидаемому результату.
Окончательный дизайн выглядит следующим образом.
Окончательный результат выглядел следующим образом ...
Кроме того, что данные выборки не соответствует ожидаемому выходу для ABS. Тэд.