我在制作报告时遇到了一些障碍......
这是我的基础查询
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
非常感谢任何帮助。
答案 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)