0

我正在构建一个 Web 前端,用于使用适用于 .NET 的 Business Objects SDK 访问 Business Objects 报告。借助该主题在线提供的稀疏文档和论坛帖子,我已经能够破解 95% 的业务需求。我最后的障碍集中在使用参数化报告上。我们的业务存在这样一种情况,即报表有两个参数,最终用户只需要填充其中一个参数。收集和清理这些数据很容易,但是无论我如何尝试将空值参数传递给报告,我都没有得到任何数据。如果填充了两个参数,我会得到预期的数据。在 Visual Studio 中单步执行代码时,我看到每当 BusinessObjects 返回一个空值参数时,它都会显示为一个空字符串 ("")。我尝试将其作为参数值传递,并且还尝试为参数分配 null 值。一旦计划和运行报告,这些选项都不会返回结果。我在下面有一个参数分配代码示例,它使用了我采用的每种方法(我们需要检查一个值为“null”的字符串,因为用户请求能够键入“null”并将其传递给报告)。这些都不会生成包含数据的报告。s 已请求能够键入“null”并将其传递给报告)。这些都不会生成包含数据的报告。s 已请求能够键入“null”并将其传递给报告)。这些都不会生成包含数据的报告。

sVal.Value = param.ParameterValue != "null" ? param.ParameterValue : String.Empty; 
sVal.Value = param.ParameterValue != "null" ? param.ParameterValue : "";
sVal.Value = param.ParameterValue != "null" ? param.ParameterValue : null;

Enterprise Server 是否有特定的值用于指示 null,例如日期需要包含在 Date() 中?

编辑:我需要复制的功能,如 InfoView 所示: InfoView 中空参数选项的图像

4

1 回答 1

1

在 Web Intelligence 中,默认情况下所有提示都是必需的,您必须通过 SDK 为其提供值。从 BusinessObjects XI R3 开始,实际上可以将报告中的提示配置为可选。此配置由报告编写器完成。如果提示是可选的,那么您可以选择在使用 SDK 时不设置提示值。

获得可选提示的另一种方法是使提示“匹配模式”,或者如果它是日期,则找出默认值。当提示是可选的并且是“在列表中”时,您可以将值设置为“%”,而对于日期,设置默认值。

于 2011-11-28T16:16:44.387 回答