按SSRS 2005中的报告项目分组 - 文本框 - 任何变通方法?

时间:2009-01-08 09:27:30

标签: reporting-services reporting grouping

我想按报告项目进行分组,但这是不允许的。 所以我尝试创建一个参数......也不允许。 尝试从页脚引用...再次失败。

这有点复杂。 让我解释一下:

我有textbox22,它的值是:

=Code.Calc_Factor(Fields!xx.Value, fields!yy.Value...)

这是在报告中嵌入的VB代码,为每行调用以计算标准因子。

现在计算与标准因子的偏差,我使用textbox89,其值为:

=(Fields!FACTOR.Value - ReportItems!textbox22.Value)/ReportItems!textbox22.Value

不要在Fields!FACTOR.Valuetextbox22.Value之间感到困惑,它们是不同的。 Fields!FACTOR.Value是使用的因素,textbox22.Value应该是(标准因素)。

现在我想创建一个将偏差分成2组的组,> 1%或不。 所以我尝试创建一个小组:

=IIF(ReportItems!textbox89.Value > 1,0,1)

...但是SSRS抱怨使用报告项目。

我在过去遇到过类似的使用报表项的问题,但这是一个新案例!

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

您是否尝试过将计算字段添加到数据集中?

以下是它的工作原理:

  • 当您处于报告的布局视图中时,打开“数据集”工具窗口(在我的环境中,它位于左侧)。

  • 右键单击您正在使用的DataSet并添加一个字段,您可以使用计算字段,并相应地构建您的公式

  • 然后应该能够在此字段上分组

-Dan

答案 1 :(得分:1)

我不是百分之百,有人不会为此提供一些神奇的解决方案,但我过去曾经遇到过类似的问题。我相信(但可能是错误的)Reporting Services所遇到的问题是它只渲染一次,而你要求它做的是渲染数据然后渲染它没有做的分组。

我能够生成所需的确切结果的唯一方法是使数据呈现仅在SQL中进行(通常通过使用表变量),然后仅将Reporting Services用作显示平台。这将要求您的因子算法在存储过程中的T-SQL中表达,您可能必须编写该数据以获得形状数据。这似乎是实现最终结果的唯一途径。

这具有将报表设计和表示与数据操作分离的额外功能。

抱歉,我无法提供SSRS解决方案,也许别人会知道更多。