プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド
12c (12.2.1.1.0)
E77222-02
目次へ移動
目次

前
前へ
次
次へ

キャラクタ・ラージ・オブジェクト(CLOB)として格納されたデータのデータ・モデル内での使用方法

BI Publisherでは、キャラクタ・ラージ・オブジェクト(CLOB)データ型として格納されたデータのデータ・モデル内での使用をサポートしています。この機能によって、別のプロセスで生成してデータベースに保存してあるXMLデータを、BI Publisherデータ・モデルへの入力として使用できます。

クエリー・ビルダーを使用して、SQL問合せで列を取得してから、データ・モデル・エディタを使用して、必要なデータ構造を指定します。データ・モデルの実行時に、データ・エンジンは次のいずれかの形式でデータを構造化します。

  • レポートに表示できるXMLタグ名内のプレーンな文字セット(例: 項目の説明)

  • 構造化XML

注意:

必ずデータに改行またはキャリッジ・リターンが含まれないようにしてください。データ内の改行およびキャリッジ・リターンは、BI Publisherレポートのレイアウトで予期したように表示されないことがあります。

CLOBとして格納されたデータからデータ・セットを作成するには:

  1. ツールバーの「新規データ・セット」をクリックし、「SQL問合せ」を選択します。「新規データ・セット - SQL問合せ」ダイアログが開きます。
  2. データ・セットの名前を入力します。
  3. このデータ・セットのデフォルト・データソースを使用しない場合は、リストから「データソース」を選択します。
  4. SQL問合せを入力するか、「クエリー・ビルダー」を使用してCLOBデータ列を取得する問合せを作成します。クエリー・ビルダー・ユーティリティの詳細は、SQLクエリー・ビルダーの使用を参照してください。たとえば、「DESCRIPTION」という名前の列にCLOBデータが格納されている問合せを作成できます。
  5. 問合せの入力後に、「OK」をクリックして保存します。BI Publisherによって、問合せが検証されます。
  6. デフォルトでは、データ・モデル・エディタはCLOB列にCLOBデータ型を割り当てます。データ型をXMLに変更するには、データ型アイコンをクリックして「XML」を選択します。

データが返される方法

問合せの実行時、CLOB列に整形式XMLが含まれていると、データ・エンジンはCLOB列のタグ名内に構造化されたXMLデータを返します。

データ型がXMLの場合の出力例:

<DESCRIPTION>要素には、次に示されているようにCLOB列内に格納されたXMLデータが含まれています。

データ型がCLOBの場合の出力例:

CLOBデータ型としてデータが返されるように選択している場合、返されるデータは次に示されているように構造化されます。

CLOB列データを使用したデータ・セットの注意点

詳細は、CLOB列データで参照できます。

バースティング問合せでCLOB列を使用する際に特有の注意点は、バースティング定義のデータ・モデルへの追加を参照してください。

CLOB列に格納されたXHTMLデータの処理

BI Publisherでは、データベースのCLOB列に格納されたXHTML文書形式のデータを取得して、生成されたレポートでマークアップをレンダリングできます。

BI Publisherレポート・レンダリング・エンジンでマークアップ・タグを処理できるようにするには、データ・エンジンから渡されたXMLレポート・データ内で、XHTMLデータをCDATAセクション内にラッピングする必要があります。

CDATAセクションでラッピングされたデータをデータベースに格納することをお薦めします。これにより、単純なSELECT文を使用してデータを抽出できます。データがCDATAセクション内にラッピングされていない場合は、そのデータをラッピングするための命令をSQL文に含める必要があります。

次の各項では、それぞれの場合でXHTMLデータを抽出する方法について説明しています。

マークアップをレポート内に表示するには、Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイドのレポートでHTML形式のデータをレンダリングする方法に記載されている構文を使用する必要があります。この項には、サポートされるHTML形式についての説明もあります。レポート内でのHTMLマークアップのレンダリングは、RTFテンプレートに対してのみサポートされます。

CDATA内にラッピングされたXHTMLデータの取得

ここでは、次のデータがCLOB_DATAというデータベース列に格納されていると仮定します。

<![CDATA[
<p><font style="font-style: italic; font-weight: bold;" size="3">
<a href="http://www.oracle.com">oracle</a></font> </p>
<p><font size="6"><a href="http://docs.oracle.com/">Oracle Documentation</a>
</font></p>
]]>

次の例に示すような単純なSQL文を使用して列データを取得します。

select CLOB_DATA as "RTECODE" from MYTABLE

次に示されているように、データ・モデル・エディタでRTECODE列のデータ型をXMLに設定します。

問合せでのCDATA内へのXHTMLデータのラッピング

ここでは、次のデータがCLOB_DATAというデータベース列に格納されていると仮定します。

<p><font style="font-style: italic; font-weight: bold;" size="3">
<a href="http://www.oracle.com">oracle</a></font> </p>
<p><font size="6"><a href="http://docs.oracle.com/">Oracle Documentation</a>
</font></p>

次の構文をSQL問合せ内で使用して、そのデータを取得し、それをCDATAセクション内にラッピングします。

select '<![CDATA' || '['|| CLOB_DATA || ']' || ']>' as "RTECODE"from MYTABLE

データ・モデル・エディタで、RTECODE列のデータ型をXMLに設定します。