Oracle Application Express 4.1の高度なインタラクティブ・レポート領域技術の利用

<このテキストを削除しないでください。これは、ブラウザ実行時に生成される"主要"なトピック一覧のプレースホルダです。>

目的

このチュートリアルでは、Oracle Application Express 4.1のインタラクティブ・レポート領域の高度な技術の利用方法を示します。

注: このチュートリアルにある一部のスクリーンショットは、使用するブラウザの種類によって若干異なる場合があります。

所要時間

約50分

概要

このチュートリアルでは、Oracle Application Expressのインタラクティブ・レポート領域に関連するより高度なタスクの一部である、インタラクティブ・レポートの手動での再設定、宣言的なフィルタの作成、派生列の作成について説明します。

前提条件

このチュートリアルを始める前に、以下を確認してください。

アプリケーション内にある別のページから保存レポートへのリンク設定

チュートリアルOracle Application Express 4.1のインタラクティブ・レポートの構築およびカスタマイズでは、インタラクティブ・レポートを使用するアプリケーションを作成しました。 このチュートリアルのこの項では、保存レポートへのリンクをホームページに追加します。 以下の手順を実行します。

.

次のURLを入力し、Oracle Application Expressにログインします。

http://localhost:8080/apex

 

.

Oracle Application Expressにログインするには、次の詳細情報を入力して、「Login」をクリックします。

Workspace: <作業領域名>
Username: <ユーザー名>
Password: <パスワード>

 

.

Application Builderドロップダウン・リストから、「Database Applications」を選択します。

 

.

前提条件となっているチュートリアルの実行が完了している場合、アプリケーションのリストはレポート表示モードになっています。 Interactive Reports OBEの「Run」アイコンをクリックします。

 

.

UsernameフィールドとPasswordフィールドにobeと入力し、「Login」をクリックします。

 

.

ホームページにある「Demo Product Info」リンクを選択して、レポートを表示します。

 

.

最後に参照した保存レポートが表示されます。 作成した保存レポートは、管理する必要があります。 開発者ツールバーの「Edit Page」を選択します。

 

.

DEMO_PRODUCT_INFO」を右クリックし、「Edit Saved Reports」を選択します。

 

.

保存レポートのリストが表示されます。 レポート・エイリアスは、より分かりやすい名前に変更できます。 パブリック・レポートのReport AliasフィールドにPROD_CATEGORYと入力し、「Apply Changes」をクリックします。

 

.

Link Exampleにあるエイリアスが変更されていることに注意してください。 このリンクは、ホームページ上のNavigation領域に追加できます。 Link Exampleのエイリアスを選択し、[Ctrl]+[C]を押してクリップボードにコピーします。 「Application」ブレッドクラムを選択します。

 

.

ホームページにこのリンクを追加する必要があります。 「Home」ページ・アイコンをクリックします。

 

.

Navigation」領域を右クリックし、「Edit List」を選択します。

 

.

Create List Entry >」をクリックします。

 

.

List Entry LabelフィールドにProduct Report by Categoryと入力し、Target typeドロップダウン・リストで「URL」を選択します。続いて、Saved ReportsページからコピーしたURLをURL Targetフィールドに入力し、「Create」をクリックします。

 

.

エントリが正常に作成されました。 「Run Page」アイコンをクリックします。

 

.

Product Report by Category」リンクをクリックします。

 

.

保存レポートが表示されます。 次の項では、レポートを手動で再設定するための再設定ボタンを作成します。 開発者ツールバーの「Edit Page」リンクを選択します。

 

インタラクティブ・レポートの手動での再設定

開発者は、Reset機能、Actionsメニュー、または検索バーの挿入や除外を行うことができます。 ActionsメニューにReset機能がない場合、エンドユーザーは、列見出しメニューを使用したカスタマイズの後にレポートを再設定できません。 再設定を許可する場合は、プログラムで再設定ボタンを提供できます。

このトピックでは、最初にインタラクティブ・レポートを作成し、検索バーを除外して、最後に再設定ボタンを作成します。 以下の手順を実行します。

.

再設定機能を実行するボタンを作成する必要があります。 DEMO_PRODUCT_INFO領域の「Region Buttons」を右クリックし、「Create」を選択します。

 

.

Button NameフィールドにRESETと入力し、「Next」をクリックします。

 

.

Positionドロップダウン・リストで「Right of Interactive Report Search Bar」を選択し、「Next」をクリックします。

 

.

インタラクティブ・レポートを再設定するには、'RIR'のクリア・キャッシュ・リクエストを送信します。 これによって、呼び出されるページに関係なく、インタラクティブ・レポートが再設定されます。 Actionドロップダウン・リストで「Redirect to Page in this Application」を選択します。 Pageフィールドに現在のページを入力します。 Clear Cacheフィールドに2,RIRと入力し、「Create Button」をクリックします。

注: RIR文字列は、エンドユーザーがターゲット・ページのインタラクティブ・レポートのActionsメニューからResetオプションを選択することと同じです。これによって、開発者が指定したデフォルトのレポート設定にレポートが戻ります。

 

.

また、ActionsメニューからResetオプションを削除することが必要です。 「DEMO_PRODUCT_INFO」領域を右クリックし、「Edit Report Attributes」を選択します。

 

.

Search Bar」サブタブをクリックします。

 

.

Reset」チェック・ボックスの選択を解除し、「Apply Changes」をクリックします。

 

.

ボタンの作成に成功しました。 「Run Page」アイコンをクリックします。

 

.

Reset」ボタンをクリックします。

 

.

レポートは再設定されて、(Product Report by Categoryパブリック・レポートではなく)Primary Reportに戻ります。 次の項では、URL項目値を使用してフィルタ条件を渡す宣言的なフィルタを作成します。 開発者ツールバーにある「Application」リンクを選択します。

 

宣言的なフィルタの作成

インタラクティブ・レポートでは、URL項目値を使用してフィルタ条件を渡す宣言的なフィルタを定義できます。 これによって、レポートからインタラクティブ・レポートへのドリルダウンやフィルタに変換できる複雑な問合せ条件を定義できます。 特定のインタラクティブ・レポートから別のインタラクティブ・レポートへのドリルダウンを作成するには、以下の手順を実行します。

.

Applicationページへ移動します。 「Create Page」をクリックします。

 

.

Report」ラジオ・ボタンを選択し、「Next」をクリックします。

 

.

Interactive Report」をクリックして、「Next」をクリックします。

 

.

Page NameフィールドとRegion Nameフィールドに、Products by Categoryと入力します。 Breadcrumbドロップダウン・リストで、「Breadcrumb」を選択します。 Entry Nameフィールドに、Products by Categoryと入力します。 Parent Entryに「Home」リンクを選択して、「Next」をクリックします。

 

.

デフォルト値を受け入れて、「Next」をクリックします。

 

.

次のSQL文を入力してから、Link to Single Row Viewドロップダウン・リストで「No」を選択し、「Next」をクリックします。

select distinct p.category,
(select count(product_id) from demo_product_info where category=p.category) Products
from demo_product_info p

 

.

Finish」をクリックします。

 

.

インタラクティブ・レポート・ページが正しく作成されました。 ページを実行する前に、いくつか変更する必要があります。 「Edit Page」をクリックします。

 

.

Regionsの下にある「Products by Category」を右クリックし、「Edit Report Attributes」を選択します。

 

.

Show All」タブをクリックします。

 

.

Productsからインタラクティブ・レポートの2ページへのリンクを作成する必要があります。 PRODUCTS列の前にある「Edit」アイコンをクリックします。

 

.

Link」タブをクリックします。

 

.

2ページにあるカテゴリ別製品一覧を表示するリンクを定義し、2ページのキャッシュをクリアする必要があります。また、2ページのインタラクティブ・レポート領域を再設定して、渡されるフィルタを妨げる可能性がある、以前に設定したフィルタを削除する必要があります。 さらに、非表示のCATEGORYに値を渡す必要もあります。 インタラクティブ・レポート内の列を参照するには、列エイリアスの先頭に'IR_'を付加します。

Link Textに「#PRODUCTS#」を選択し、Pageフィールドに2(作成したページ)を入力して、Clear Cacheフィールドに2,RIRを入力します。 Item 1のNameフィールドにIR_CATEGORYと入力し、Valueフィールドに「#CATEGORY#」を選択します。 「Apply Changes」をクリックします。

注: 項目名の接頭辞としてIR_を付加すると(ここではIR_CATEGORY)、ページの項目ではなくインタラクティブ・レポート列にURL項目が関連付けられます。

 

.

Run Page」をクリックします。

 

.

Products値にリンクが作成されました。 いずれかの数値をクリックします。

 

.

Demo Product Infoインタラクティブ・レポートが表示されます。作成されたフィルタは、Categoryにあります。 次の項では、派生列を作成し、さらにフィルタに基づいたハイライト・ルールを作成します。 開発者ツールバーの「Edit Page」をクリックします。

 

派生列の作成

この項では、派生列を問合せに追加します。 具体的には、製品の売値が安すぎたかどうかを、製品を注文した顧客数から判断するCASE文を使用します。 この派生列の値を使用して、売値が安すぎた製品をすべてハイライトするハイライト・ルールを作成します。 以下の手順を実行します。

.

DEMO_PRODUCT_INFO」領域を右クリックし、「Edit」を選択します。

 

.

Source」タブを選択します。

 

.

ソースを次の問合せに変更して、「Report Attributes」タブをクリックします。

このSQL文のCASE文を実行して、従業員の給与が仕事に応じた最低給与より低いかどうかを確認します。 該当する場合、派生列の値のUnderPaid_Yes_NoがYesに設定されます。該当しない場合、Noに設定されます。 派生列は、最初は表示されませんが、フィルタやハイライトなどのActionsメニューの多くのアクションで使用できます。

select p.product_id,
p.product_name,
p.product_description,
p.category,
p.product_avail,
p.list_price,
(select sum(quantity) from demo_order_items
where product_id = p.product_id) units,
(select max(o.order_timestamp) od from demo_orders o, demo_order_items i
where o.order_id = i.order_id and i.product_id = p.product_id) last_date_sold,
p.PRODUCT_ID image,
(case when (select count(o.customer_id) from demo_orders o, demo_order_items t
where o.order_id = t.order_id and t.product_id = p.product_id
group by p.product_id) < 5 then 'Yes'
else 'No' end) UnderSold_Yes_No

from demo_product_info p

 

.

追加の列がレポートに追加されます。 「Apply Changes」をクリックします。

 

.

DEMO_PRODUCT_INFO」領域を右クリックし、「Edit」を選択します。

 

 

.

Report Attributes」タブをクリックします。

 

 

.

作成した派生列が、Column Attributesのリストにあることを確認します。 この後は、検索バーでハイライトを有効にする必要があります。 「Search Bar」サブタブをクリックします。

 

.

Highlight」チェック・ボックスを選択し、「Apply Changes」をクリックします。

 

.

Run Page」アイコンをクリックします。

 

.

レポートが表示されます。 売値が安すぎる製品を表示するには、Actionsメニューで「Format」→「Highlight」を選択します。

 

.

NameフィールドにUndersold Productsを入力して、Background Colorに「[yellow]」を選択します。 Columnドロップダウン・リストで「Undersold Yes No」を選択し、ExpressionフィールドにYesと入力して、「Apply」をクリックします。

 

.

売値が安すぎる製品が黄色でハイライトされていることを確認します。 チェック・ボックスの選択を解除して、Categoryフィルタを無効にします。

 

.

このフィルタが無効になると、売値の安すぎた製品がすべて黄色でハイライトされます。

 

まとめ

このチュートリアルで学習した内容は、以下のとおりです。

関連情報


Hardware and Software Engineered to Work Together Copyright © 2011, Oracle and/or its affiliates. All rights reserved