如何在 SpagoBI 中传递参数顶部 LOV 查询
Posted
技术标签:
【中文标题】如何在 SpagoBI 中传递参数顶部 LOV 查询【英文标题】:How to pass parameter top LOV query in SpagoBI 【发布时间】:2014-11-21 08:54:40 【问题描述】:如何将参数传递给 SPagoBI 中的 LOV 查询?
我正在使用查询创建一个 LOV ...类似这样的内容:
select id, name
from table1
where parent_id = $parent_id
当我单击“保存前测试”以评估查询时,会出现标题为“要填充的配置文件属性”的窗口,要求我输入参数 parent_id 的值
这是显示在该页面上的文本:
lov 需要一些配置文件属性。 您的个人资料不包含所有必要的属性。 要继续测试,请为缺少的配置文件属性分配一个值。
填充值并单击“测试”后会出现加载图标并卡住。我检查了日志。以下任何日志文件中都没有错误信息:SpagoBI.log、catalina.out、SpagoBI_[1]_OperatorTrace.log、SpagoBIBirtReportEngine.log
我可以通过 Express Profiler 看到查询是使用有效传递的参数执行的,但为什么窗口会卡住?
【问题讨论】:
【参考方案1】:您不能将参数从报告传递给 lovs。
前面给出的示例是基于用户登录的配置文件属性。
查看下图了解如何使用配置文件属性。
首先创建要使用的配置文件属性。
那你要填写用户对应的所有profile属性
然后使用您希望我使用venueId创建的配置文件属性创建一个lov
见下图
现在测试 lov 你会得到响应见下图。
如果您需要特定于用户的报告,请使用配置文件属性。
【讨论】:
【参考方案2】:您可以在数据集查询中使用配置文件属性,例如;
select id, name
from table1
where parent_id = '$parent_id'
并在 LOV 中使用创建的数据集。
请注意,如果查询仅返回 1 行链接到文档的分析驱动程序将不可见,但会按预期运行。
【讨论】:
【参考方案3】:您需要在查询语句中用单引号包裹属性简码
喜欢这个
select id, name
from table1
where parent_id = '$parent_id'
【讨论】:
这里的 parent _id 是配置文件属性,而不是从报告中传递的参数。需要设置此配置文件属性,然后它将适用于用户登录的配置文件。以上是关于如何在 SpagoBI 中传递参数顶部 LOV 查询的主要内容,如果未能解决你的问题,请参考以下文章