SSRS减去联合列

时间:2015-09-15 13:41:48

标签: sql reporting-services union ssrs-2012

我在制作报告时遇到了一些障碍......

这是我的基础查询

SELECT        'unionCol1Name' AS SRC, col1,col2,col3
FROM            tbl1
UNION ALL
SELECT        'unionCol2Name', col1,col2,col3
FROM            tbl2

我有一个矩阵报告,显示这两个联合列,但仅在查看时才显示。我的问题是我需要从另一列中减去一列,但是因为它们在联合中而难以定义列。

我觉得有一种方法可以通过报表设计中的文本框表达式字段区分报表运行后生成的两个联合列。

报告在预览后看起来像这样:

union1 results    Union2 results
78                   54
12                   24
51                   12
63                   43

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用 ColumnType 添加另一列,以区分两者。

SELECT        'unionCol1Name' AS SRC, col1,col2,col3, 1 as ColumnType 
FROM            tbl1
UNION ALL
SELECT        'unionCol2Name', col1,col2,col3, 2 as ColumnType 
FROM            tbl2

然后在你的SSRS表达式中:

=SUM(IIF(Fields!ColumnType.Value = 1, Fields!SRC.Value, 0) - SUM(IIF(Fields!ColumnType.Value = 2, Fields!SRC.Value, 0)