隐藏SSRS中的所有中间列

时间:2013-11-19 07:54:55

标签: reporting-services

我在SSRS 2008中有一个矩阵报告,显示有关公司的信息以及每家公司在选定季度获得的总分数。

实施例

Company  | Current | Previous | Diff |
--------------------------------------
         | Q3 2008 | Q2 2008  |      |
--------------------------------------
Comp 1   | 2000    | 1500     | 500  |
--------------------------------------
Comp 2   | 1200    | 1400     | -200 |
--------------------------------------

在我的SSRS报告中,我根据数据集([公司])中的公司字段设置了一个RowGroup。 我有一个基于数据集的Quarter字段的ColumnGroup。该组中的排序是相反的,因为我想从最新的季度开始。

我有选择公司的参数和2个选择季度的参数(QuarterCurrent和QuarterPrevious)。

作为副作用,如果我选择2个不合格的季度,我会得到超过2列,这是我不喜欢的。

但后来我认为,如果我可以隐藏中间的列并显示在First(QuarterPrevious)和Last(QuarterCurrent)上,我将能够将任何季度与任何其他季度进行比较。

我的问题是将列隐藏在矩阵的“中间”。我想

实现这样的目标:

Company  | Current  | *(HIDDEN)* | Previous | Diff |
----------------------------------------------------
         | Q3 2008  | *Q2 2008*  | Q1 2008  |      |
---------------------------------------------------- 
Comp 1   | 2000     | *1500*     | 1300     | 700  |
---------------------------------------------------- 
Comp 2   | 1200     | *1400*     | 1250     | -50  |
----------------------------------------------------

所以最后我只能看到Current和Previous列。

我尝试了以下方法:

  • 将Column Visibility属性设置为:

    =IIF(StrComp(Fields!Quarter.Value,First(Fields!Quarter.Value))=0 OR StrComp(Fields!Quarter.Value,Last(Fields!Quarter.Value))=0,False,True)

根据我的理解,这应该将属性Hide to False设置为等于序列中First和Last值的每个列,并将True设置为所有其他列。但是它不会发生这种情况,但所有列都被隐藏了。

  • 我尝试将相同的表达式设置为“组属性”中的“可见性”属性。仍然具有相同的效果 - 所有列都隐藏了。

编辑:格式代码

2 个答案:

答案 0 :(得分:0)

您是否尝试了多选下拉参数,而不是选择四分之一参数?

答案 1 :(得分:0)

我用以下方式解决了这个问题: 我没有使用带范围的参数(From和To),而是使用了带有两个值的参数,而我的查询不是BETWEEN From和To,而是IN [From,To]。 From和To的值可以是任意2个季度(它们甚至可以切换 - 从不必在To之前)。