我有一个使用Report Builder 3.0(2014)中的“矩阵向导”创建的矩阵,具有2个行组,1个列组和2个值。创建矩阵(包括总计和小计)后,我得到了一个看起来不错的矩阵。但是现在我想为每个列组(一行)添加一个单元格,以存储下面的值。
值=第一行组的总数+第二行组的总数-第三行组的总数...
建立的矩阵仅向我显示了我不需要的每个行组的小计。
我想问一下如何检索矩阵本身计算出的总计结果,以及如何使用表达式根据行组值识别它们?而且,对于具有不同数据的每个列组,我该怎么做?
我试图在矩阵的设计视图中查看表达式,它只显示矩阵中每个单元格(总计和小计)的[SUM(MyField)]。
还是应该使用另一个查询在另一个数据集上执行此操作?如果是这样,我应该使用什么查询,以及如何将两个数据集放入一个矩阵中?
我的矩阵看起来像这样:
Column Group
ROW GROUP 1 | ROW GROUP 2 | VALUE 1 | VALUE 2
Row Group 1 | Row Group 2 | [Sum(MyField)] | [Sum(MyField)]
| TOTAL OF ROW GROUP 1 | [Value] | [Value]
| ROW PLAN TO ADD | [Value(0)+Value | [Value(0)+Value
| (1)-Value(2)] | (1)-Value(2)]
大写:列名,常量
[sqrbrkted]:计算值
正常:表中的数据
我是Report Builder的新手,如果遇到任何错误,我们深表歉意。如果我不清楚自己的意思,请发表评论并告诉我。先感谢您。
编辑:我在下面的答案部分找到了一种实现我的目的的方法。如果有人有其他解决方案,请随时回答。谢谢。
答案 0 :(得分:0)
我通过更改SQL查询来解决另一个问题,如果另一个虚拟列显示负结果,则该虚拟列如果其相应的行组是要扣除小计(Value(2)),并将其放在矩阵内。在表达式内部,我还有另一个IIF语句将其转换回正数以用于显示。
SQL:
SELECT *, (CASE WHEN COL_B = 'VAL_2' THEN -COL_A ELSE COL_A END)AS DMY_COL_A FROM TABLE
表达:
=IIF(Sum(Fields!DMY_COL_A.Value)<0,-Sum(Fields!DMY_COL_A.Value),Sum(Fields!DMY_COL_A.Value))