OBIEE:如何在保存的过滤器中设置'is prompted'值



我的任务是自动测试OBIEE报告数据。主要步骤是获取报表的逻辑 SQL。

我有带报告的仪表板。每个报告都附加了命名过滤器(不是内联筛选器)。因此,我想找到一种方法来设置过滤器值并以编程方式运行报表SQL的生成(以便用我的值填充WHERE子句),播放它并检索数据。我尝试了以下方法:

  1. 欧比网络服务。首先,我使用generateReportSQL,然后调用executeSQLQuery。这种方法适用于内联过滤器,我设法在.但是我无法使用它与保存的过滤器一起使用。如何使用为附加的已保存过滤器中的列设置的值生成报告?在文档或互联网上找不到任何信息。
  2. 生成设置了所有提示的仪表板 URL,运行它,然后读取使用情况跟踪表以检索 SQL 查询。但这似乎有点奇怪的方法,我相信一定有一种更简单的方法来完成任务。此外,使用情况跟踪不会立即将有关报表执行的信息放入其数据库中,它会有一些超时。有没有办法避免它?
  3. runcat.sh+nqcmd- 仍然没有找到为保存的过滤器设置值的方法。

所以,我的问题是:如何生成报告的逻辑 SQL,并为附加的已保存过滤器设置提示值?

提前感谢, 乔尔

更新

一些例子:

  1. 我的使用情况跟踪分析的 XML 包含以下内容:

    <saw:filter>
    <sawx:expr xsi:type="sawx:logical" op="and">
    <sawx:expr xsi:type="sawx:special" op="prompted">
    <sawx:expr xsi:type="sawx:sqlExpression">"S_NQ_ACCT"."START_DT"</sawx:expr>
    </sawx:expr>
    <sawx:expr xsi:type="sawx:special" op="prompted">
    <sawx:expr xsi:type="sawx:sqlExpression">"S_NQ_ACCT"."USER_NAME"</sawx:expr>
    </sawx:expr>
    <sawx:expr xsi:type="sawx:special" op="prompted">
    <sawx:expr xsi:type="sawx:sqlExpression">"S_NQ_ACCT"."SAW_DASHBOARD_PG"</sawx:expr>
    </sawx:expr>
    </sawx:expr>
    

我可以使用generateReportSQLfilterExpressions标签来创建逻辑 SQL,该逻辑 SQL 在 WHERE 子句中包含我的值。如果标签过滤器包含在分析的XML中,一切正常(内联过滤器的情况,如上例所示):

<v7:generateReportSQL>
<v7:reportRef>
<v7:reportPath>report path</v7:reportPath>
</v7:reportRef>
<v7:reportParams>
<!--Zero or more repetitions:-->
<v7:filterExpressions>            
<![CDATA[<sawx:expr xsi:type="sawx:string" op="equal" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:saw="com.siebel.analytics.web/report/v1.1" xmlns:sawx="com.siebel.analytics.web/expression/v1.1" subjectArea="Usage Tracking">
<sawx:expr xsi:type="sawx:sqlExpression">"S_NQ_ACCT"."USER_NAME"</sawx:expr>
<sawx:expr xsi:type="sawx:string">testuser</sawx:expr></sawx:expr>
]]>
</v7:filterExpressions>
.............................
</v7:reportParams>
<v7:sessionID>...</v7:sessionID>
</v7:generateReportSQL>
    我的
  1. 测试分析的XML包含以下内容:

    <saw:filter>
    <sawx:expr xsi:type="sawx:savedFilter" path="/shared/myproject/_filters/myroject/my saved filter" name="my saved filter" /></saw:filter>
    
">

我保存的筛选器"具有"提示"列,我想将其设置为我的值并运行分析以获取数据集。但是怎么做呢?

如果Web服务在这里毫无用处,可以使用什么?

由于这些通常用于内容方面的完全动态填充(从用户配置文件中提取的实例化变量,从提示中提取的内容等),因此您不会在 LSQL 中获得它们。

tl;dr - Robin 写了一篇关于使用 LSQL https://www.rittmanmead.com/blog/2014/03/built-in-obiee-load-testing-with-nqcmd/进行负载测试的 bice 文章

编辑:提出了基线验证工具(BVT),这就是答案。

相关内容

  • 没有找到相关文章

最新更新