我在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设置为所有其他列。但是它不会发生这种情况,但所有列都被隐藏了。
编辑:格式代码
答案 0 :(得分:0)
您是否尝试了多选下拉参数,而不是选择四分之一参数?
答案 1 :(得分:0)
我用以下方式解决了这个问题: 我没有使用带范围的参数(From和To),而是使用了带有两个值的参数,而我的查询不是BETWEEN From和To,而是IN [From,To]。 From和To的值可以是任意2个季度(它们甚至可以切换 - 从不必在To之前)。