1

如何将参数传递给 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 看到查询是使用有效传递的参数执行的,但为什么窗口会卡住?

4

3 回答 3

1

您不能将报告中的参数传递给 lovs。

前面给出的示例是基于用户登录传递的配置文件属性。

有关使用配置文件属性的信息,请参见下图。

首先创建要使用的配置文件属性。

在此处输入图像描述

然后你要填写用户对应的所有profile属性

在此处输入图像描述

然后使用您希望我使用venueId创建的配置文件属性创建一个lov

见下图

在此处输入图像描述

现在测试 lov 你会得到如下图的响应。

在此处输入图像描述

当您需要特定于用户的报告时,请使用配置文件属性。

于 2015-08-20T05:59:52.660 回答
0

您可以在数据集查询中使用配置文件属性,例如;

select id, name
from table1
where parent_id = '${parent_id}'

并在 LOV 中使用创建的数据集。

请注意,如果查询仅返回 1 行链接到文档的分析驱动程序将不可见,但会按预期运行。

于 2019-07-09T07:07:40.880 回答
-1

您需要在查询语句中用单引号包裹属性简码

像这样

select id, name
from table1
where parent_id = '${parent_id}'
于 2015-05-26T01:38:46.337 回答