Oracle の Brio を使用してダッシュボードを構築しようとしています。同じ種類のデータを取得し、集計して表示するには、6 つの異なるデータベースにアクセスする必要があります。私がそれを行うときを除いて、Brio は最初のソースからデータを問題なく取得します。2 番目のデータ ソースからデータを取得すると、Brio は元のデータを 2 番目のセットに置き換えます。そのため、データを集計できません。Brioでこれを行う方法を教えてください。
2 に答える
クエリを6回実行するのではなく、 UNIONステートメントを使用する必要があります。
例えば:
これをしないでください
SELECT * FROM DATABASE_1..TABLE_1
GO
SELECT * FROM DATABASE_2..TABLE_1
GO
SELECT * FROM DATABASE_3..TABLE_1
GO
代わりにこれを行う
SELECT * FROM DATABASE_1..TABLE_1
UNION
SELECT * FROM DATABASE_2..TABLE_1
UNION
SELECT * FROM DATABASE_3..TABLE_1
GO
ソースごとに異なる OCE ファイルを使用している場合 (おそらくそうであるように)、これを行う簡単な方法はありません。OCE ファイルごとに個別のクエリが必要です。
すべてのデータベースが 1 つの OCE ファイルの下にある場合は、UNION トリックを使用できます。さらに指摘すると、Brio では「Append Query」として見つかります。返される内容に関して、最初のクエリと同じようにクエリを作成するようにしてください。すべての列見出しはそこから取得されます。
さまざまなクエリを 1 つの結果セクションに統合する必要がある場合、標準の Brio 関数のみを使用してそれを行うために私が見つけた最も簡単な (まあ、唯一の) 方法は、すべてのフィールドで完全外部結合を介して各セットを結合することですそして、各フィールドを合体させます...しかし、これは恐ろしく非効率的であり、大きなファイルでは終了しません。おそらく、ファイルを並べ替えて、それらをまとめて解析するための JavaScript ルーチンを作成するか、最初からすべてを Brio の外部で実行する方がよいでしょう。