Oracle ADFのデータ可視化コンポーネント(グラフ、ゲージ、マップ、ピボット・テーブル、ガント・チャート)の概要

目的

このチュートリアルでは、Oracle Application Development Framework(Oracle ADF)のData Visualization Tool(DVT)コンポーネントを使用して、円グラフ、ゲージ、ガント・チャート、地理マップなどのグラフ表示を作成します。 また、ピボット・テーブルの使用方法についても確認します。

所要時間

45分

トピック

このチュートリアルでは、以下の項について説明します。

 概要
 シナリオ
 前提条件
 マスター/ディテール注文ページの作成

円グラフの追加

 ゲージの追加
 地理マップの追加
 ピボット・テーブルの作成
 ガント・チャートの作成
 まとめ

スクリーンショットの表示

 このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロード し、表示されます。 (警告:この操作によって、同時にすべてのスクリーンショットがロードされるため、ご使用のインターネット接続によってはレスポンス時間が遅くなる場合が あります)。

注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあるアイコンの 上にカーソルを置いてください。 スクリーンショットをクリックすると、非表示になります。

概要

Oracle ADFデータの可視化コンポーネントは、充実したインタラクティブなOracle ADF Facesコンポーネントのセットで、データを解析するためにグラフまたは表形式で表示する機能を提供します。 前提条件の項を実行後、Oracle ADF DVTコンポーネントを使用して、データをグラフ表示する方法について説明します。

トピック・リスト に戻る

シナリオ

マスター/ディテール・ページ作成後、アプリケーションにグラ フ・データを追加して、高度な機能の一部を実際に使用します。 ページに新しいタブを追加して、専用のOracle ADF DVTコンポーネントを使用します。 Oracle ADF Business Componentに基づく事前定義済みのアプリケーション・モデルを使用します。

トピック・リストに戻る

前提条件

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

 必要なコンポーネントのダウンロード とOracle JDeveloper 11gの起動
 データベース・スキーマのインストー ル
 スタートアップ・アプリケーションの アップロード
 データベース接続の作成

トピック・リストに戻る

必要なコンポーネントのダウ ンロードとOracle JDeveloper 11gの起動

以下の手順で、JDeveloper 11gとこのチュートリアルで必要なそのほかのファイ ルをダウンロードします。

1.

Oracle JDeveloper 11g製品版にアクセスできるか、または インストール済みである必要があります。 この製品は、 Oracle Technology Network(OTN)からダウンロードできます。

 

2.

OTNからFODスキーマのzipファイルをダウンロードするか、またはこの リ ンクを右クリックして、コンテキスト・メニューから「 対象をファイルに保存」を選択し、 storefront_techpreview2.zip ファイル を任意のローカル・ディレクトリにダウンロードします。

 

3.

選択したローカル・ディレクトリで、 storefront_techpreview2.zip ファ イルを解凍します。

 

4.

JDeveloperを起動します。 解凍先のルート・ディレクトリ( <jdev_home> ) にあるJDeveloperの実行可能ファイル「 jdeveloper.exe 」 をダブルクリックします。

Migrate User Settingsダイアログ・ボックスが開いたら、「 NO」 をクリックします。

ユーザー・ロールを設定するよう指示されたら、「 Default」 を選択します。

Tip of the Dayウィンドウを 閉じます

 

5.

JDeveloper IDEが表示されます。

トピックに戻る

トピック・リストに戻る

データベース・スキーマのイ ンストール

ここでは、JDeveloperアプリケーションを使用して、データベースにスキーマをインストールし、FOD スキーマと対応するデータを移入します。

1.

Open Application」リンクをクリックするか、ツール・メニューから「 File」 →「 Open」を選択します。

storefront_techpreview2.zip ファ イルを解凍した作業領域 infrastructure.jwsd:\temp\Infrastructure) を見つけます。

Open」をクリックします。 プロジェクトを移行するよ う指示された場合は、「 Yes」をクリックします。

 

2.

アプリケーション・ナビゲータで、「 MasterBuildScript」→「 Resources」 ノードを展開し、「 build.properties」をダブルクリックしてエディタで開きます。

 

3.

build.propertiesファイルに適切な値を設定します(jdeveloper.homeと、すべてのjdbc.*と db.*の設定)。 関連する設定は、次のとおりです。

jdeveloper.home JDeveloperをインストールした場所( c:/BEA
jdbc.urlBase データベースのベースURI( jdbc:oracle:thin:@localhost
jdbc.port データベースのポート番号( 1521
jdbc.sid データベースのインスタンス名( XEまたは ORCL
db.adminUser 管理者権限をもつデータベース・ユーザー( system
db.adminUser.password 管理者権限をもつデータベース・ユーザーのパスワード( welcome
db.demoUser 作成するデータベース・ユーザーおよびスキーマ名( fod
db.demoUser.password 作成するデータベース・ユーザーのパスワード( fusion
db.demoUser.tablespace ユーザー表領域名( USERS
db.demoUser.tempTablespace 一時表領域名 ( TEMP

 

4.

MasterBuildScriptプロジェクトで、「 build.xml」ファイルを選択しま す。

 

5.

Structureウィンドウで、「 refreshSchema」ターゲットを右クリックして、「 Run Target "refreshSchema"」を選択します。

 

6.

ログ・ウィンドウに重要なエラーが表示されていないことを確認します。 次のように表示されます。

 

7.

Infrastructureのアプリケーション名の横にある下矢印「  」をクリックして、「 Remove Application from IDE」 を選択します。

トピックに戻る

トピック・リストに戻る

スタートアップ・アプリケー ションのアップロード

コンポーネントを作成する前に、まずはスタートアップ・アプリ ケーションを開始する必要があります。 以下の手順に従います。

1.

Gantt.zipファイルをダウンロードします。 この リ ンクを右クリックしてコンテキスト・メニューから「 対象をファイルに保存」を選択し、 Gantt.zip ファイルを任意のローカル・ディレクトリにダウ ンロードします。

 

2.

選択したローカル・ディレクトリ(temp)で、 Gantt.zip ファ イルを解凍します。

 

3.

アプリケーション・ナビゲータで「 Open Application」 リンクをクリックします。

作業領域 c:\temp\BrowseEditApp\BrowseEditApp.jwsに 移動します。

Open」をクリックします。 プ ロジェクトを移行するよう指示された場合は、「 Yes」をクリックします。

 

4.

アプリケーションがJDeveloperにロードされます。

トピックに戻る

トピック・リストに戻る

データベース接続の作成

FODスキーマにデータベース接続を作成します。 以下の手順に従います。

1.

メニュー・バーから、「 View」→「 Database Navigator」 を選択します。

 

2.

Database Navigatorで「 BrowseEditApp」を右クリックして、コンテ キスト・メニューから「 New Connection」を選択します。

 

3.

接続の名前を入力し、接続タイプを選択して、ユーザー名とパスワードを入力します。 この例では、接続名に FOD、 ユーザー名に fod、パスワードに fusionを使用します。

 

4.

Test Connection」をクリックして、接続可能であることを確認します。

接続に成功したら、「 OK」をクリックします。

 

5.

アプリケーション・ナビゲータで、「 Application Resources」パネルをクリッ クして開きます。

 

6.

アプリケーション・ナビゲータで、Application Resourcesパネルの「 Connections and Database」ノードを展開し、作成したFOD接続を表示します。 FODノードを開いて、データベース・オブジェクトを表示できます。

トピックに戻る

トピック・リストに戻る

スタートアップ・アプリケーションの 確認

スタートアップ・アプリケーションは、Orders、OrderItems、ProductsBaseエンティ ティ・オブジェクト、およびそれらに対応するビュー・オブジェクトを使用します。 また、必要な追加のビュー・オブジェクトも使用します。

1.

アプリケーション・ナビゲータを開き、「 Model」プロジェクト・ノードを展開します。 既存のエンティティ、ビュー、リンク・オブジェクト、FODモジュールを確認します。

モデル・プロジェクトには、アプリケーションに必要なすべてのコンポーネントが含まれています。 Modelプ ロジェクトを閉じます。

 

2.

Business Componentテスターのモジュールをテストするため、アプリケーション・ナビゲータで「 FODModule」 を右クリックして、「 Run」を選択します。

 

3.

Business Component Configurationダイアログで、「 Connect」 をクリックします。

ブラウザ・ウィンドウが開くまで待ちます。

 

4.

Oracle Business Component Browserで、「 OrdersItemsOrdersFkLink1」 をダブルクリックします。

 

5.

ナビゲーション・ボタンを使用して、注文を参照します。

 

6.

Oracle Business Component Browserウィンドウを 閉じます

 

7.

ViewController」プロジェクト・ノードを展開します。 Fusion Web Application作成時にデフォルトで作成される既存のコンポーネントを確認します。

トピックに戻る

トピック・リストに戻る

マスター/ディテール注文ページの作成

スタートアップ・アプリケーションは、Orders、OrderItems、ProductsBaseエンティ ティ・オブジェクト、およびそれらに対応するビュー・オブジェクトを使用します。 また、必要な追加のビュー・オブジェクトも使用します。

1.

アプリケーション・ナビゲータで「 ViewController」ノードを右クリックし、コンテキ スト・メニューから「 New」を選択します。

 

2.

New Galleryで、「 Current Project Technologies」タブを クリックします。次に、「 Web Tier」→「 JSF」カテゴリを選択し、「 JSF Page」項目を選択します。

OK」をクリックします。

 

3.

File Nameフィールドに OrdersAndStocksを設定します。

OK」をクリックします。

 

4.

設計エディタで新しいページが開きます。

 

5.

コンポーネント・パレットの「 ADF Faces」→「 Layout」 ライブラリで、「 Panel Tabbed」コンポーネントをドラッグし、ページにドロップします。

プロパティ・インスペクタで、 Styleノードの Boxタブで Widthを 100 Percent、Heightを 600 Pixelに設定します。

 

6.

showDetailItem」を選択し、プロパティ・インスペクタの Commonノー ドを使用して、テキスト・フィールドに MDOrdersと入力します。

 

7.

アプリケーション・ナビゲータで、「 Data Controls」アコーディオン・パネルを展開 し、次に「 FODModuleDataControl」ノードを展開します。

 

8.

OrdersView1」ノードをビジュアル・エディタにドラッグして、ページにドロップしま す。 Createコンテキスト・メニューから「 Forms」→「 ADF Read-only Form」を選択します。

 

9.

Edit Form Fieldsダイアログで、 Include Navigation Controlsチェッ ク・ボックスにチェックを入れ、 OrderId、OrderDate、OrderStatusCode、OrderTotal、 CustomerIdを除くすべてのフィールドを選択します。 Delete 」アイコンをクリックします。

OK」をクリックします。

 

10.

Data Controlsパネルで、「 OrdersView1」ノードを展開します。 「 OrderItemsView2」 ノードをフォームの下部にドラッグします。

 

11.

Createコンテキスト・メニューから「 Tables」→「 ADF Read-only Table」を選択します。

 

12.

Edit Table Columnsダイアログで、「 Row Selection」と「 Sorting」 を選択します。 LineItemId、Quantity、UnitPrice、ProductNameを除くすべ ての列を選択します。 Deleteアイコン「  」をクリックします。

OK」をクリックします。

 

13.

新しい表を選択した状態で、プロパティ・インスペクタの Styleノードで Boxタ ブを選択し、Widthを 100 Percentに設定します。 次に、Heightを 100 Pixelと設定します。

Common」タブを選択し、Idに OrdItemと入力し ます。

 

14.

ページの設計で、OrdersViewのために作成された「 First」ボタンを選択します。次に、プロパティ・インス ペクタの Commonタブで、Idに firstと入力します。

Previousボタン、Nextボタン、Lastボタンに対して同じ操作を繰り返し、それぞれのIdに previousnextlastと 入力します。

 

15.

ページは次のように表示されます。

 

16.

JDeveloperメニュー・バーの Save Allアイコン「  」をクリックするか、「 File」→「 Save All」を選択します。

 

17.

ページ内で右クリックし、コンテキスト・メニューから「 Run」を選択します。

 

18.

ブラウザにページがロードされます。

 

19.

ナビゲーション・ボタンを試します。

 

20.

ディテール列の ソート機能を試します。

 

21.

ブラウザ・ウィンドウを 閉じます

これで作業用ページが作成されました。次に、棒グラフ、ゲージ、ガント・チャート、地理情報などの グラフ・コンポーネントを追加して、ピボット・テーブルを作成します。

トピック・リスト に戻る

ペー ジへの円グラフの追加

この項では、倉庫情報に基づいて基本的な円グラフをOrdersAndStocksページに追加します。次に、 より洗練されたレンダリングを使用して、円グラフを拡張します。

 基本的な円グラフの作成
 基本的な円グラフの改善

トピック・リスト に戻る

基本的な円グラフの作成

WarehouseStockLevelsViewを使用して、OrdersAndStocksページの MDOrdersタブに円グラフを追加し、特定の注文の各製品とそれに対応する各倉庫の在庫レベルをレンダリングします。 WarehouseStockLevelsViewは、productId属性でOrderItemsViewにリンクしています。

1.

JDeveloperに戻り、「 Model」→「 Application Sources」→「 oracle.fod.model」を展開します。続いて「 WarehouseStockLevelsView」 ビューをダブルクリックして、エディタで開きます。

 

2.

エディタの「 Query」タブをクリックして、SQL文を表示 します。 製品のあるUSの倉庫IDに基づいて、倉庫ID、倉庫名、製品ID、手もち在庫数量の列がビューに返されるのを確認します。

SELECT Warehouses.Warehouse_id,
Warehouses.Warehouse_Name,
WarehouseStockLevels.Product_Id,
WarehouseStockLevels.Quantity_On_Hand,
Addresses.Address1, Addresses.City,
Addresses.State_Province,
Addresses.POSTAL_CODE,
Addresses.Country_Id
FROM
WAREHOUSES Warehouses,
Warehouse_Stock_Levels WarehouseStockLevels,
Addresses Addresses
WHERE
Warehouses.warehouse_id = WarehouseStockLevels.warehouse_id
and Addresses.address_id = Warehouses.address_id and Addresses.Country_id='US'

 

3.

エディタ・ウィンドウで、「 OrdersAndStocks」タブをクリックして、ページを表示し ます。

 

4.

Data Controlsパネルで、「 OrdersView1」→「 OrderItemsView2」 ノードを展開します。 「 WarehouseStockLevelsView1」ノードを選択し、 OrderItemsディ テール表の下のStructureペインにドロップします。

Createコンテキスト・メニューから、「 Graphs」を 選択します。

 

5.

Component Galleryダイアログで、カテゴリとして「 Pie」を選択します。次に、 グラフの種類として「 Pie」を選択します。それぞれのカテゴリに対し、Quick Start Layoutにさまざまなレイアウトが提供されていることを確認します。

OK」をクリックします。

 

6.

必要に応じて、Create Pie Chartダイアログで「 Include Child Accessors」 の選択を解除します。次に、以下の値を指定します。
- Pie : リストから「 Quantity on Hand」を選択します。
- Slices : Add 」 をクリックして、ドロップダウン・リストから「 WarehouseId」を選択します。

Attribute Labelsセクションで、以下の設定をします。

Attribute Label
WarehouseId WarehouseName
QuantityOnHand Quantity

Preview」タブをクリックします。 データベースに接続後、ダイアグラムが表示されます。

OK」をクリックします。

 

7.

プロパティ・インスペクタの Appearanceグループで、次のプロパティを設定します。

Style Comet

次に、「 Image」ノードを展開し、 次のプロパティを設定し ます。

ImageHeight 300
ImageWidth 400
ImageFormat Flash
3D Effect true

 

8.

BehaviorノードのPartialTriggers項目の横で「 Edit」 オプションを選択します。

次に、Edit Propertyダイアログから「 table* - OrdItem」を移動しま す。 これにより、グラフがOrder Item行の選択と同期化されるようになります。

OK」をクリックします。

PartialTriggersで、::OrdItemの次に ::first ::previous ::next ::lastと入力します。

 

9.

Structureペインで、「 dvt:pieGraph」コンポーネントを展開します。 Structureペインの「 dvt:seriesSet」を展開して、「 dvt:series」 を選択します。

 

10.

プロパティ・インスペクタで、PieSliceExplodeを 100に設定します。これは、分割 スライスとメインの円の間の距離を示します。 Idに aを設定します。

 

11.

作業を 保存し、ツールバーの Runボタン「  」をクリックして、ページを実行します。

 

12.

ブラウザにページがロードされます。 デフォルトでは、各スライスにパーセント値が表示され、各スライス・ラベルは異なる色と関連づけされます。 各スライスの上にカーソルを置くと、ツールチップ・ラベル(倉庫名と数量)が表示されます。

ブラウザ・ウィンドウを閉じます。

トピックに戻る

トピック・リストに戻る

基本 的な円グラフの改善

この項では、円グラフを拡張し、いくつかのアニメーション機能を 追加します。

1.

JDeveloperに戻り、「 dvt:pieGraph」コンポーネントを選択します。次に、 Appearance セクションで、SeriesEffectに SE_GRADIENT、 SeriesRolloverBehaviorに RB_HIGHLIGHTを設定します。

 

2.

AppearanceAnimationセクションで、 AnimationOnDataChangeを ON、AnimationOnDisplayを Autoに 設定します。

注意: animateOnDisplay がonに設定されている場合、ページでグラフが最初に表示された際に、アニメーション・エフェクトが適用されます。
AnimateOnDataChangeがonに設定されている場合、データが変更されるたびに(表の列をクリックした場合も同様に)グラフにアニメー ション・エフェクトが適用されます。

 

3.

Structureペインの「 dvt:graph」を展開し、「 dvt:sliceLabel」タグを選択して、textTypeプロパティに LDT_TEXT_PERCENTを 設定します。

 

4.

Legend Areaで、Renderedプロパティを false、 AutomaticPlacementを AP_NEVERに設定します。

 

5.

Pie Labelで、Rendered propertyを trueに 設定します。

 

6.

作業を 保存し、 Runボタン「  」をクリックして、ページを実行します。

 

7.

ブラウザ・ウィンドウにページが表示されます。

 

8.

円グラフのスライスにカーソルを置くと、 ツールチップに各倉庫の倉庫名と数量が表示され、各スライ スの横にパーセント値が表示されます。

 

9.

別の スライスを選択すると、円グラフにはこの製品の状況が新たに表示されます。

 

10.

ほかの項目を選択します。 アニメーション・エフェクトが適用されることを確認します。

最後の円グラフまでこれを繰り返します。

 

11.

別の注文で試すこともできます。

 

12. ブラウザ・ウィンドウを 閉じます

トピックに戻る

トピック・リストに戻る

在庫レベルのゲージの使用

同じビューで、各倉庫の在庫レベルを反映するゲージ・グラフを追加できます。

1.

JDeveloperに戻り、エディタ・ウィンドウの OrdersAndStocks.jspxペー ジで、「 MDOrders」タブを右クリックして、コンテキスト・メニューから「 Insert after Show Detail Item」→「 Show Detail Item」を選択し ます。

 

2.

プロパティ・インスペクタで Commonノードを使用して、Textを StockLevelsに 設定します。

 

3.

StockLevels」タブをクリックし、「 Data Controls」 アコーディオンを開き、「 FODModuleDataControl」→「 OrdersView1」 →「 OrderItemsView2」→「 WarehouseStockLevelsView1」 の順に選択します。 StockLevelsペインにドロップします。

 

4.

Tables」→「 ADF Read-only Table」 を選択します。

 

5.

Edit Table Columnsダイアログで、「 Row Selection」と「 Sorting」 チェック・ボックスを選択します。 WarehouseId、Address1、PostalCode属性を削除(  )します。

OK」をクリックします。

 

6.

プロパティ・インスペクタの表コンポーネントで、StyleノードのBoxタブを使用して、Widthを 100 Percent、Heightを 600 Pixelに設定します。

 

7.

Behaviorノードを使用して、Partial Triggersプロパティを ::OrdItemに 設定します。

 

8.

コンポーネント・パレットで、「 ADF Data Visualization」→「 Gauge」 コンポーネントを選択して、 Quantity列にドロップします。

Create Gaugeダイアログで、「 Status Meter」カテゴリを選択し、「 Horizontal Status Meter with Thresholds」を選択します。

OK」をクリックします。

 

9.

Structureペインで、「 outputText #{row.Quantity}」を右ク リックして、 削除します。

 

10.

Structureペインで「 dvt:gauge」コンポーネントを選択し、プロパティ・インスペ クタで次のプロパティを設定します。 Commonノードで、Gauge Typeを STATUSMETERに 設定します。 Valueフィールドの横のリストから「 Expression Builder」を選択します。

Expression Builderダイアログで、「 JSP Objects」→「 Row」 を展開し、「 QuantityOnHand」をダブルクリックして、Expressionペインに移動させます。

OK」をクリックします。

 

11.

Gauge Data」タブを選択し、MinValueに 0、 MaxValueに 1000を入力します。この例では便宜上、倉庫の単一製品の在庫レベルが常に1,000未満である と仮定します。

 

12.

Style」ノードを選択し、Widthに 100 Percent、 Heightに 80 Pixelと入力します。

 

13.

Structureペインで、Gaugeコンポーネントの上の「 af:column」を選択し、プ ロパティ・インスペクタの Appearanceノードで、Widthを 200に設 定します。

 

14.

次に、ゲージのためのしきい値を使用して、最大と最小の在庫レベル指標を指定できるようにします。

Structureペインで、「 gauge」→「 ThresholdSet」 コンポーネントを展開します。

 

15.

3つのしきい値がThreshold Setに存在することを確認します。

 

16.

Structureペインで、 1番目の「 Threshold」 コンポーネントを選択します。 プロパティ・インスペクタで、idフィールドに t0、 ThresholdMaxValueに 30を設定します。これは、設定したい最小在庫レベルの警告値です。次に、 Textに miniを入力します。

 

17.

Structureペインで、 2番目の「 Threshold」 コンポーネントを選択します。 プロパティ・インスペクタで、idフィールドに t1、 ThresholdMaxValueに 700を設定します。これは、設定したい最適な在庫レベルです。次に、Text に maxiを入力します。

 

18.

Structureペインで、 3番目の「 Threshold」 コンポーネントを選択します。 プロパティ・インスペクタのThresholdMaxValueは、空欄のままにします。 AdvancedノードのIdフィールドを t2に設定します。

 

19.

Structureペインで「 tickLabel」コンポーネントを右クリックして、コンテキス ト・メニューから「 Insert inside dvt:tickLabel」→「 Number Format」を選択します。

 

20.

プロパティ・インスペクタのNumber Formatタグで、 Scaleタブを使用して、 ScaleFactorプロパティに SCALEFACTOR_NONEを設定します。

 

21.

Structureペインで、「 Metric Label」コンポーネントを選択します。 Commonノー ドを使用して、Metric LabelのPositionプロパティを LP_INSIDE_GAUGE_RIGHTに 設定します。

 

22.

Structureペインで「 metricLabel」コンポーネントを右クリックして、コンテキ スト・メニューから「 Insert inside dvt:metricLabel」→「 Number Format」を選択します。

 

23.

プロパティ・インスペクタのNumber Formatタグで、 Scaleを使用して、 ScaleFactorプロパティを「 SCALEFACTOR_NONE」に設定します。

 

24.

ページは次のように表示されます。

 

25.

Runボタン「  」をクリックして、ページを実行します。

 

26.

ナビゲーション・ボタンを使用して別の注文を選択し、「 orderItem」を選択します。 「 StockLevels」 タブをクリックして、対応するゲージ付きの在庫レベルを表示します。

 

27.

在庫レベル・ゲージは、最小警告レベルと最大警告レベルに関して、倉庫内の製品の状況を示します。

ゲージ上にマウスを移動すると対応する数量が表示されます。

 

28.

別の注文を使用して、 MDOrdersタブから StockLevelsタ ブへの切替えができます。

 

29.

ブラウザ・ウィンドウを 閉じます

 

トピック・リストに戻る

地理マップの作成

先ほどUSにある倉庫に使用したのと同じビューで、Oracleの空間機能を使用して、関連する倉庫の地理的な 位置を示すマップを既存のページの新しいタブに追加します。

1.

JDeveloperに戻り、OrdersAndStocksページの「 StockLevels」 タブを右クリックして、「 Insert after Show Detail Item」→「 Show Detail Item」を選択します。

 

2.

プロパティ・インスペクタで、 Commonノードを使用して、Textを Locationに 変更します。

Styleノードの Boxタブを使用して、Widthを 100 Percentに、Heightを 600 Pixelに設定します。

 

3.

Location」タブをクリックします。次に、Data Controlsパネルで、「 OrdersView1」 →「 OrderItemsView2」ノードを展開します。 「 WarehouseStockLevelsView1」 ノードを選択し、Locationタブのページ上にドロップします。

 

4.

Createコンテキスト・メニューから、「 Geographic Map」→「 ADF Map and Point Theme」を選択します。

 

5.

Create Geographic Mapダイアログで、 Addボタン「  をクリックして、新規マップ構成を作成します。

 

6.

MapViewer URLフィールドの横の Addボタン「  」をクリックします。

次のURL情報を入力します。
Name: MapViewer
URL: http://elocation.oracle.com/mapviewer
Test Connection」ボタンをクリックします。 接続が成功します。

OK」をクリックします。

 

7.

Geocoderフィールドに前の手順を繰り返し、次のURL情報を入力します。

Name: Geocoder
URL: http://elocation.oracle.com/geocoder/gcserver
Test Connection」ボタンをクリックします。 接続が成功します。

OK」をクリックします。

OK」をクリックします。Map Configurationダイアログに戻り、「 OK」をクリックします。

 

8.

表示されたマップの 左上の矢印をクリックして、問合せに対応する場所である北米にマップを再度セン タリングするか、またはStarting Xに -100、Starting Yに 40を 入力して、北米に焦点を合わせます。 次に、ズーム・カーソルを上に移動し、2倍に設定して「 Refresh」をク リックします。

OK」をクリックします。

 

9.

Create Map Point Theme Bindingダイアログが表示されます。 Addressに「 US (street, city, state, zip)」を選択して、次のフィールドを選択します。

Street Address1
City City
State StateProvince
Zip Code PostalCode
Label WarehouseName

Point Dataの下で、以下を指定します。

Data Quantity on Hand
Label Quantity

OK」をクリックしてマップを挿入します。

 

10.

Structureウィンドウで、「 dvt:map」コンポーネントを選択します。 プロパティ・インスペクタの Behaviorノードで、 PartialTriggersプ ロパティを ::OrdItem(表のID)に設定します。

 

11.

Appearanceノードで、MapZoomを 3に設定しま す。

 

12.

マップにツールバーを追加して、ズームやエリア選択などの機能を使用できるようにするには、コンポーネント・パレットから「 Toolbar」 コンポーネントを選択して、 dvt:mapコンポーネントの下にドラッグ・アンド・ドロップします。

 

13.

Insert Toolbarダイアログで、MapId(マップ・コンポーネント名)に mapと入 力します。

Finish」をクリックします。

 

14.

ページは次のように表示されます。

 

15.

JDeveloperメニュー・バーの Save Allアイコン「  」をクリックするか、「 File」→「 Save All」を選択します。

 

16.

Runボタン「  」をクリックして、 OrdersAndStocks.jspxペー ジを実行します。 製品が複数の場所に保管されている注文と品目を選択します。

 

17.

Location」タブをクリックして、この製品の倉庫の地理的な位置を示すマップを表示しま す。

 

18.

右下のウィンドウを縮小します。 ツールバー・ボタンを使用してみます。ここでは、 Zoom inボ タン「  」をクリックします。

ズームを実行するため、マップ内をクリックします。

 

19.

ツールバーのマウス・ポインタ・アイコンをクリックします。次に、任意の 赤色の点をクリックして、 場 所名数量を表示するウィンドウをポップアップ表示します。

ポップアップ・ウィンドウを閉じます。

 

20.

そのほかの機能を使用してみます。たとえば、 Areaボタン「  」を選択して、 Rectangular selectionボタン 「  」をクリックします。次 に、マップをクリックして長方形エリアを選択します。

 

21.

選択したエリアの表面積が計算されて表示されます。

 

22.

ツールバーで「 View」をクリックし、「 Information Panel」 を選択します。

 

23.

マップ上にマウスを移動し、地理座標(経度/緯度)を取得します。

 

23.

ブラウザ・ウィンドウを 閉じます

トピック・リストに戻る

ピ ボット・テーブルの作成

先ほど作成したビューを使用して、ページ・フロー・ダイアグラムに新しいページを追加し、新しいページにピボッ ト・テーブルを作成します。

1.

JDeveloperに戻り、「 Model」→「 Application Sources」→「 oracle.fod.model」を展開し、「 SalesPivotTable」 ビューをダブルクリックして、エディタで開きます。

 

2.

エディタの「 Query」タブをクリックして、SQL文を表示します。 このビューでは、製品カテゴリ、製品名、米国の州によって販売が表示されます。

SELECT category_translations.CATEGORY_NAME as "Category", products_base.product_name as "Product", addresses.state_province as "State", sum(order_items.QUANTITY * order_items.UNIT_PRICE) as "Sales"
FROM products_base, product_categories_base, category_translations, orders, order_items, addresses
WHERE products_base.product_id = order_items.product_id and products_base.CATEGORY_ID = product_categories_base.CATEGORY_ID and product_categories_base.CATEGORY_ID = category_translations.CATEGORY_ID and orders.SHIP_TO_ADDRESS_ID = addresses.ADDRESS_ID and orders.order_id = order_items.ORDER_ID and addresses.COUNTRY_ID = 'US'
GROUP BY category_translations.CATEGORY_NAME, products_base.product_name, addresses.state_province order by category_translations.CATEGORY_NAME, products_base.product_name

 

3.

OrdersAndStocks」タブをクリックしてページを開き、「 Location」 タブを右クリックして、「 Insert after Show Detail Item」→「 Show Detail Item」 を選択します。

 

4.

プロパティ・インスペクタの Commonノードで、Textを PivotTableに 変更します。

Styleノードの Boxタブで、Widthを 100 Percent、Heightを 600 Pixelに設定します。

 

5.

Pivot Table」タブをクリックします。次に、Data Controlsパネルで、「 SalesPivotTable1」 データ・コントロールをページにドラッグします。

 

6.

Createコンテキスト・メニューから「 Tables」→「 ADF Pivot Table」を選択します。

 

7.

Create Pivot Table Bindingダイアログが表示されます。 「 Category」 と「 Product」を行エッジに、「 State」を列エッジに、「 Sales」 を右側のデータ領域にそれぞれドラッグします。

Data Aggregation」タブをクリックします。

 

8.

Data Aggregationで、 Addボタン「  」をクリックして、新しい合計を作成します。 次の値を選択または入力します。
Attribute: Product
Function: Sum(デフォルト)
Aggregate Value Display: After
Aggregate Value Label: Total Product

 

9.

Preview」タブをクリックして、設計をプレビューします。

OK」をクリックして、ページにピボット・テーブルを挿入します。

 

10.

Structureウィンドウで、「 dvt:pivotTable」コンポーネントを選択します。 プロパティ・インスペクタの Styleノードの Boxタブで、Widthを 800 Pixel、Heightを 100 Percentに設定します。

 

11. JDeveloperメニュー・バーの Save Allアイコン「  」をクリックするか、「 File」→「 Save All」を選択します。
12. Runボタン「  」をクリックして、ページを実行します。
13.

ブラウザで OrdersAndStocksページが開きます。「 PivotTable」 タブをクリックします。

 

14.

Sales Tableのデフォルト・ビューが表示されます。 列合計を確認します。

 

15.

ピボット機能をテストします。たとえば、「 Product」列を選択して、 State行 のすぐ下に移動します。

 

16.

新しい表に各州の製品売上が表示されます。 新しい合計を確認します。

 

17.

Product」行を選択して、元の位置に戻します。 そのほかの列や行も移動できます。 たとえば、「 product category」列を選択して、 State行の上 に移動し、州の各製品売上を表示します。

また、レイヤーを交換することもできます。たとえば、レイヤーを別のレイヤーにドロップして、CategoryとStateを交換でき ます。

 

18.

ブラウザ・ウィンドウを 閉じます

 

トピック・リストに戻る

ガン ト・チャートの作成

この項では、ページにガント・チャートの新しいタブを追加します。 マスター/ディテール関係にリンクされたOrderShippingSummaryとOrderShippingDetailsの2つの既存のビューを使 用して、ページに新しいタブを追加し、新しいページにガント・チャートを作成します。

1.

JDeveloperに戻り、「 Model」→「 Application Sources」→「 oracle.fod.model」の順にノードを選択して、「 OrderShippingSummary」 ビュー・オブジェクトを選択します。

 

2.

エディタの「 Query」タブをクリックして、SQL文を表示します。 この問合せでは、すべての注文の各ユーザーに対し、もっとも古い発注日と最新の出荷日を取得します。 問合せは次のように表示されます。

SELECT persons.PERSON_ID, persons.FIRST_NAME as "First Name", persons.LAST_NAME as "Last Name", min(orders.ORDER_DATE) as "Order Date",
max(orders.ORDER_SHIPPED_DATE) as "Shipped Date", concat('Summary', '') as "Task Type"
FROM orders, persons
WHERE orders.CUSTOMER_ID = persons.PERSON_ID
group by persons.person_id, persons.FIRST_NAME, persons.last_name

 

3.

Model」→「 Application Sources」 →「 oracle.fod.model」の順にノードを選択して、「 OrderShippingDetails」 ビュー・オブジェクトを選択します。

 

4.

エディタの「 Query」タブをクリックして、SQL文を表示します。 この問合せでは、各ユーザーのすべての注文とOrderShippingSummaryの詳細情報を取得します。 問合せは次のように表示されます。

SELECT persons.PERSON_ID, orders.ORDER_ID, orders.ORDER_DATE as "Order Date", orders.ORDER_SHIPPED_DATE as "Shipped Date", persons.FIRST_NAME as "First Name", persons.LAST_NAME as "Last Name", concat('Normal', '') as "Task Type"
FROM orders, persons
WHERE orders.CUSTOMER_ID = persons.PERSON_ID

 

5.

FODModule」をダブルクリックして、OrderShippingSummaryと OrderShippingDetails間の既存の関係を表示します。

 

6.

OrdersAndStocksページに戻り、「 PivotTable」 タブを右クリックして、「 Insert after Show Detail Item」→「 Show Detail Item」を選択します。

 

7.

プロパティ・インスペクタの Commonノードで、Textを OrdersPlanningに 変更します。

Styleノードの Boxタブで、Widthを 100 Percentに、Heightを 600 Pixelに設定します。

 

8.

OrdersPlanning」タブをクリックします。次に、Data Controlsパネルで、「 OrderShippingSummary2」を選択し、ページにドロップします。

 

9.

動的メニューから、「 Gantts」→「 Project」を選 択します。

 

10.

Create Project Ganttダイアログで、「 PersonId」属性を選択して、 Deleteボタン「  」をクリックします。 Tasksタブで、ドロップダウン・リス トから次の値を選択します。

Task Id PersonId
Task Type TaskType
Start Time OrderDate
End Time ShippedDate

これらの値は、個々の注文すべてについて、各ユーザーに、もっとも古い発注日から最新の出荷日までのタスク期間のサマリーが作成される ことを示します。

 

11.

次に、各注文に特定の期間を表示するサブタスクを作成します。 ダイアログの「 Subtasks」 タブをクリックし、ドロップダウン・リストから次の値を選択します。

Subtasks Accessor OrderShippingDetails
Sub Task Id OrderId
Sub Task Type TaskType
Start Time OrderDate
End Time ShippedDate

OK」をクリックします。

 

12.

プロパティ・インスペクタの Commonタブで、Start TimeとEnd Timeをそれぞれ 2007-09-012007-12-31に変更します。

ここに示されている日付は、実際に使用しているデータベースの日付とは一致しない可能性が高いことに注意してください。 これらの値は、FODスキーマの作成日に依存します。

Styleノードの Boxタブで、Widthを 100 Percentに、Heightを 100 Percentに設定します。

 

13.

Runボタン「  」をクリックして、ページを実行します。

 

14.

ブラウザにページがロードされます。

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

 

15.

ガント・チャートに、各ユーザー/顧客ごとの全注文の合計期間が表示されます。

 

16.

いずれかのユーザーの「 +」アイコンをクリックして、発注明細を展開し、各注文の状態を表示しま す。

 

17.

左ペインを 拡大して、さらに列を表示します。

 

18.

ガント・チャートのツールバーがデフォルトで作成されたことを確認します。 Zoom outア イコン「  」をクリックして、タスクの表示の変化を確認します。列ラベルを か ら 四半期に置き換えます。

 

19.

メニューの「 View」→「 Time Scale」をクリック します。

時間スケールの単位を選択できます。

 

20.

ブラウザ・ウィンドウを 閉じます

 

21. これでこのチュートリアルは完了です。

トピック・リストに戻る

まとめ

このチュートリアルでは、タブ付きのJSFページの作成方法と、 Oracle ADF DVTグラフ機能の使用方法について説明しました。

 マスター/ディテール・ページの作成
 円グラフの追加
 ゲージ・チャートの追加
 地理情報の追加
 ピボット・テーブルの作成
 ガント・チャートの作成

トピック・リストに戻る

 このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。