当数据集具有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
上讨论论坛上的问题答案 0 :(得分:2)
事实证明,将String参数传递给SpagoBI和Birt确实有效,但是有一些障碍可以解决。
直接在数据集上,基于字符串的参数自动包装在单引号中。因此,在预览模式下,请勿在预览参数周围添加单引号。
直接在数据集上,如果SQL查询的WHERE子句的任何部分使用唯一标识符,则必须将其转换为String。然后可以将其与String进行比较。此障碍导致了大多数问题,但错误消息是非描述性的。
通过以上两点的处理,现在可以将数据集导入SpagoBI Studio / BIRT。
在针对该数据集运行报表时,在SpagoBI Studio / BIRT中,请勿将字符串参数括在单引号中。数据集的字符串参数自动换行在这种情况下有效。
通过SpagoBI GUI或SDK运行报告文档时,必须传入单引号括起来的参数,因为数据集不会像您期望的那样自动换行字符串参数。