2017-05-09 56 views
0

大家好,提示限制業務對象webi富客戶端中的查詢結果?

我是業務對象的新手。我正在製作一份報告,其中業務層對象是從兩個表的列(派生出A和B)派生而來的。表B是與表A左外部連接的。我在表B的一列上創建了一個提示。現在,當我在Web Intelligence富客戶端中運行查詢時,提示將被添加到查詢的where條件並抑制表A中可用但不在表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 [email protected]() 
</code> 

我想提出從表A中的所有記錄,不論從表B.數據有什麼辦法去實現它。我使用Business Objects 4.0,信息設計工具和Web Intelligence智能客戶端進行報告生成。

回答

0

的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 [email protected]() 

遺憾的是,目前的動態把一個@Prompt()在FROM子句中的查詢,短創建派生表不支持或者欺騙A和B之間的連接。

如果這是一次性需求,那麼您可以修改報表中的SQL,但這不是一個持久的解決方案。

根據實際查詢的複雜性和表中的數據量,您可以通過多個查詢來獲得所需的結果。創建一個查詢,其中包含來自TABLE_A的IDCOLUMN1,以及來自TABLE_B的具有IDCOLUMN2MEASURE的另一個查詢。第二個查詢將包含COLUMN2上的@Prompt()。

在報告中,合併兩個查詢ID。您可能需要爲COLUMN1COLUMN2創建新的變量作爲相應的ID對象的屬性,但完成後結果應該是您想要的。