通过直接数据库请求中的表示变量传递多个值

问题描述 投票:0回答:1

我遇到了一个我似乎无法解决的问题,我希望可以利用这个社区中的专业知识。

我已经在OBIEE中创建了多个直接数据库请求,我能够将表示变量传递给仪表板提示。但是,我只能选择一个值,如果选择多个值,则会收到一条错误消息,提示未找到结果。我已经在Oracle社区上对此进行了研究,但尚未找到解决方案,所有类似的问题都没有找到。

[当我选择倍数值时,我注意到它们作为一个长字符串传递。例如。

GL_Period IN ('APR-19,AUG-19,FEB-19,JAN-19,JUL-19,JUN-19,MAR-19,MAY-19,NOV-19,OCT-19,SEP-19')

。每个值都有引号和结尾引号,而不是引号。

我的问题是,有人可以帮助我得到此提示以接受多个值。我试图更新仪表板提示符后面的SQL,我的想法是,如果我将'连接到每个值的开头和结尾。然后TRIM的第一个和最后一个,这将起作用。但是,即使有可能,我也无法获得正确的语法。

这是我的直接数据库请求中我的演示变量的代码

 AND     (
    gl_period_name IN ('@{P_Period}')
    OR      'All'          IN ('@{P_Period}{All}'))

我能够使用以下代码将''添加到每个值-这是用于表示变量P_Period的>]

SELECT CHAR (39)||"Time"."Fiscal Period"||CHAR (39) FROM "Financials - AP Transactions")

我尝试了以下查询以将两者合并但无济于事

TO_CHAR(TRIM(BOTH ''' FROM SELECT CHAR (39)||"Time"."Fiscal Period"||CHAR (39) FROM "Financials - AP Transactions"))

任何建议,我们将不胜感激

我遇到了一个我似乎无法解决的问题,我希望可以利用这个社区中的专业知识。我已经在OBIEE中创建了多个直接数据库请求,我可以传递一个...

obiee bi-publisher
1个回答
0
投票

您可以使用递归CTE将逗号分隔的字符串转换为多个值

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.