0) { obj.className = "imgborder_on"; } } } function hideImage(obj) { if (obj.className.substr(0, 10) == "imgborder_") { obj.src = eyeglass.src; obj.className = "imgborder_off"; } } function showAllImages() { imgs = document.images; for (i=0; i < imgs.length; i++) { showImage(imgs[i]); } } function hideAllImages() { imgs = document.images; for (i=0; i < imgs.length; i++) { hideImage(imgs[i]); } } //-->
Oracle Application Express 3.1の高度なインタラクティブ・レポート領域技術の利用
目的
このチュートリアルでは、Oracle Application Express 3.1のインタラクティブ・レポート領域の高度な技術の利用方法を示します。
所要時間
約30分
トピック
このチュートリアルでは、以下のトピックについて説明します。
スクリーンショットの表示
このアイコンの上にカーソルを置くと、
すべてのスクリーンショットがロードし、表示されます。
(警告:すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・タイムが遅くなる場合があります。)
注:各手順に関連したスクリーンショットのみをロードして表示する場合は、それぞれの手順にあるアイコンの上にカーソルを置いてください。 個々のスクリーンショットはクリックすると、非表示になります。
概要
このチュートリアルでは、Oracle Application Express 3.1の新機能であるインタラクティブ・レポート領域に関連する高度なタスクの一部を説明します。
Oracle Application Express 3.1の新機能の詳細を取得するには、
ここ(英語)をクリックしてください。
トピック・リストに戻る
前提条件
このチュートリアルを始める前に以下を確認してください。
| 1.
|
Oracle Database 9.2以上がインストールされ、データベースにOracle Spatialが構成されていること。
|
| 2.
|
Oracle Application Express 3.1がダウンロードおよび構成されていること。
|
| 3.
|
ここからOEHR Sample Objectsパッケージ・アプリケーションをダウンロードして、Oracle Application Express 3.1インスタンスにインポートしていること。
|
| 4.
|
このチュートリアルの前に、『
Oracle Application Express 3.1のインタラクティブ・レポートの構築およびカスタマイズ』チュートリアルを実行する必要があります。 または、Oracle Application Expressのパッケージ・アプリケーションとしてOracle by Example(OBE)新機能アプリケーションをインポートできます。
apexnf.zipファイルをダウンロードおよび解凍して、irrobe_packagedapp.sqlパッケージ・アプリケーション・ファイルをインポートしてください。
|
| 5.
|
「
SQL Workshop」→「
SQL Commands」を選択して、次の文を実行します。
update oehr_employees
set job_id='AD_PRES'
where employee_id=104
|
注:アプリケーション番号とページ番号は、スクリーンショットの表示と若干異なる場合があります。
トピック・リストに戻る
インタラクティブ・レポートの手動の再設定
開発者として、Reset機能、Action Menu、または検索バーを挿入あるいは除外できます。 Action MenuにReset機能がない場合、エンドユーザーは、列見出しメニューを使用したカスタマイズのあとにレポートを再設定できません。 再設定を許可する場合、プログラムで再設定ボタンを提供できます。
このトピックでは、最初にインタラクティブ・レポートを作成し、検索バーを除外して、最後に再設定ボタンを作成します。 以下の手順を実行します。
| 1.
|
アプリケーション・ページから、「
Create Page」をクリックします。
|
| 2.
|
「
Report」をクリックして、「
Next」をクリックします。
|
| 3.
|
「
Interactive Report」をクリックして、「
Next」をクリックします。
|
| 4.
|
Page NameとRegion Nameに
Department Listと入力します。 Breadcrumbに「
Breadcrumb」を選択して、「
Next」をクリックします。
|
| 5.
|
デフォルト値を受け入れて、「
Next」をクリックします。
|
| 6.
|
次のSQLを入力して、「
Next」をクリックします。
select d.department_name,
(select count(*) from oehr_employees where department_id = d.department_id) Employees,
d.department_id
from oehr_departments d
|
| 7.
|
「
Finish」をクリックします。
|
| 8.
|
インタラクティブ・レポート・ページが正しく作成されました。 ページを実行する前に、変更する必要があります。 「
Edit Page」をクリックします。
|
| 9.
|
Regionsの「
Interactive Report」リンクを選択します。
|
| 10.
|
「
Search Bar」タブをクリックします。
|
| 11.
|
Include in Action Menuで、Include Search Barに「
No」を選択して、「
Apply Changes」をクリックします。
|
| 12.
|
再設定機能を実行するボタンを作成します。 Buttonsの下の「
Create」アイコンをクリックします。
|
| 13.
|
「
Department List」領域を選択して、「
Next」をクリックします。
|
| 14.
|
デフォルトの
Create a button in a region positionを受け入れて、「
Next」をクリックします。
|
| 15.
|
ボタン名に
Resetと入力し、「
Redirect to URL without submitting page」を選択して、「
Next」をクリックします。
|
| 16.
|
デフォルト値を受け入れて、「
Next」をクリックします。
|
| 17.
|
Positionに「
Top」をクリックし、Alignmentに「
Left」を選択して、「
Next」をクリックします。
|
| 18.
|
インタラクティブ・レポートを再設定するには、'RIR'のクリア・キャッシュ・リクエストを送信します。 これによって、呼び出されるページに関係なくインタラクティブ・レポートが再設定されます。 Pageに現在のページを入力します。 Clear Cacheに
2,RIRと入力して、「
Create Button」をクリックします。
注:RIR文字列は、エンドユーザーがターゲット・ページのインタラクティブ・レポートのAction MenuからResetオプションを選択することと同じです。これによって、開発者が指定したデフォルトのレポート設定にレポートが戻ります。
|
| 19.
|
ボタンの作成に成功しました。 「
Run Page」をクリックします。
|
| 20.
|
レポートが表示されます。 「
Employees」ヘッダーを選択して、ソートの降順アイコンをクリックします。
|
| 21.
|
レポートがEmployeesで降順に配置されます。 列見出しメニューから、昇順にのみ変更できます。また、別の列でもソートできます。 エンドユーザーがソートを削除する場合、Resetボタンを使用する必要があります。 「
Reset」をクリックします。
|
|
22
.
|
レポートが元の状態に再設定されていることを確認します。
|
トピック・リストに戻る
宣言的なフィルタの作成
URL項目値を使用してフィルタ条件を渡し、インタラクティブ・レポートの宣言的なフィルタを定義できます。 これによって、レポートからインタラクティブ・レポートへのドリルダウンやフィルタに変換できる複雑な問合せ条件を定義できます。 特定のインタラクティブ・レポートから別のインタラクティブ・レポートへのドリルダウンを作成するには、以下の手順を実行します。
| 1.
|
アプリケーション・ページへ移動します。 「
Create Page」をクリックします。
|
| 2.
|
「
Report」をクリックして、「
Next」をクリックします。
|
| 3.
|
「
Interactive Report」をクリックして、「
Next」をクリックします。
|
| 4.
|
Page NameとRegion Nameに
Employees by Departmentと入力します。 Breadcrumbに「
Breadcrumb」を選択します。 Entry Nameに
Employees by Departmentと入力します。 Parent Entryに「
Department」リンクを選択して、「
Next」をクリックします。
|
| 5.
|
デフォルト値を受け入れて、「
Next」をクリックします。
|
| 6.
|
次のSQLを入力して、「
Next」をクリックします。
select "OEHR_EMPLOYEES"."FIRST_NAME" as "FIRST_NAME",
"OEHR_EMPLOYEES"."LAST_NAME" as "LAST_NAME",
"OEHR_EMPLOYEES"."EMAIL" as "EMAIL",
"OEHR_EMPLOYEES"."PHONE_NUMBER" as "PHONE_NUMBER",
"OEHR_EMPLOYEES"."HIRE_DATE" as "HIRE_DATE",
"OEHR_EMPLOYEES"."JOB_ID" as "JOB_ID",
"OEHR_EMPLOYEES"."SALARY" as "SALARY",
"OEHR_EMPLOYEES"."DEPARTMENT_ID"
from "OEHR_EMPLOYEES" "OEHR_EMPLOYEES"
|
| 7.
|
「
Finish」をクリックします。
|
| 8.
|
インタラクティブ・レポート・ページが正しく作成されました。 ページを実行する前に、変更する必要があります。 「
Edit Page」をクリックします。
|
| 9.
|
Regionsの「
Interactive Report」リンクを選択します。
|
| 10.
|
「
Show All」タブを選択します。 このレポートが呼び出されてDEPARTMENT_IDが指定される場合(DEPARTMENT_ID列が表示されていない場合でも)、フィルタ名として使用されるので、見出し名を設定する必要があります。 DEPARTMENT_IDの見出しを
Specified Departmentに変更し、Display Text Asに「
Hidden」を選択して、「
Apply Changes」をクリックします。
値を列に渡すために列を非表示にする必要はありません。 値が非表示ではない列に渡される場合、結果フィルタを編集できます。 値が非表示の列に渡される場合、結果フィルタの無効または削除のみ実行できます。ただし、編集はできません(エンドユーザーは、別の部門を表示するためにフィルタを変更できません)。
|
| 11.
|
Department Listページとこのページのリンクを作成して、Department IDを渡す必要があります。 アプリケーションのブレッドクラムを選択します。
|
| 12.
|
このチュートリアルの前のトピックで、このページを作成しました。 「
Department List」ページを選択します。
|
| 13.
|
Regionsの「
Interactive Report」リンクを選択します。
|
| 14.
|
DEPARTMENT_IDに「
Hidden」、EMPLOYEES列に「
Display as Text (escape special characters)」を選択して、EMPLOYEES列の「
Edit」アイコンをクリックします。
|
| 15.
|
「
Link」タブをクリックします。
|
| 16.
|
部門ごとに従業員の数を表示するリンクを定義し、作成した新しいページを呼び出して、そのページのキャッシュをクリアします。また、そのページのインタラクティブ・レポート領域を再設定して、渡されるフィルタを妨げる可能性がある以前に設定したフィルタを削除します。 非表示のDEPARTMENT_IDに値を渡す必要もあります。 インタラクティブ・レポート内の列を参照するには、列エイリアスの先頭に'IR_'を付加します。
Link Textに「
EMPLOYEES」を選択し、Pageに
3(作成したページ)を入力して、Clear Cacheフィールドに
3,RIRを入力します。 Item 1のNameフィールドに
IR_DEPARTMENT_IDと入力し、Valueに「
#DEPARTMENT_ID#」を選択します。 「
Apply Changes」をクリックします。
注:項目名(ここではIR_DEPARTMENT_ID)の接頭辞にIR_を付加すると、ページの項目ではなくインタラクティブ・レポート列にURL項目が関連づけられます。
|
| 17.
|
「
Run Page」をクリックします。
|
| 18.
|
Employees値にリンクが作成されます。 いずれかの数値をクリックします。
|
| 19.
|
Employees by Departmentインタラクティブ・レポートが表示されます。Departmentに作成されたフィルタがあります。 クリックしてフィルタを編集できません(フィルタが非表示の列に作成されたため)が、チェック・ボックスの選択を解除してフィルタを無効にできます。
|
| 20.
|
フィルタが無効になったので、すべてのレコードが表示されます。 開発者ツールバーの「
Edit Page」をクリックします。
|
トピック・リストに戻る
派生列の作成
この項では、派生列を問合せに追加します。 具体的には、仕事内容に見合った賃金が従業員に支払われているかを判断するCASE文を使用します。 この派生列の値を使用して、賃金が十分に支払われていないすべての従業員をハイライトするハイライト・ルールを作成します。 以下の手順を実行します。
| 1.
|
Employees by Departmentページ(前の項の最後のページ)へ移動します。 Regionsの「
Employees by Department」リンクを選択します。
|
| 2.
|
「
Source」タブをクリックします。
|
| 3.
|
ソースを次の問合せに変更して、「
Apply Changes」をクリックします。
このSQL文のCASE文を実行して、従業員の給与が仕事に応じた最低給与より低いかどうかを確認します。 該当する場合、派生列の値のUnderPaid_Yes_NoがYesに設定されます。該当しない場合、Noに設定されます。 派生列は最初に表示されませんが、フィルタやハイライトなどのAction Menuの多くのアクションで使用できます。
select (case when e.salary < j.min_salary then 'Yes'
else 'No' end) UnderPaid_Yes_No,
e.first_name,
e.last_name,
e.email,
e.phone_number,
e.hire_date,
e.job_id,
e.salary,
e.department_id
from oehr_employees e,
oehr_jobs j
where e.job_id = j.job_id
|
| 4.
|
追加の列がレポートに追加されます。 「
Apply Changes」をクリックします。
|
| 5.
|
「
Run Page」をクリックします。
|
| 6.
|
レポートが表示されます。 実行時に新しい派生列がレポートに表示された場合、「
Action Menu」から「
Select Columns」アクションを使用して、列をDo not Displayに変更します。次に、デフォルト・レポートとしてレポートを保存します。 賃金が十分に支払われていない従業員を表示するには、「
Action Menu」を選択して、「
Highlight」をクリックします。
|
| 7.
|
Nameに
Underpaid Employeesを入力して、Background Colorに「
yellow」を選択します。 Columnに「
UnderPaid Yes No」を選択し、Expressionに
Yesと入力して、「
Apply」をクリックします。
|
| 8.
|
賃金が十分に支払われていない従業員が黄色でハイライトされていることを確認します。
|
トピック・リストに戻る
まとめ
このチュートリアルで学習した内容は、次のとおりです。
|
インタラクティブ・レポートの手動の再設定 |
|
宣言的なフィルタの作成 |
|
派生した事前定義フィルタの作成 |
トピック・リストに戻る
関連情報
Oracle Application Expressの詳細については、次のドキュメントで確認できます。
|
関連ドキュメント
|
説明
|
|
オンライン・ヘルプ
|
このヘルプへアクセスするには、Oracle Application Expressの上部右隅に表示されている「
Help」ボタンをクリックしてください。 関連するトピックを検索します。
|
|
リリース・ノート
|
このノートには、Oracle Application Expressドキュメントに掲載されていない重要な情報が含まれています。
|
|
インストレーション・ガイド
|
このガイドでは、Oracle Application Expressのインストール方法および構成方法を説明します。
|
|
2日で開発者ガイド
|
ここでは、このガイドを使用した開発環境の設定方法、またはホストのデモ環境へのアクセス方法が示され、初期アプリケーションの構築、変更、プレビューについて段階的に説明します。
|
|
ユーザーズ・ガイド
|
このガイドでは、Oracle Application Express開発環境を使用して、データベース中心のWebアプリケーションを構築およびデプロイする方法を説明します。 Oracle Application Expressを使用して単独のOracleデータベースを共有サービスへと移行することで、分割されたデータベースでアプリケーションを実行している場合と同様に、アプリケーションに対し、複数のワークグループによる構築およびアクセスが可能となります。
|
|
アドバンスト・チュートリアル
|
上級チュートリアルは、Oracle Application Express開発環境を使用して、さまざまなアプリケーション・コンポーネントおよびすべてのアプリケーションを作成する方法に関して、段階的な手順で説明します。
|
トピック・リストに戻る
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。
|