ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Reportsレポート作成のためのユーザーズ・ガイド
11gリリース1(11.1.1)
B61376-01
  ドキュメント・ライブラリへ
ライブラリ
製品リストへ
製品
目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

4.8 データ・モデルの操作

この項では、レポートのデータ・モデルを操作する際に実行する可能性がある次のタスクの手順について説明します。

4.8.1 問合せの作成

問合せの作成には次のツールを使用できます。

  • レポート・ウィザード(単一問合せレポートのみ)

  • データ・ウィザード

  • SQL問合せツール(Oracleのリレーショナル・データベースからデータを選択する問合せを作成する場合)

  • XML Queryツール(DTDファイルがある状態でXMLデータ・ファイルにアクセスする場合)

  • JDBC Queryツール(JDBCを使用できるデータ・ソースにアクセスする場合)

  • Text Queryツール(テキスト・プラッガブルなデータ・ソースからデータを選択する問合せを作成する場合)

  • REFカーソル問合せツール(REFカーソルを使用する場合)

関連項目

第1.7.1項「問合せについて」

第1.7.3項「データベース列について」

4.8.1.1 問合せの作成: レポート・ウィザード

レポート・ウィザードを使用して問合せを作成するには:

  • レポート・ウィザードの「データ」ページで、以前に選択した型のデータ・ソースを検索対象とする問合せ文を入力します。たとえば、「SQL問合せ」のデータ・ソースを選択した場合、次のいずれかの方法でSQL問合せを入力できます。

    • 「データ・ソース定義」フィールドにSELECT文を入力します。

    • SQLの知識がなく、グラフィカルに問合せを作成するには、「クエリー・ビルダー」をクリックします。

    • 他の人が作成した問合せを使用する場合、またはテキスト・エディタを使用する場合は、「問合せをインポート」をクリックします。

4.8.1.2 問合せの作成: データ・ウィザード

データ・ウィザードを使用して問合せを作成するには:

  1. データ・モデル・ビューで、「挿入」→「問合せ」を選択してデータ・ウィザードを表示します。

  2. ウィザードの指示に従って、データ・モデルに対する最初の問合せを作成します。

  3. 作成する問合せごとに手順1と2を繰り返します。

  4. 作成されたデータ・モデルをデータ・モデル・ビューで変更します。

  5. データ・ウィザードを再実行するには、次のいずれかの操作を行います。

    • 右クリックして「データ・ウィザード」を選択します。

    • 問合せをクリックし、「編集」→「設定」を選択します。


      注意:

      データ・ウィザードでは、問合せ間のリンクを作成することはできません。問合せに親子リレーションシップを定義するには、データ・リンクを手動で作成します。

4.8.1.3 問合せの作成: SQL問合せツール

SQL問合せを作成するには:

  1. データ・モデル・ビューで、ツール・パレットの「SQL問合せ」ツールをクリックし、データ・モデル・ビューの空いている場所をクリックして、「SQL問合せ文」ダイアログ・ボックスを表示します。

  2. SQL問合せ文」フィールドで、問合せのSELECT文を次のいずれかの方法で定義します。

    • SQLの知識なしでもグラフィカルな方法で簡単に問合せを作成できるようにクエリー・ビルダーを使用するには、「クエリー・ビルダー」をクリックします。

    • ファイルから問合せをインポートするには、「問合せをインポート」をクリックします。

    • 独自にSELECT文を入力するには、「SQL問合せ文」フィールドに入力します。


      ヒント:

      レポート出力に表示する順番で列を選択します。

  3. OK」をクリックします。

  4. 次のいずれかの方法で、問合せの内容を調整します。

    • 問合せオブジェクトを右クリックして「プロパティ・インスペクタ」を選択し、目的のプロパティを設定します。

    • 問合せオブジェクトを右クリックして「データ・ウィザード」を選択し、表示するフィールド、グループ・フィールドおよび合計を指定します。

  5. 作成する問合せごとに手順1〜5を繰り返します。


    注意:

    レポートのデータ・モデル・ビューで複数の問合せを定義すると、レポート・ウィザードを起動してレイアウトをデフォルトに戻しても「データ」ページは表示されません。

4.8.1.4 問合せの作成: XML Queryツール

XML問合せを作成するには:

  1. データ・モデル・ビューで、ツール・パレットの「XML Query」ツールをクリックします。

  2. ウィンドウのメイン領域(キャンバス領域)をクリックします。

  3. 「XML問合せの定義」ダイアログ・ボックスで、選択されているdata definition file(DTD)に定義されているフィールドに基づいて、XML問合せを定義します。問合せはXMLデータ・ファイルのデータに対して実行されます。XSLファイルを指定している場合、問合せを実行する前にXMLデータ・ファイルが変換されます。

  4. OK」をクリックします。

4.8.1.5 問合せの作成: JDBC Queryツール

JDBC問合せを作成するには:

  1. データ・モデル・ビューで、ツール・パレットの「JDBC Query」ツールをクリックします。

  2. ウィンドウのメイン領域(キャンバス領域)をクリックします。  

  3. 「JDBC Query」ダイアログ・ボックスで、JDBC問合せまたはプロシージャと、データ・ソースへの接続パラメータを定義します。操作方法がわからない場合には「ヘルプ」をクリックしてください。

  4. OK」をクリックします。

4.8.1.6 問合せの作成: Text Queryツール

テキスト問合せを作成するには:

  1. データ・モデル・ビューで、ツール・パレットの「Text Query」ツールをクリックします。

  2. ウィンドウのメイン領域(キャンバス領域)をクリックします。

  3. 「テキスト問合せの定義」ダイアログ・ボックスで、テキスト問合せのデータ定義とデータ・ソースを指定します。操作方法がわからない場合には「ヘルプ」をクリックしてください。

  4. OK」をクリックします。

4.8.1.7 問合せの作成: REFカーソル問合せツール

REFカーソル問合せを作成するには:

  1. 次のいずれかの方法で、REFカーソルのタイプを定義するパッケージを作成します。

  2. 手順1で作成したパッケージが外部PL/SQLライブラリの場合は、参照する前にレポートに連結しておく必要があります。

  3. データ・モデル・ビューで、ツール・パレットの「REFカーソル問合せ」ツールをクリックします。

  4. ウィンドウのメイン領域(キャンバス領域)をクリックします。

  5. 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; 
    

    注意:

    Oracle Reportsでは、静的と動的の両方のREFカーソルがサポートされています。詳細は、第2.6.10項「REFカーソル問合せについて」を参照してください。

  6. 必要に応じて問合せの内容を調整します。

    • REFカーソル問合せオブジェクトをクリックし、「ツール」→「プロパティ・インスペクタ」を選択してプロパティを変更します。

    • 問合せオブジェクトをクリックし、「ツール」→「データ・ウィザード」を選択して、表示するフィールド、グループ・フィールドおよび合計を指定します。

  7. 作成するREFカーソル問合せごとに手順1〜6を繰り返します。

関連項目

第2.6.10項「REFカーソル問合せについて」

4.8.2 問合せの変更

SQL問合せ文、またはレポートに表示される列を変更するには:

  1. データ・モデル・ビューで問合せオブジェクトをクリックし、右クリックして「データ・ウィザード」を選択します。

  2. SELECT文を変更するには「データ」タブをクリックします。

  3. ブレーク・グループを変更するには「グループ」タブをクリックします。

  4. 合計を表示するサマリー列を追加または変更するには「合計」タブをクリックします。

  5. 選択されたデータベース列のうちレポートに表示する列を変更するには、「ツール」→「レポート・ウィザード」を選択し、「フィールド」タブをクリックします。

問合せのプロパティを変更するには:

  1. データ・モデル・ビューで問合せオブジェクトをクリックし、右クリックして「プロパティ・インスペクタ」を選択します。

  2. プロパティ・インスペクタで、必要に応じてプロパティを変更します。

4.8.3 クエリー・ビルダーの使用

クエリー・ビルダーでは、SQL SELECT文を使用すると、作成する問合せのほとんどを定義できます。クエリー・ビルダーでは、作業領域に表示された列に基づいて、適切なSELECT FROM [table.column]句が自動的に生成されます。

クエリー・ビルダーの使用方法は、Oracle Reportsオンライン・ヘルプの「方法」の項を参照してください。

関連項目

第1.7.5項「クエリー・ビルダーについて」

4.8.4 データベースからのHTMLタグの選択


注意:

この手順は、ペーパーベースのレポートに適用されます。

データベースからHTMLタグを選択するには:

  1. 問合せを作成し、HTMLタグを含む列かHTMLタグを含むファイルの名前をSELECT文で選択します。

  2. データ・モデル・ビューで、HTMLタグの列をダブルクリックして、プロパティ・インスペクタを表示します。

  3. HTMLタグそのものではなく、HTMLタグを含むファイルの名前が列に含まれている場合は、次の操作を行います。

    • 」ノードで、「ファイルからの読取り」プロパティを「はい」に設定します。

    • 「ファイル形式」プロパティを「テキスト」に設定します。

  4. ペーパー・レイアウト・ビューで、列を参照するフィールド・オブジェクトを作成します。

  5. フィールド・オブジェクトをダブルクリックして、プロパティ・インスペクタを表示します。

  6. プロパティ・インスペクタの「Webの設定」ノードで、「HTMLタグを含む」プロパティを「はい」に設定します。

使用に関する注意

テキスト・オブジェクトの「HTMLタグを含む」プロパティが「はい」に設定されていると、HTMLタグと属性がレポート出力に次のようにフォーマットされます。

  • レポートがHTMLまたはHTMLCSSの出力で生成される場合は、すべてのHTMLタグと属性が解釈されて、その出力にフォーマットされます。

  • レポートが他のビットマップ出力フォーマット(PDF、RTF、PostScriptなど)で生成される場合は、第2.8.9項「HTMLフォーマットについて」で説明しているように、固定のHTMLタグと属性のセットが解釈されて、その出力にフォーマットされます。サポートされているタグと属性のセットにないHTMLは解釈されずに、レポート出力にそのまま表示されます。

4.8.5 データベースからのイメージの選択


注意:

これらの手順および第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項「イメージのインポート」を参照)。

データベースからイメージを選択するには:

  1. イメージまたはイメージ・オブジェクトのファイル名を含む列を選択する問合せを作成します。

  2. データ・モデル・ビューで、イメージの列をダブルクリックして、プロパティ・インスペクタを表示します。

  3. イメージ自体ではなくイメージ・オブジェクトのファイル名が列に含まれている場合は、次の操作を行います。

    • 」ノードで、「ファイルからの読取り」プロパティを「はい」に設定します。

  4. 列にイメージが含まれている場合も、列にイメージ・オブジェクトのファイル名が含まれている場合も、「」ノードの「ファイル形式」プロパティを「イメージ」に設定します。

  5. JSPベースのWebレポートを作成している場合、次のように、containsHtml属性を、列の<rw:field> JSPタグに追加することも必要になります。

    • レポートのWebソース・ビューを表示します。

    • 列のrw:fieldタグ(<rw:field ... src="column_name" ...>)を検索します。

    • containsHtml=yes属性を追加して、イメージがフィールドの値に含まれるように指定します。

      次に例を示します。

      <rw:field id="F_MYIMAGE" src="MYIMAGE" nullValue="&nbsp;" containsHtml="yes">
      
  6. Webブラウザでレポート出力をWebレイアウト表示にしてプレビューするには、「プログラム」→「Webレイアウトを実行」を選択して、Webソースを実行します。Webソース・ビュー(JSPベースのWebレポートの場合)を変更すると、変更がレポートの出力にどのように影響するかをすぐに確認できます。

関連項目

第2.4.3項「イメージについて」

第1.7.3項「データベース列について」

4.8.6 データベースからのイメージURLの選択


注意:

この手順を行うのは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をデータベースから選択するには:

  1. SELECT文を使用して、URLを含む列を選択する問合せを作成します。

  2. データ・モデル・ビューで、URLを含む列をダブルクリックして、プロパティ・インスペクタを表示します。

  3. 」ノードで次の操作を行います。

    • 「ファイルからの読込み」プロパティを「はい」に設定します。

    • 「ファイル形式」プロパティを「イメージURL」に設定します。

  4. JSPベースのWebレポートを作成している場合、次のように、containsHtml属性を、列の<rw:field> JSPタグに追加することも必要になります。

    • レポートのWebソース・ビューを表示します。

    • 列のrw:fieldタグ(<rw:field ... src="column_name" ...>)を検索します。

    • containsHtml=yes属性を追加して、イメージがフィールドの値に含まれるように指定します。

      次に例を示します。

      <rw:field id="F_MYIMAGE" src="MYIMAGE" nullValue="&nbsp;" containsHtml="yes">
      
  5. Webブラウザでレポート出力をWebレイアウト表示にしてプレビューするには、「プログラム」→「Webレイアウトを実行」を選択して、Webソースを実行します。Webソース・ビュー(JSPベースのWebレポートの場合)を変更すると、変更がレポートの出力にどのように影響するかをすぐに確認できます。

関連項目

第2.4.3項「イメージについて」

第2.8.8項「HTMLおよびHTMLCSS出力について」

4.8.7 ブレーク・グループの作成

ブレーク・グループは、レポート・ウィザードで定義するか手動で作成します。

ブレーク・グループを手動で作成するには:

  1. データ・モデル・ビューで、レポートをブレークする列を含むグループを、問合せオブジェクトの約5cm(2インチ)下にドラッグします。

  2. レポートの分割に使用する列を選択します。たとえば、従業員データの一覧を部門番号でグループ化する場合は、部門番号の列を選択します。列を選択したら、グループ外の上の方で問合せオブジェクトとの間へドラッグして、新しいグループを作成します。これがブレーク列です。

  3. 新しいグループ・オブジェクトをダブルクリックしてプロパティ・インスペクタを表示し、ブレーク・グループのプロパティを設定できます。

関連項目

第1.7.2項「グループについて」

第1.3.2項「グループ上レポートについて」

第1.3.3項「グループ左レポートについて」

4.8.8 マトリックス(クロス積)グループの作成

マトリックス・グループは、データ・ウィザードで定義するか手動で作成します。データ・ウィザードを使用してマトリックス(クロス積)グループを作成するには:

  1. データ・モデル・ビューで、右クリックして「データ・ウィザード」を選択します。

  2. 問合せ」ページで、「マトリックス問合せ」チェック・ボックスを選択します。

  3. ウィザードの指示に従って、マトリックス・グループの列、行およびセルに使用する各列を選択します。

    マトリックス(クロス積)グループを手動で作成するには:

  4. データ・モデル・ビューで、グループ・オブジェクトのタイトル・バーを下へドラッグします。

  5. 行と列にする列を、グループ・オブジェクトから空いたスペースにドラッグし、新しいグループを2つ作成します。

  6. ツール・パレットの「クロス積」ツールをクリックします。

  7. マウスをドラッグし、マトリックス(クロス積)グループに入れるグループを囲むボックスを描きます。

  8. セル・グループがマトリックス(クロス積)グループとは別の問合せの場合は、マトリックス・グループの列とセル・グループの列の間に適切なリンクを作成します。

関連項目

第2.3.7項「マトリックス・オブジェクトについて」

第1.3.7項「マトリックス・レポートについて」

第2.1.7項「ネストしたマトリックス・レポートについて」

第2.1.8項「グループ別マトリックス・レポートについて」

第1.7.2項「グループについて」

第4.9.1.3項「マトリックス・オブジェクトの作成」

第4.5.3項「ネストしたマトリックス・レポートの作成」

第1.3.2項「グループ上レポートについて」

第1.3.3項「グループ左レポートについて」

4.8.9 データ・リンクの作成

データ・リンクを作成するには:

  1. データ・モデル・ビューで、ツール・パレットの「データ・リンク」ツールをクリックします。リンクは常に親グループから子問合せへと描かれます。

  2. 次のようにリンクを作成します。

    グループ間リンクの作成: ある問合せのグループと別の問合せのグループとの間にリンクを作成するには、親グループをクリックして(グループ内の列をクリックしないようにして)子グループへリンクをドラッグします。グループ間リンクは、子問合せ側で親のデータに関する情報が必要な場合に便利です。

    列間リンクの作成: 列と列の間にリンクを作成するには、親問合せの列をクリックして、子問合せの列へリンクをドラッグします。

  3. 新しいリンク・オブジェクトをダブルクリックしてプロパティ・インスペクタを表示し、目的のプロパティを設定します。

関連項目

第1.7.4項「データ・リンクについて」

第2.3.5項「リンク不可能な問合せについて」

4.8.10 式列の作成または編集

式列を作成または編集するには:

  1. データ・モデル・ビューで、ツール・パレットの「式列」ツールをクリックし、次の操作を行います。

    • グループ内に列を作成するには、グループの階層の中で、列を配置する場所をクリックします。

    • レポートレベルの列を作成するには、キャンバス領域の空いている場所をクリックします。

  2. 式列オブジェクトをダブルクリックしてプロパティ・インスペクタを表示します。

  3. プレースホルダ/式」ノードで、「PL/SQL式」プロパティ・フィールドをダブルクリックします。

  4. PL/SQLエディタで、式に使用するPL/SQL(SAL * 0.07など)を定義します。

例: 式におけるPL/SQLファンクションの参照

次のようなグループと列を含むレポートがあるとします。

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

関連項目

第2.3.2項「式列について」

4.8.11 サマリー列の作成

データ・ウィザードを使用してサマリー列(合計または小計用)を作成するには:

  1. データ・モデル・ビューで、合計する列を含む問合せをクリックします。

  2. 右クリックして、「データ・ウィザード」を選択します。

  3. 合計」ページで、ウィザードの指示に従って必要なサマリーをレポートに追加します。


    注意:

    グループ・レポートでは、レポート・ウィザードおよびデータ・ウィザードによって、定義するサマリー列のそれぞれに対して、n個のサマリー・フィールドがデータ・モデルに作成されます。つまり、サマリーを作成する列上の各グループに対してそれぞれ1つのサマリー・フィールドが作成され、レポートレベルで1つのサマリー・フィールドが作成されます。たとえば、部単位にグループ化され、さらに課単位にグループ化されているレポートの場合、給与合計用のサマリー列を定義すると、各部および各課の給与合計(グループレベルのサマリー)用フィールドと、すべての給与の合計(レポートレベルのサマリー)用フィールドが作成されます。

ツール・パレットを使用してサマリー列(合計または小計用)を作成するには:

  1. データ・モデル・ビューで、ツール・パレットの「サマリー列」ツールをクリックし、次の操作を行います。

    • グループ内に列を作成するには、グループの階層の中で、列を配置する場所をクリックします。

    • レポートレベルの列を作成するには、キャンバス領域の空いている場所をクリックします。

  2. 新しいサマリー列のオブジェクトをダブルクリックしてプロパティ・インスペクタを表示します。

  3. サマリー」ノードで次の操作を行います。

    • リストからサマリーのタイプを選択して、「ファンクション」プロパティを設定します。

    • 「ソース」プロパティを集計列に指定します。

    • 「リセット位置」プロパティを、サマリー列の値をリセットするグループに設定します。

使用に関する注意

「グループ上」または「マトリックス」のスタイルが設定されたJSPベースのWebレポートで、ツールバーの「Webレイアウトを実行」ボタンをクリックするか「プログラム」→「Webレイアウトを実行」を選択したときに、サマリー列の値が左揃えで正しく表示されない場合は、次の対処方法を実行して、値を揃えることができます。

  • Webソース・ビューでサマリー列が定義されているセクションを探し、次の行を削除して、余分なスペースを削除します。

    <th class="summary_column_name"> </th>
    

関連項目

第2.3.1項「サマリー列について」

第9章「サマリー・レポートの作成」

第13章「グループ左サマリー・レポートの作成」

4.8.12 プレースホルダ列の作成または編集

プレースホルダ列を作成または編集するには:

  1. データ・モデル・ビューで、ツール・パレットの「プレースホルダ列」ツールをクリックします。

    • グループ内に列を作成するには、グループの階層の中で、列を配置する場所をクリックします。

    • レポートレベルの列を作成するには、キャンバス領域の空いている場所をクリックします。

  2. プレースホルダ列オブジェクトをダブルクリックします。

  3. プロパティ・インスペクタで、プレースホルダ列に目的のプロパティを設定します。

  4. 次の場所にプレースホルダ列の値を設定します。

    • Before Reportトリガー(プレースホルダがレポートレベルの列の場合)

    • レポートレベルの式列(プレースホルダがレポートレベルの列の場合)

    • プレースホルダのグループまたはその下のグループ内の式(値はグループの各レコードに一度ずつ設定します)

関連項目

第2.3.2項「式列について」