1

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

这有点复杂。让我解释:

我有 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 抱怨使用报告项目。

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

非常感谢任何帮助。

4

2 回答 2

3

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

下面是它的工作原理:

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

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

  • 然后你应该能够在这个领域进行分组

-担

于 2009-01-08T14:15:46.453 回答
1

我不是 100% 有人不会为此提供一些神奇的解决方案,但我自己过去也遇到过类似的问题。我相信(但可能是错误的)Reporting Services 遇到的问题是它只呈现一次,而您要求它做的是在呈现它不执行的分组之前呈现数据。

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

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

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

于 2009-01-08T09:51:14.177 回答