在 SSRS 中减去矩阵 table 中的组列

Subtract Group Columns in Matrix table in SSRS

我有一个按 WBS 和 Acc 在行级别分组的矩阵 table。 然后我有一个包含计划和实际值的列组 "Table"。我要得到的是(计划)-(实际)

我在外部组列中使用了以下表达式

=SUM(IIF(Fields!Table.Value = "Plan", (Fields!Total.Value),0))-SUM(IIF(Fields!Table.Value = "Actuals", (Fields!Total.Value),0))

total.value 分别是计划和实际的总和。

我在计算列(表达式)中遇到错误

黑客帝国TableThe Matrix Table

The Dataset and Outputs (expected and current)

如果您的 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 和帐户的行组以及用于 Table 的列组。

我使用上述表达式在列组外添加了一个新列

我为 headers 添加了一个额外的行,但这并不是真正需要的 - 只是为了使其更接近预期的输出。

最终的设计是这样的。

最终输出如下所示...

除了示例数据与 ABS yyyy 提供的预期输出不匹配之外,这按预期工作。