4

当数据集具有字符串参数时,SpagoBI Studio BIRT 无法检索外部数据集定义。

我想要一个带有字符串参数的外部数据集,在 SpagoBI 中定义。该数据集使用查询的 WHERE 子句中的参数。我想使用 SpagoBI Studio 设计一个使用相同数据集并正确传递数据集所需参数的 BIRT 报告。

当我尝试将外部数据集定义(带参数)检索到 BIRT 报告中时,我收到一个错误,并且无法导入数据集定义。如果我从数据集中删除这些参数,则可以检索数据集定义,但我不再有参数。

如果外部数据集具有在查询的 WHERE 子句中使用的字符串参数,则 SpagoBI Studio / BIRT 在尝试附加/检索数据集时将失败。我无法达到可以指定 null 是 BIRT 中参数的允许值的地步,因为......它在 BIRT 中显示数据集字段、参数等之前失败了

当外部数据集具有数字参数时,整个场景工作正常,但我仅限于将数字参数传递给查询中的驱动记录选择。

请参阅以下 JIRA。

Studio 无法导入外部数据集,其中查询有单引号包裹参数 http://www.spagoworld.org/jira/browse/SPAGOBI-1870

在论坛上讨论该问题,网址为http://www.spagoworld.org/jforum/posts/list/3187.page#10288

4

1 回答 1

2

事实证明,将 String 参数传递给 SpagoBI 和 Birt 确实有效,但有一些障碍需要解决。

  1. 直接在数据集上,基于字符串的参数自动用单引号括起来。因此,在预览模式下,不要在预览参数周围加上单引号。

  2. 直接在数据集上,如果 SQL 查询的 WHERE 子句的任何部分使用唯一标识符,则必须将其转换为字符串。然后可以将其与字符串进行比较。这个障碍导致了大多数问题,但错误消息是非描述性的。

处理好上述两点后,现在可以将数据集导入 SpagoBI Studio / BIRT。

  1. 在针对该数据集运行报告时,在 SpagoBI Studio / BIRT 中,不要将字符串参数括在单引号中。数据集对字符串参数的自动换行适用于这种情况。

  2. 通过 SpagoBI GUI 或 SDK 运行报表文档时,需要传入用单引号括起来的参数,因为数据集不会像您期望的那样自动包装字符串参数。

于 2014-10-23T12:11:09.410 回答