带字符串参数的SpagoBI Studio和BIRT报告不起作用

时间:2014-10-02 17:25:26

标签: birt business-intelligence spagobi fiware-knowage

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

我希望拥有一个带有SpagoBI中定义的String参数的外部数据集。该数据集使用查询的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

上讨论论坛上的问题

1 个答案:

答案 0 :(得分:2)

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

  1. 直接在数据集上,基于字符串的参数自动包装在单引号中。因此,在预览模式下,请勿在预览参数周围添加单引号。

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

  3. 通过以上两点的处理,现在可以将数据集导入SpagoBI Studio / BIRT。

    1. 在针对该数据集运行报表时,在SpagoBI Studio / BIRT中,请勿将字符串参数括在单引号中。数据集的字符串参数自动换行在这种情况下有效。

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