ホーム > テーマおよびテンプレートの管理 > テンプレートのカスタマイズ > レポート・テンプレート
前へ |
次へ |
レポート列テンプレートによって、SQL問合せによって戻される1行の結果を制御できます。このタイプのテンプレートは、行全体ではなく、セルを定義します。
各レポート・テンプレートでは、#1#、#2#、#3#
などの構文を使用して列名を識別します。#ENAME#
や#EMPNO#
などの列名の置換構文を使用して、列に名前を付けることもできます。 アプリケーションのどのアイテムもテンプレート内で参照できます。 たとえば、テンプレートのABC.
というアイテムを参照するには、置換文字列&ABC.
を正確に含めます。ABC.の実際の値は、ABC
という名前のアプリケーションのアイテムを編集するエンド・ユーザーによって提供されます。
トピック:
Oracle Application Expressには、次の2種類のレポート・テンプレートが含まれています。
汎用列テンプレート
名前付き列テンプレート
汎用列テンプレートは、列の外観を1回定義することによって、レポートの外観を決定します。その後、この外観は、レポート定義に指定された列の数に基づいて、必要なだけ繰り返されます。このタイプのテンプレートを使用できるのは、行および列が標準的な構造のレポートに限られます。条件を使用すると、このタイプのテンプレートでレポートに追加のスタイルを適用できます。
次の例では、各列で特定のスタイルを使用する方法を示します。
<td class="tabledata" align="#ALIGN#">#COLUMN_VALUE#</td>
この例では、ページ・テンプレートにクラスtabledata
を含むCSSが存在することを想定しています。また、この例では、置換文字列#ALIGN#
および#COLUMN_VALUE#
を使用しています。実際にこのレポートを実行すると、これらの置換文字列は、SQL問合せの結果によって生成された値に置換されます。
問合せの選択リストに式を使用する場合は、列の別名を作成して実行時エラーを回避することをお薦めします。たとえば、次のような問合せを考えてみます。
SELECT ename, (sal + comm) * 12 FROM emp
問合せをリライトして、次のように列に別名を付けることができます。
SELECT ename, (sal + comm) * 12 yearly_comp FROM emp
名前付き列テンプレートを使用すると、より柔軟にレポートを設計できます。ただし、名前付きテンプレートは名前で列を参照するため、それらの列を基にしたレポートでのみ使用されます。次に例を示します。
<tr><td>#ENAME#</td><td>#SAL#</td></tr>
名前付き列テンプレートは自由度の高いものですが、問合せごとに新しいテンプレートを作成する必要がある場合があります。位置表記を含めることもできます。次の例では、HTMLおよび置換文字列を使用する方法を示します。
<tr><td>#ENAME#</td><td>#SAL#</td></tr> <tr><td>#1#</td><td>#2#</td></tr>
ここでは、汎用列テンプレートのレポート・テンプレートの編集・ページの特定のセクションについて説明します。ページの各セクションにアクセスするには、ページをスクロール・ダウンするか、ページ上部のナビゲーション・ボタンをクリックします。ページの上部でボタンを選択すると、選択したセクションが表示され、その他すべてのセクションは一時的に非表示になります。ページの全セクションを表示するには、「すべて表示」をクリックします。
「テンプレート名」は、テンプレートの名前を示します。「テンプレート・タイプ」には、テンプレートのタイプを指定します。名前付き列テンプレートは、テンプレートの列名を参照します。汎用列テンプレートは、テンプレートの#COLUMN_VALUE#
置換文字列を参照します。
「テーマ」は、テンプレートが関連付けられているテーマを示します。「テンプレート・クラス」は、そのテンプレートに固有の用途を示します。新しいテーマに切り替えると、あるテーマのすべてのテンプレートは、別のテーマの対応するテンプレートにマップされます。アプリケーション・ビルダーは、テンプレート・クラスの割当てによってこのテンプレート・マッピングを行います。テンプレートに翻訳が必要なテキスト文字列が含まれていることを示すには、「翻訳可能」チェック・ボックスを使用します。
カレント・アプリケーションに既存のテンプレートを適用するには、「テンプレートのサブスクリプション」を使用します。既存のテンプレートを選択すると、ユーザーはそのテンプレートのサブスクライバになります。
マスター・テンプレートの新しいコピーをロードするには、「テンプレートのリフレッシュ」をクリックします。
「行の前」では、レポート・テンプレートの最初に1回表示するHTMLを入力します。HTML表は、一般的に、次のようにこの属性を使用して開始します。
<table>
構文#1#
、#2#
、#3#
を使用して列ヘッダーを指定できます。次に例を示します。
<th>#1#</th><th>#2#</th><th>#3#</th>
置換文字列#top_pagination#
を含めることによって、レポートの上部にページ区切りを含めることができます。この置換文字列は、開始タグ<tr>
で始まり、閉じタグ</tr>
で終わるHTMLを生成します。たとえば、表の開始タグと#TOP_PAGINATION#
置換文字列を含めるには、次のように入力します。
<table>#TOP_PAGINATION#
また、置換文字列 #CSV_LINK#を使用すると、ほぼすべてのスプレッドシート・プログラムと互換性があるカンマ区切り値(CSV)形式にレポートをエクスポートできるようになります。
「列ヘッダー・テンプレート」を使用して、各列ヘッダーのセルに色を追加します。この属性のテキストには、セルのヘッダー・テキストをカラー化する位置を指定する必要があります。次に例を示します。
<th #ALIGNMENT#>#COLUMN_HEADER#</th>
列ヘッダーを使用しない場合は、次のように入力します。
OMIT
この属性を使用しない場合は、Application Expressエンジンによって、デフォルトの列ヘッダー・テンプレートが適用されます。
列テンプレートは、各列の外観を定義します。最大4つの列テンプレートを定義できます。各テンプレートは、条件付きにできます。たとえば、偶数行と奇数行に異なる背景色を指定したり、PL/SQLで定義した条件に一致する行をハイライトできます。
各列テンプレートでは、各列の外観を定義します。表「列テンプレートの置換文字列」に、列テンプレートでサポートされる置換文字列を示します。
列テンプレートの置換文字列
置換文字列 | 説明 |
---|---|
|
列の位置合せを指定します。ユーザーが指定します。 |
|
列数のカウントを定義します。 |
|
現在の列番号を定義します。 |
|
列ヘッダーを定義します。 |
|
列の値に置換されます。 |
|
現在の行番号を指定します。 |
次に例を示します。
<td> #ALIGNMENT#>#COLUMN_VALUE#</td>
実際にこのレポートを実行すると、これらの置換文字列は、SQL問合せの結果によって生成された値に置換されます。
条件を作成すると、指定した条件に一致するかどうかによって列の表示が異なるレポートを作成できます。条件付きで使用される列テンプレートを指定するには、列テンプレートの条件リストから条件タイプを選択します。有効な値は、次のとおりです。
PL/SQL式に基づく使用: その行のデータに基づき、条件付きで列を書式化します。
偶数行で使用: 偶数行を条件付きで書式化します。
奇数行で使用: 奇数行を条件付きで書式化します。
「PL/SQL式に基づく使用」を選択する場合は、次に列テンプレートの式フィールドでPL/SQL式を入力します。たとえば、次の式で値が2000より大きい場合、その値を太字で表示します。
#SAL# > 2000
置換文字列#ROWNUM#
を使用することもできます。次に例を示します。
#ROWNUM# > 2000
「行の後」を使用して、最後の行の後に表示するテキストを指定します。HTML表のタグは、一般的に、この属性を使用して閉じます。次に例を示します。
</table>
「行の後」属性は、次の置換文字列をサポートします。
#PAGINATION#
ページ区切り属性で置換されます。
#COLCOUNT#
実行時に、レポートで定義された列数に置換されます。
「チェックした行のバックグラウンド・カラー」を使用して、行セレクタが選択されている場合のレポート行の背景色を制御します。「カレント行のバックグラウンド・カラー」を使用して、ユーザーがその行の上にマウスを移動した場合のレポート行の背景色を制御します。
ページ区切りのサブテンプレートのセクションには、ページ区切りテンプレート、次のページ・テンプレート、前のページ・テンプレート、次のセット・テンプレート、および前のテンプレートを編集する属性が含まれています。ページ区切りサブテンプレートは、置換文字列#PAGINATION_NEXT#
、#PAGINATION_NEXT_SET#
、#PAGINATION_PREVIOUS#
および#PAGINATION_PREVIOUS_SET#
をサポートしています。表「ページ区切りサブテンプレート属性」に、これらのテンプレートについて示します。
ページ区切りサブテンプレート属性
ページ区切りサブテンプレート属性 | 説明 |
---|---|
ページ区切りサブテンプレート全体に適用します。次に例を示します。 <span class="instructiontext">#TEXT#</span> 置換文字列 個々のアイテムを変更するには、その他のページ区切りサブテンプレート属性を使用します。 |
|
ページ区切りサブテンプレートの「次のページ」部分を表示する方法を変更するHTMLを入力します。次に例を示します。 <a href="#LINK#">next</a> |
|
ページ区切りサブテンプレートの「前のページ」部分を表示する方法を変更するHTMLを入力します。次に例を示します。 <a href="#LINK#">previous</a> |
|
ページ区切りサブテンプレートの「次のセット」部分を表示する方法を変更するHTMLを入力します。次に例を示します。 <a href="#LINK#">next set</a> |
|
ページ区切りサブテンプレートの「前の設定」部分を表示する方法を変更するHTMLを入力します。次に例を示します。 <a href="#LINK#">previous set</a> |
ここでは、名前付き列テンプレートのレポート・テンプレートの編集ページの特定のセクションについて説明します。ページの各セクションにアクセスするには、ページをスクロール・ダウンするか、ページ上部のナビゲーション・ボタンをクリックします。ページの上部でボタンを選択すると、選択したセクションが表示され、その他すべてのセクションは一時的に非表示になります。ページの全セクションを表示するには、「すべて表示」をクリックします。
「テンプレート名」は、テンプレートの名前を示します。「テンプレート・タイプ」には、テンプレートのタイプを指定します。名前付き列テンプレートは、テンプレートの列名を参照します。汎用列テンプレートは、テンプレートの#COLUMN_VALUE#
置換文字列を参照します。
「テーマ」は、テンプレートが関連付けられているテーマを示します。テンプレートに翻訳が必要なテキスト文字列が含まれていることを示すには、「翻訳可能」チェック・ボックスを使用します。「テンプレート・クラス」は、そのテンプレートに固有の用途を示します。新しいテーマに切り替えると、あるテーマのすべてのテンプレートは、別のテーマの対応するテンプレートにマップされます。アプリケーション・ビルダーは、テンプレート・クラスの割当てによってこのテンプレート・マッピングを行います。
カレント・アプリケーションに既存のテンプレートを適用するには、「サブスクリプション」を使用します。既存のテンプレートを選択すると、ユーザーはそのテンプレートのサブスクライバになります。
マスター・テンプレートの新しいコピーをロードするには、「リフレッシュ」をクリックします。
行テンプレートは、各行の外観を定義します。最大4つの行テンプレートを定義できます。各テンプレートは、条件付きにできます。
各行テンプレートでは、各行の外観を定義します。行テンプレートは、表「行テンプレートの置換文字列」に示される置換文字列をサポートします。
行テンプレートの置換文字列
置換文字列 | 説明 |
---|---|
|
行の位置合せを指定します。ユーザーが指定します。 |
|
列数のカウントを定義します。 |
|
現在の列番号を定義します。 |
|
列ヘッダーを定義します。 |
|
列の値に置換されます。 |
|
現在の行番号を指定します。 |
条件を作成すると、指定した条件に一致するかどうかによって行の表示が異なるレポートを作成できます。条件付きで使用される行テンプレートを指定するには、列テンプレートの条件リストから条件タイプを選択します。有効な値は、次のとおりです。
PL/SQL式に基づく使用: その行のデータに基づき、条件付きで列を書式化します。
偶数行で使用: 偶数行を条件付きで書式化します。
奇数行で使用: 奇数行を条件付きで書式化します。
「PL/SQL式に基づく使用」を選択する場合は、次に列テンプレートの式フィールドでPL/SQL式を入力します。たとえば、次の式で値が2000より大きい場合、その値を太字で表示します。
#SAL# > 2000
置換文字列#ROWNUM#
を使用することもできます。次に例を示します。
#ROWNUM# > 2000
各列ヘッダーのセルに色を追加するには、このテンプレートを使用します。この属性のテキストには、セルのヘッダー・テキストをカラー化する位置を指定する必要があります。「列ヘッダー・テンプレート」を入力しない場合は、デフォルトの列ヘッダー・テンプレートが適用されます。列ヘッダーを使用しない場合は、OMIT
を入力します。次に例を示します。
<th #ALIGNMENT#>#COLUMN_HEADER#</th>
「行の前」では、レポート・テンプレートの最初に1回表示するHTMLを入力します。HTML表は、一般的に、次のようにこの属性を使用して開始します。
<table>
構文#1#
、#2#
、#3#
を使用して列ヘッダーを指定できます。次に例を示します。
<th>#1#</th><th>#2#</th><th>#3#</th>
置換文字列#top_pagination#
を含めることによって、レポートの上部にページ区切りを含めることができます。この置換文字列は、開始タグ<tr>
で始まり、閉じタグ</tr>
で終わるHTMLを生成します。たとえば、表の開始タグと#TOP_PAGINATION#
置換文字列を含めるには、次のように入力します。
<table>#TOP_PAGINATION#
また、置換文字列#CSV_LINK#
を使用すると、ほぼすべてのスプレッドシート・プログラムと互換性があるCSVフォーマットにレポートをエクスポートできるようになります。
「行の後」を使用して、最後の行の後に表示するテキストを指定します。HTML表のタグは、一般的に、この属性を使用して閉じます。次に例を示します。
</table>
「行の後」属性は、次の置換文字列をサポートします。
#PAGINATION#
ページ区切り属性で置換されます。
#COLCOUNT#
実行時に、レポートで定義された列数に置換されます。
「ページ区切り」セクションには、ページ区切りテンプレート、次のページ・テンプレート、前のページ・テンプレート、次のセット・テンプレート、および前のテンプレートを編集する属性が含まれています。ページ区切りサブテンプレートは、置換文字列#PAGINATION_NEXT#
、#PAGINATION_NEXT_SET#
、#PAGINATION_PREVIOUS#
および#PAGINATION_PREVIOUS_SET#
をサポートしています。表「ページ区切りサブテンプレート属性」に、これらのテンプレートについて示します。
ページ区切りサブテンプレート属性
ページ区切りサブテンプレート属性 | 説明 |
---|---|
ページ区切りサブテンプレート全体に適用します。次に例を示します。 <span class="instructiontext">#TEXT#</span> 置換文字列 個々のアイテムを変更するには、その他のページ区切りサブテンプレート属性を使用します。 |
|
ページ区切りサブテンプレートの「次のページ」部分を表示する方法を変更するHTMLを入力します。次に例を示します。 <a href="#LINK#">next</a> |
|
ページ区切りサブテンプレートの「前のページ」部分を表示する方法を変更するHTMLを入力します。次に例を示します。 <a href="#LINK#">previous</a> |
|
ページ区切りサブテンプレートの「次のセット」部分を表示する方法を変更するHTMLを入力します。次に例を示します。 <a href="#LINK#">next set</a> |
|
ページ区切りサブテンプレートの「前の設定」部分を表示する方法を変更するHTMLを入力します。次に例を示します。 <a href="#LINK#">previous set</a> |