Oracle® Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド 12c (12.2.1.1.0) E77222-02 |
|
![]() 前へ |
![]() 次へ |
BI Publisherでは、キャラクタ・ラージ・オブジェクト(CLOB)データ型として格納されたデータのデータ・モデル内での使用をサポートしています。この機能によって、別のプロセスで生成してデータベースに保存してあるXMLデータを、BI Publisherデータ・モデルへの入力として使用できます。
クエリー・ビルダーを使用して、SQL問合せで列を取得してから、データ・モデル・エディタを使用して、必要なデータ構造を指定します。データ・モデルの実行時に、データ・エンジンは次のいずれかの形式でデータを構造化します。
レポートに表示できるXMLタグ名内のプレーンな文字セット(例: 項目の説明)
構造化XML
注意:
必ずデータに改行またはキャリッジ・リターンが含まれないようにしてください。データ内の改行およびキャリッジ・リターンは、BI Publisherレポートのレイアウトで予期したように表示されないことがあります。
CLOBとして格納されたデータからデータ・セットを作成するには:
問合せの実行時、CLOB列に整形式XMLが含まれていると、データ・エンジンはCLOB列のタグ名内に構造化されたXMLデータを返します。
データ型がXMLの場合の出力例:
<DESCRIPTION>要素には、次に示されているようにCLOB列内に格納されたXMLデータが含まれています。
データ型がCLOBの場合の出力例:
CLOBデータ型としてデータが返されるように選択している場合、返されるデータは次に示されているように構造化されます。
詳細は、CLOB列データで参照できます。
バースティング問合せでCLOB列を使用する際に特有の注意点は、バースティング定義のデータ・モデルへの追加を参照してください。
BI Publisherでは、データベースのCLOB列に格納されたXHTML文書形式のデータを取得して、生成されたレポートでマークアップをレンダリングできます。
BI Publisherレポート・レンダリング・エンジンでマークアップ・タグを処理できるようにするには、データ・エンジンから渡されたXMLレポート・データ内で、XHTMLデータをCDATAセクション内にラッピングする必要があります。
CDATAセクションでラッピングされたデータをデータベースに格納することをお薦めします。これにより、単純なSELECT文を使用してデータを抽出できます。データがCDATAセクション内にラッピングされていない場合は、そのデータをラッピングするための命令をSQL文に含める必要があります。
次の各項では、それぞれの場合でXHTMLデータを抽出する方法について説明しています。
マークアップをレポート内に表示するには、Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイドのレポートでHTML形式のデータをレンダリングする方法に記載されている構文を使用する必要があります。この項には、サポートされるHTML形式についての説明もあります。レポート内でのHTMLマークアップのレンダリングは、RTFテンプレートに対してのみサポートされます。
ここでは、次のデータが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に設定します。
ここでは、次のデータが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に設定します。