2017-05-09 2 views
0

こんにちはすべて、プロンプトはビジネスオブジェクトwebiリッチクライアントのクエリ結果を制限していますか?

私はビジネスオブジェクトの初心者です。私は、ビジネスレイヤオブジェクトが2つのテーブルの列(Say AとB)から派生したレポートを作成しています。表Bは表Aと外部結合されています。表Bの列の1つにプロンプ​​トを作成しました。Web Intelligenceリッチ・クライアントで問合せを実行すると、問合せのwhere条件にプロンプ​​トが追加されます表Aでは利用可能であるが表Bでは利用可能ではない記録を抑制する。照会スクリプトで利用可能な以下のサンプル照会を見つける。私は関係なく、表Bからのデータの表Aからすべてのレコードを提示したい

<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> 

は、それを達成する方法はあります。私は、ビジネスオブジェクト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]() 

は残念ながら、動的にクエリのFROM句に@Promptを()置くためのサポートは現在ありません、派生テーブルを作成するための短いですまたはAとBの間の結合をフージングすることができます。

これは一度だけ必要な場合は、レポート内のSQLを変更するだけで済みますが、それは耐久性のある解決策ではありません。

実際のクエリの複雑さとテーブル内のデータ量によっては、複数のクエリで目的の結果を得ることができます。 TABLE_AからIDCOLUMN1を含むクエリを1つ作成し、TABLE_BのID,COLUMN2、およびMEASUREのクエリを作成します。 2番目のクエリには、COLUMN2の@Prompt()が含まれます。

レポートでは、IDで2つのクエリをマージします。それぞれのIDオブジェクトの属性としてCOLUMN1COLUMN2の新しい変数を作成する必要があるかもしれませんが、完了したら結果は必要なものになります。

関連する問題