Reporting services 在SSRS 2005-文本框中按报告项分组-有解决方法吗?

Reporting services 在SSRS 2005-文本框中按报告项分组-有解决方法吗?,reporting-services,reporting,grouping,Reporting Services,Reporting,Grouping,我想按报表项分组,但这是不允许的。 所以我试着创建一个参数……这也是不允许的。 尝试从页脚引用…再次失败 这有点复杂。 让我解释一下: 我有textbox22,它的值是: =Code.Calc_Factor(Fields!xx.Value, fields!yy.Value...) =(Fields!FACTOR.Value - ReportItems!textbox22.Value)/ReportItems!textbox22.Value 这是嵌入在报告中的VB代码,为每行调用该代码以计算标

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

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

我有textbox22,它的值是:

=Code.Calc_Factor(Fields!xx.Value, fields!yy.Value...)
=(Fields!FACTOR.Value - ReportItems!textbox22.Value)/ReportItems!textbox22.Value
这是嵌入在报告中的VB代码,为每行调用该代码以计算标准因子

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

=Code.Calc_Factor(Fields!xx.Value, fields!yy.Value...)
=(Fields!FACTOR.Value - ReportItems!textbox22.Value)/ReportItems!textbox22.Value
不要混淆
字段!FACTOR.Value
textbox22.Value
,它们是不同的。
字段!FACTOR.Value
是使用的因子,
textbox22.Value
是应该的因子(标准因子)

现在我想创建一个组,将偏差分为两组,>1%或不大于1%。 所以我试着创建一个组:

=IIF(ReportItems!textbox89.Value > 1,0,1)
…但SSR抱怨使用报告项

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


非常感谢您的帮助。

我不是百分之百地认为没有什么神奇的解决方案可以解决这个问题,但我自己过去也遇到过类似的问题。我相信(但可能是错误的)Reporting Services存在的问题是,它只渲染一次,而您要求它在渲染分组之前渲染数据,而它不这样做

我能够产生所需的准确结果的唯一方法是,只在SQL中进行数据呈现(通常通过使用表变量),然后使用Reporting Services作为显示平台。这将要求您的分解算法在存储过程中用T-SQL表示,您可能需要编写该存储过程才能使数据成形。这似乎是实现最终结果的唯一途径

这有一个额外的特性,即将报表设计和表示与数据操作分离


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

我不是100%认为没有神奇的解决方案,但我自己在过去也遇到过类似的问题。我相信(但可能是错误的)Reporting Services存在的问题是,它只渲染一次,而您要求它在渲染分组之前渲染数据,而它不这样做

我能够产生所需的准确结果的唯一方法是,只在SQL中进行数据呈现(通常通过使用表变量),然后使用Reporting Services作为显示平台。这将要求您的分解算法在存储过程中用T-SQL表示,您可能需要编写该存储过程才能使数据成形。这似乎是实现最终结果的唯一途径

这有一个额外的特性,即将报表设计和表示与数据操作分离


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

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

以下是它的工作原理:

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

  • 右键单击正在使用的数据集并添加字段,可以使用计算字段,并适当地构建公式

  • 那么你应该可以在这个领域进行分组


-Dan

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

以下是它的工作原理:

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

  • 右键单击正在使用的数据集并添加字段,可以使用计算字段,并适当地构建公式

  • 那么你应该可以在这个领域进行分组

-丹