报告服务问题。前向依赖项无效

时间:2011-07-05 11:00:40

标签: reporting-services parameters dataset dependencies multivalue

我的Reporting Services报告存在问题。我的报告有两个数据集,一个用于获取实际的报告数据,另一个用于获取已翻译的资源字符串,以便在报告上使用文字文本的任何位置显示。此数据集需要三个参数,语言集ID,语言代码和与资源名称匹配的字符串。

根据一个例子,我发现了here(MiguelCatalão的回复)我已经创建了一个多值参数@Resources,它将从资源数据集和一个从多值查询中查找特定值的代码函数中填充。然后,在使用文字字符串的表达式中调用此函数。

我认为这应该可行,但我遇到了一个问题,我无法找到解决方法。 @Resources参数中的依赖性问题依赖于Resources数据集,而该数据集依赖于三个参数; @LanguageSetID,@ LanguageCode和@ResourceNameLookup。我已经读过声明参数的顺序非常重要,所以我确保最后三个参数出现在@Resources之上,并且所有这三个参数都有默认值,这将导致数据集检索数据。

然而,在预览报告时我仍然会遇到以下错误;任何建议或指导都会非常感激。

The report parameter ‘Resources’ has a DefaultValue or a ValidValue that depends on the report parameter “LanguageCode”. Forward dependencies are not valid.
The report parameter ‘Resources’ has a DefaultValue or a ValidValue that depends on the report parameter “ResourceNameLookup”. Forward dependencies are not valid.

2 个答案:

答案 0 :(得分:2)

我有同样的错误,但这是由于其他原因。我所做的是在我的报告中创建了一个参数,然后将默认值链接到数据集。

这又添加了数据集中所需的参数。不知何故,我的列表中的参数顺序发生了变化。这是我盯着'前向依赖无效'的错误。

然后我查看了另一个使用相同过程将参数链接到数据集的报告。我注意到我的参数顺序不同。我只是回到我的新报告,并使用向上和向下箭头,直到我的参数与工作报告的顺序相同。这似乎解决了错误并且工作正常。显然,使用数据集的参数需要低于SPROC中使用的参数。

从长远来看,这对某人有帮助。

C / N:参数由数据集(存储过程)填充。正在填充的参数高于SPROC所期望的某些参数。

答案 1 :(得分:0)

这都是由我犯的愚蠢错误造成的。我从我提到的帖子中复制并修改了代码函数,但忽略了将参数的数据类型从整数更改为字符串,我的是。

这个错误的表现似乎很奇怪但是我现在已经解决了这个问题,只是碰到了我在another question中提出的另一个问题。