提示限制业务对象webi富客户端中的查询结果?

Prompts are restricting the query result in business object webi rich client?

大家好,

我是业务对象的新手。我正在处理一份报告,其中业务层对象派生自两个表(比如 A 和 B)的列。 Table B 左外连接 Table A。我在 Table B 的列之一上创建了一个提示。现在,当我 运行 Web 中的查询时智能富客户端,提示被添加到查询的 where 条件并抑制 Table A 中可用但 Table B 中不可用的记录。请在下面找到可用的示例查询查询脚本。

<code>
Select
A.column1,
B.column2
sum(b.measure)
from TABLE_A LEFT OUTER JOIN TABLE_B ON TABLE_A.ID=TABLE_B.ID
where B.column2=@Prompt()
</code>

我想呈现 Table A 中的所有记录,而不考虑 Table B 中的数据。有什么方法可以实现它。我正在使用 Business objects 4.0 、信息设计工具和 Web 智能富客户端来生成报告。

SQL 做你想做的事是:

select
    A.column1,
    B.column2
    sum(b.measure)
from 
    TABLE_A 
    LEFT OUTER JOIN TABLE_B 
        ON TABLE_A.ID=TABLE_B.ID
           AND B.column2=@Prompt()

不幸的是,目前不支持在查询的 FROM 子句中动态放置 @Prompt(),除了创建派生 table 或伪造 A 和 B 之间的连接。

如果这是一次性需求,您可以只修改报告中的 SQL,但这不是一个持久的解决方案。

根据实际查询的复杂程度和 table 中的数据量,您可以使用多个查询来获得所需的结果。创建一个包含来自 TABLE_A 的 IDCOLUMN1 的查询,以及来自 TABLE_B 的包含 IDCOLUMN2MEASURE 的另一个查询].第二个查询将包括 COLUMN2 上的 @Prompt()。

在报告中,合并 ID 上的两个查询。您可能必须为 COLUMN1COLUMN2 创建新变量作为各自 ID 对象的属性,但完成后结果应该是您想要的。