我想按报告项目进行分组,但这是不允许的。 所以我尝试创建一个参数......也不允许。 尝试从页脚引用...再次失败。
这有点复杂。 让我解释一下:
我有textbox22,它的值是:
=Code.Calc_Factor(Fields!xx.Value, fields!yy.Value...)
这是在报告中嵌入的VB代码,为每行调用以计算标准因子。
现在计算与标准因子的偏差,我使用textbox89,其值为:
=(Fields!FACTOR.Value - ReportItems!textbox22.Value)/ReportItems!textbox22.Value
不要在Fields!FACTOR.Value
和textbox22.Value
之间感到困惑,它们是不同的。
Fields!FACTOR.Value
是使用的因素,textbox22.Value
应该是(标准因素)。
现在我想创建一个将偏差分成2组的组,> 1%或不。 所以我尝试创建一个小组:
=IIF(ReportItems!textbox89.Value > 1,0,1)
...但是SSRS抱怨使用报告项目。
我在过去遇到过类似的使用报表项的问题,但这是一个新案例!
非常感谢任何帮助。
答案 0 :(得分:3)
您是否尝试过将计算字段添加到数据集中?
以下是它的工作原理:
当您处于报告的布局视图中时,打开“数据集”工具窗口(在我的环境中,它位于左侧)。
右键单击您正在使用的DataSet并添加一个字段,您可以使用计算字段,并相应地构建您的公式
然后应该能够在此字段上分组
-Dan
答案 1 :(得分:1)
我不是百分之百,有人不会为此提供一些神奇的解决方案,但我过去曾经遇到过类似的问题。我相信(但可能是错误的)Reporting Services所遇到的问题是它只渲染一次,而你要求它做的是渲染数据然后渲染它没有做的分组。
我能够生成所需的确切结果的唯一方法是使数据呈现仅在SQL中进行(通常通过使用表变量),然后仅将Reporting Services用作显示平台。这将要求您的因子算法在存储过程中的T-SQL中表达,您可能必须编写该数据以获得形状数据。这似乎是实现最终结果的唯一途径。
这具有将报表设计和表示与数据操作分离的额外功能。
抱歉,我无法提供SSRS解决方案,也许别人会知道更多。