【发布时间】:2014-11-25 21:42:49
【问题描述】:
我在 Report Builder 3.0 中创建了一个相当简单的报告,它需要对两个用户指定值之间的部件号进行过滤,这两个值都取自现有部件号列表。在我添加过滤器之前,一切都运行得很好——我的两个参数中的任何一个都没有错误(它们位于报表数据的“参数”文件夹下,而不是数据集属性中的“参数”部分)。虽然,在添加它并尝试运行报告后,我收到一条错误消息:
The report parameter ‘pnPromptField1’ has a DefaultValue or a ValidValue that depends on the report parameter “pnPromptField1”. Forward dependencies are not valid.
我尝试在参数属性下处理默认值和可用值部分,但我所做的似乎没有任何效果。两个参数的所有属性都是默认的,减去名称/提示和可用值,它们的选项都设置为“数据集:inv,值字段:pn,标签字段:pn”。
在引入过滤器之前一切都运行顺利这一事实最让我困惑,因为除了添加过滤器之外,报告中没有任何变化。过滤器的属性是“表达式:[pn]、文本(不可更改)、运算符:介于、值:[@pnPromptField1] & [@pnPromptField2]
感谢任何和所有的帮助,我对 SQL 和几乎所有与它相关的东西还是新手。提前致谢
【问题讨论】:
-
如果您删除过滤器(不做任何其他事情),它会重新开始工作吗?
-
@TabAlleman 是的,确实如此
-
您的错误信息中没有错字? pnPromptField1 参数是否依赖于自身?是否有任何依赖于被过滤的数据集?
-
@TabAlleman 过滤器本身取决于数据集,因为必须从数据集中选择一个字段。我发现在将两个参数的“可用值”选项切换为“无”同时仍然保留过滤器后,报告运行......我想我开始看到可能的循环可能在哪里:过滤器取决于在 pnPromptFields 1 和 2 中选择的值上,但是可以显示和选择的可用值取决于通过过滤器的结果......如果那是程序的工作方式,那将是一种愚蠢的方式方式,但我想不出任何其他的可能性。
-
您可能必须使用两个数据集,即使它们使用相同的查询/过程,其中一个依赖于另一个。我过去不得不这样做以避免类似的问题。
标签: sql reporting-services reportbuilder3.0