Oracle® Fusion Middleware Oracle Reportsレポート作成のためのユーザーズ・ガイド 12c (12.2.1.2) E82764-01 |
|
前へ |
次へ |
この項では、レポートのデータ・モデルを操作する際に実行する可能性がある次のタスクの手順について説明します。
問合せの作成には次のツールを使用できます。
レポート・ウィザード(単一問合せレポートのみ)
データ・ウィザード
SQL問合せツール(Oracleのリレーショナル・データベースからデータを選択する問合せを作成する場合)
XML Queryツール(DTDファイルがある状態でXMLデータ・ファイルにアクセスする場合)
JDBC Queryツール(JDBCを使用できるデータ・ソースにアクセスする場合)
Text Queryツール(テキスト・プラガブルなデータ・ソースからデータを選択する問合せを作成する場合)
REFカーソル問合せツール(REFカーソル
を使用する場合)
関連項目
レポート・ウィザードを使用して問合せを作成するには:
レポート・ウィザードの「データ」ページで、以前に選択した型のデータ・ソースを検索対象とする問合せ文を入力します。たとえば、「SQL問合せ」のデータ・ソースを選択した場合、次のいずれかの方法でSQL問合せを入力できます。
「データ・ソース定義」フィールドにSELECT
文を入力します。
SQLの知識がなく、グラフィカルに問合せを作成するには、「クエリー・ビルダー」をクリックします。
他の人が作成した問合せを使用する場合、またはテキスト・エディタを使用する場合は、「問合せをインポート」をクリックします。
データ・ウィザードを使用して問合せを作成するには:
データ・モデル・ビューで、「挿入」→「問合せ」を選択してデータ・ウィザードを表示します。
ウィザードの指示に従って、データ・モデルに対する最初の問合せを作成します。
作成する問合せごとに手順1と2を繰り返します。
作成されたデータ・モデルをデータ・モデル・ビューで変更します。
データ・ウィザードを再実行するには、次のいずれかの操作を行います。
右クリックして「データ・ウィザード」を選択します。
グラフをクリックし、「編集」→「設定」を選択します。
注意: データ・ウィザードでは、問合せ間のリンクを作成することはできません。問合せに親子リレーションシップを定義するには、データ・リンクを手動で作成します。 |
SQL問合せを作成するには:
データ・モデル・ビューで、ツール・パレットの「SQL問合せ」ツールをクリックし、データ・モデル・ビューの空いている場所をクリックして、「SQL問合せ文」ダイアログ・ボックスを表示します。
「SQL問合せ文」フィールドで、問合せのSELECT
文を次のいずれかの方法で定義します。
「OK」をクリックします。
次のいずれかの方法で、問合せの内容を調整します。
問合せオブジェクトを右クリックして「プロパティ・インスペクタ」を選択し、目的のプロパティを設定します。
問合せオブジェクトを右クリックして「データ・ウィザード」を選択し、表示するフィールド、グループ・フィールドおよび合計を指定します。
作成する問合せごとに手順1から5を繰り返します。
注意: レポートのデータ・モデル・ビューで複数の問合せを定義すると、レポート・ウィザードを起動してレイアウトをデフォルトに戻しても「データ」ページは表示されません。 |
XML問合せを作成するには:
データ・モデル・ビューで、ツール・パレットの「XML Query」ツールをクリックします。
ウィンドウのメイン領域(キャンバス領域)をクリックします。
「XML問合せの定義」ダイアログ・ボックスで、選択されているdata definition file (DTD)に定義されているフィールドに基づいて、XML問合せを定義します。問合せはXMLデータ・ファイルのデータに対して実行されます。XSLファイルを指定している場合、問合せを実行する前にXMLデータ・ファイルが変換されます。
「OK」をクリックします。
JDBC問合せを作成するには:
データ・モデル・ビューで、ツール・パレットの「JDBC Query」ツールをクリックします。
ウィンドウのメイン領域(キャンバス領域)をクリックします。
「JDBC Query」ダイアログ・ボックスで、JDBC問合せまたはプロシージャと、データ・ソースへの接続パラメータを定義します。操作方法がわからない場合には「ヘルプ」をクリックしてください。
「OK」をクリックします。
テキスト問合せを作成するには:
データ・モデル・ビューで、ツール・パレットの「Text Query」ツールをクリックします。
ウィンドウのメイン領域(キャンバス領域)をクリックします。
「テキスト問合せの定義」ダイアログ・ボックスで、テキスト問合せのデータ定義とデータ・ソースを指定します。操作方法がわからない場合には「ヘルプ」をクリックしてください。
「OK」をクリックします。
REFカーソル
問合せを作成するには:
次のいずれかの方法で、REFカーソル
の型を定義するパッケージを作成します。
ローカル・プログラム・ユニットを作成します(第4.13.3.1項「ローカル・プログラム・ユニットの作成」を参照)。
外部PL/SQLライブラリを作成します(第4.13.5.1項「外部PL/SQLライブラリの作成」を参照)。
ストアド・プログラム・ユニットを作成します(第4.13.3.2項「ストアド・プログラム・ユニットの作成」を参照)。
手順1で作成したパッケージが外部PL/SQLライブラリの場合は、参照する前にレポートに連結しておく必要があります。
データ・モデル・ビューで、ツール・パレットの「REFカーソル問合せ」ツールをクリックします。
ウィンドウのメイン領域(キャンバス領域)をクリックします。
PL/SQLエディタで、カーソルを開いてパッケージ内で定義したREFカーソル
型のカーソル変数を返すファンクションのPL/SQLを入力します。次に例を示します。
empCur rcPackage.empCurType; BEGIN OPEN empCur FOR SELECT * FROM emp; RETURN empCur; END; /* Note, rcPackage is a local program unit defined as: */ PACKAGE rcPackage IS TYPE empCurType IS REF CURSOR RETURN emp%ROWTYPE; END;
必要に応じて問合せの内容を調整します。
REFカーソル
問合せオブジェクトをクリックし、「ツール」→「プロパティ・インスペクタ」を選択してプロパティを変更します。
問合せオブジェクトをクリックし、「ツール」→「データ・ウィザード」を選択して、表示するフィールド、グループ・フィールドおよび合計する項目を指定します。
作成するREFカーソル
問合せごとに、ステップ1から6を繰り返します。
関連項目
SQL問合せ文、またはレポートに表示される列を変更するには:
データ・モデル・ビューで問合せオブジェクトをクリックし、右クリックして「データ・ウィザード」を選択します。
SELECT
文を変更するには「データ」タブをクリックします。
ブレーク・グループを変更するには「グループ」タブをクリックします。
合計を表示するサマリー列を追加または変更するには「合計」タブをクリックします。
レポートに表示するデータベース列の選択を変更するには、「ツール」→「レポート・ウィザード」を選択し、「フィールド」タブをクリックします。
問合せのプロパティを変更するには:
データ・モデル・ビューで問合せオブジェクトをクリックし、右クリックして「プロパティ・インスペクタ」を選択します。
プロパティ・インスペクタで、必要に応じてプロパティを変更します。
クエリー・ビルダーでは、SQL SELECT
文を使用すると、作成する問合せのほとんどを定義できます。クエリー・ビルダーでは、作業領域に表示された列に基づいて、適切なSELECT FROM [table.column]
句が自動的に生成されます。
クエリー・ビルダーの使用方法は、Oracle Reportsオンライン・ヘルプの使用方法に関する項を参照してください。
関連項目
注意: この手順は、ペーパーベースのレポートに適用されます。 |
データベースからHTMLタグを選択するには:
問合せを作成し、HTMLタグを含む列かHTMLタグを含むファイルの名前をSELECT
文で選択します。
データ・モデル・ビューで、HTMLタグの列をダブルクリックして、プロパティ・インスペクタを表示します。
HTMLタグそのものではなく、HTMLタグを含むファイルの名前が列に含まれている場合は、次の操作を行います。
「列」ノードで、「ファイルからの読取り」プロパティを「はい」に設定します。
「ファイル形式」プロパティを「テキスト」に設定します。
ペーパー・レイアウト・ビューで、列を参照するフィールド・オブジェクトを作成します。
フィールド・オブジェクトをダブルクリックして、プロパティ・インスペクタを表示します。
プロパティ・インスペクタの「Webの設定」ノードで、「HTMLタグを含む」プロパティを「はい」に設定します。
使用に関する注意
テキスト・オブジェクトの「HTMLタグを含む」プロパティが「はい」に設定されていると、HTMLタグと属性がレポート出力に次のようにフォーマットされます。
レポートがHTML出力またはHTMLCSS出力で生成される場合、その出力のHTMLタグと属性がすべて解析およびフォーマットされます。
レポートが他のビットマップ出力フォーマット(PDF、RTF、PostScriptなど)で生成される場合は、第2.8.9項「HTMLフォーマットについて」で説明しているように、固定のHTMLタグと属性のセットが解釈されて、その出力にフォーマットされます。サポートされているタグと属性のセットにないHTMLは解釈されずに、レポート出力にそのまま表示されます。
注意: これらの手順および第4.9.8.1.2項「イメージ・オブジェクトのファイルへのリンク」(ペーパーベースのレポートのみ)に示す手順を使用すると、JPEG (Progressive JPEGやExif JPEGなどのすべてのタイプ)、PNG、BMP、TIFF、GIF、CGMなど、Oracle Reportsでサポートされる様々なフォーマットのイメージを含めることができます。ペーパーベースのレポートでは、「挿入」→「イメージ」を使用して、TIFF、JFIF、BMP、TGA、PCX、PICT、GIF、CALS、RAS、OIFまたはPCDのフォーマットで、ファイル内のイメージをイメージ用のレポート・レイアウトにインポートすることもできます(第4.9.8.1.1項「イメージのインポート」を参照)。 |
イメージまたはイメージ・オブジェクトのファイル名を含む列を選択する問合せを作成します。
データ・モデル・ビューで、イメージの列をダブルクリックして、プロパティ・インスペクタを表示します。
列の内容がイメージそのものではなく、イメージ・オブジェクトのファイル名である場合は、次の操作を行います。
「列」ノードで、「ファイルからの読取り」プロパティを「はい」に設定します。
列にイメージが含まれている場合も、列にイメージ・オブジェクトのファイル名が含まれている場合も、「列」ノードの「ファイル形式」プロパティを「イメージ」に設定します。
JSPベースのWebレポートを作成している場合、次のように、containsHtml
属性を、列の<rw:field>
JSPタグに追加することも必要になります。
レポートのWebソース・ビューを表示します。
列のrw:field
タグ(<rw:field ... src="column_name" ...>
)を検索します。
containsHtml=yes
属性を追加して、イメージがフィールドの値に含まれるように指定します。
次に例を示します。
<rw:field id="F_MYIMAGE" src="MYIMAGE" nullValue=" " containsHtml="yes">
Webレイアウトが指定されたレポート出力をWebブラウザでプレビューするには、「プログラム」→「Webレイアウトを実行」を選択してWebソースを実行します。Webソース・ビュー(JSPベースのWebレポートの場合)を変更すると、変更がレポートの出力にどのように影響するかをすぐに確認できます。
関連項目
注意: この手順を行うのはHTML出力の場合のみです。これらの手順および第4.9.8.1.3項「イメージ・オブジェクトのURLへのリンク」(ペーパーベースのレポートのみ)に示す手順を使用すると、JPEG (Progressive JPEGやExif JPEGなどのすべてのタイプ)、PNG、BMP、TIFF、GIF、CGMなど、Oracle Reportsでサポートされる様々なフォーマットのイメージを含めることができます。ペーパーベースのレポートでは、「挿入」→「イメージ」を使用して、TIFF、JFIF、BMP、TGA、PCX、PICT、GIF、CALS、RAS、OIFまたはPCDのフォーマットで、ファイル内のイメージをイメージ用のレポート・レイアウトにインポートすることもできます(第4.9.8.1.1項「イメージのインポート」を参照)。 |
HTMLレポートに含めるイメージを指すURLをデータベースから選択するには:
SELECT
文を使用して、URLを含む列を選択する問合せを作成します。
データ・モデル・ビューで、URLを含む列をダブルクリックして、プロパティ・インスペクタを表示します。
「列」ノードで次の操作を行います。
「ファイルからの読込み」プロパティを「はい」に設定します。
「ファイル形式」プロパティを「イメージURL」に設定します。
JSPベースのWebレポートを作成している場合、次のように、containsHtml
属性を、列の<rw:field>
JSPタグに追加することも必要になります。
レポートのWebソース・ビューを表示します。
列のrw:field
タグ(<rw:field ... src="column_name" ...>
)を検索します。
containsHtml=yes
属性を追加して、イメージがフィールドの値に含まれるように指定します。
次に例を示します。
<rw:field id="F_MYIMAGE" src="MYIMAGE" nullValue=" " containsHtml="yes">
Webレイアウトが指定されたレポート出力をWebブラウザでプレビューするには、「プログラム」→「Webレイアウトを実行」を選択してWebソースを実行します。Webソース・ビュー(JSPベースのWebレポートの場合)を変更すると、変更がレポートの出力にどのように影響するかをすぐに確認できます。
関連項目
ブレーク・グループは、レポート・ウィザードで定義するか手動で作成します。
ブレーク・グループを手動で作成するには:
データ・モデル・ビューで、レポートをブレークする列を含むグループを、問合せオブジェクトの約5センチメートル (2インチ)下にドラッグします。
レポートの分割に使用する列を選択します。たとえば、従業員データの一覧を部門番号でグループ化する場合は、部門番号の列を選択します。列を選択したら、グループ外の上の方で問合せオブジェクトとの間へドラッグして、新しいグループを作成します。これがブレーク列になります。
新しいグループ・オブジェクトをダブルクリックしてプロパティ・インスペクタを表示し、ブレーク・グループのプロパティを設定できます。
関連項目
マトリックス・グループは、データ・ウィザードで定義するか手動で作成します。データ・ウィザードを使用してマトリックス(クロス積)グループを作成する手順は次のとおりです。
データ・モデル・ビューで、右クリックして「データ・ウィザード」を選択します。
「問合せ」ページで、「マトリックス問合せ」チェック・ボックスを選択します。
ウィザードの指示に従って、マトリックス・グループの列、行およびセルに使用する各列を選択します。
マトリックス(クロス積)グループを手動で作成するには:
データ・モデル・ビューで、グループ・オブジェクトのタイトル・バーを下へドラッグします。
行と列にする列を、グループ・オブジェクトから空いたスペースにドラッグし、新しいグループを2つ作成します。
ツール・パレットの「クロス積」ツールをクリックします。
マウスをドラッグし、マトリックス(クロス積)グループに入れるグループを囲むボックスを描きます。
セル・グループがマトリックス(クロス積)グループとは別の問合せの場合は、マトリックス・グループの列とセル・グループの列の間に適切なリンクを作成します。
関連項目
データ・リンクを作成するには:
データ・モデル・ビューで、ツール・パレットの「データ・リンク」ツールをクリックします。リンクは常に親グループから子問合せへと描かれます。
次のようにリンクを作成します。
グループ間リンクの作成: ある問合せのグループと別の問合せのグループとの間にリンクを作成するには、親グループをクリックして(グループ内の列をクリックしないようにして)子グループへリンクをドラッグします。グループ間リンクは、子問合せ側で親のデータに関する情報が必要な場合に便利です。
列間リンクの作成: 列と列の間にリンクを作成するには、親問合せの列をクリックして、子問合せの列へリンクをドラッグします。
新しいリンク・オブジェクトをダブルクリックしてプロパティ・インスペクタを表示し、目的のプロパティを設定します。
関連項目
式列を作成または編集するには:
データ・モデル・ビューで、ツール・パレットの「式列」ツールをクリックし、次の操作を行います。
グループ内に列を作成するには、グループの階層の中で、列を配置する場所をクリックします。
レポートレベルの列を作成するには、キャンバス領域の空いている場所をクリックします。
式列オブジェクトをダブルクリックしてプロパティ・インスペクタを表示します。
「プレースホルダ/式」ノードで、「PL/SQL式」プロパティ・フィールドをダブルクリックします。
PL/SQLエディタで、式に使用するPL/SQL (SAL * 0.07など)を定義します。
次のようなグループと列を含むレポートがあるとします。
Groups Columns Summary --------------------------------------- RGN REGION RGNSUMSAL SUM(DEPTSUMSAL) COSTOFLIVING DEPT DNAME DEPTNO DEPTSUMSAL SUM(EMP.SAL) JOB JOB HEADCOUNT COUNT(EMP.EMPNO) EMP ENAME EMPNO SAL COMM
これらのグループや列で、給与に生計費手当(COSTOFLIVING)を適用する複数の式を作成します。作業が重複しないように、次のようなPL/SQLファンクションを作成して式から参照することができます。
function CompSal(salary number) return number is begin return (salary*CostofLiving); end;
次の2つは、このPL/SQLファンクションを式で参照する例です。
CompSal(:RGNSUMSAL)
または
CompSal(:SAL) + COMM
関連項目
データ・ウィザードを使用してサマリー列(合計または小計用)を作成する手順は次のとおりです。
データ・モデル・ビューで、合計する列を含む問合せをクリックします。
右クリックして、「データ・ウィザード」を選択します。
「合計」ページで、ウィザードの指示に従って必要なサマリーをレポートに追加します。
注意: グループ・レポートの場合、レポート・ウィザードとデータ・ウィザードは、ユーザーが定義する各サマリー列のデータ・モデル内にn個のサマリー・フィールドを作成します。サマリーする列より上のグループ・レベルごとに1つ、およびレポート・レベルで1つ作成されます。たとえば、レポートが部門別にグループ化され、さらに課別にグループ化される場合、給与合計を求めるためにサマリー列を定義すると、各部門グループおよび各課グループの給与合計(グループ・レベル・サマリー)および給与の総合計(レポート・レベル・サマリー)のフィールドが作成されます。 |
ツール・パレットを使用してサマリー列(合計または小計用)を作成するには:
データ・モデル・ビューで、ツール・パレットの「サマリー列」ツールをクリックし、次の操作を行います。
グループ内に列を作成するには、グループの階層の中で、列を配置する場所をクリックします。
レポートレベルの列を作成するには、キャンバス領域の空いている場所をクリックします。
新しいサマリー列のオブジェクトをダブルクリックしてプロパティ・インスペクタを表示します。
「サマリー」ノードで次の操作を行います。
リストからサマリーのタイプを選択して、「ファンクション」プロパティを設定します。
「ソース」プロパティを集計列に指定します。
「リセット位置」プロパティを、サマリー列の値をリセットするグループに設定します。
使用に関する注意
「グループ上」または「マトリックス」のスタイルが設定されたJSPベースのWebレポートで、ツールバーの「Webレイアウトを実行」ボタンをクリックするか「プログラム」→「Webレイアウトを実行」を選択したときに、サマリー列の値が左揃えで正しく表示されない場合は、次の回避策を実行して、値を揃えることができます。
Webソース・ビューでサマリー列が定義されているセクションを探し、次の行を削除して、余分なスペースを削除します。
<th class="summary_column_name"> </th>
関連項目
プレースホルダ列を作成または編集するには:
データ・モデル・ビューで、ツール・パレットの「プレースホルダ列」ツールをクリックします。
グループ内に列を作成するには、グループの階層の中で、列を配置する場所をクリックします。
レポートレベルの列を作成するには、キャンバス領域の空いている場所をクリックします。
プレースホルダ列オブジェクトをダブルクリックします。
プロパティ・インスペクタで、プレースホルダ列に目的のプロパティを設定します。
次の場所にプレースホルダ列の値を設定します。
Before Reportトリガー(プレースホルダがレポートレベルの列の場合)
レポートレベルの式列(プレースホルダがレポートレベルの列の場合)
プレースホルダのグループまたはその下のグループ内の式(値はグループの各レコードに一度ずつ設定します)
関連項目