...

Interactive Reporting

by user

on
Category: Documents
25

views

Report

Comments

Transcript

Interactive Reporting
Hyperion(R) Interactive Reporting
リリース 11.1.1
オブジェクト・モデルおよびダッシュボード開
発サービス開発者ガイド
ボリュームVI:DASHBOARD ARCHITECT
Interactive Reporting オブジェクト・モデルおよびダッシュボード開発サービス開発者ガイド, 11.1.1
Copyright © 2000, 2008, Oracle and/or its affiliates.All rights reserved.
著者: EPM Information Development Team
このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、
知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしく
は法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、
翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。
このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律
によって規定されている場合を除き、禁止されています。
ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたし
かねます。誤りを見つけた場合は、オラクル社までご連絡ください。
このソフトウェアまたは関連ドキュメントが、米国政府機関もしくは米国政府機関に代わってこのソフ
トウェアまたは関連ドキュメントをライセンスされた者に提供される場合は、次の Notice が適用されま
す。U.S. GOVERNMENT RIGHTS: Programs, software, databases, and related documentation and technical data
delivered to U.S. Government customers are "commercial computer software" or "commercial technical data"
pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the
use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set
forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract,
the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle
USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
このソフトウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。
このソフトウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーショ
ンを含む)への用途を目的として開発されていません。このソフトウェアを危険が伴うアプリケーション
で使用する際、このソフトウェアを安全に使用するために、適切な安全装置、バックアップ、冗長性
(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアを危険が伴うア
プリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の
責任を負いかねます。
このソフトウェアおよびドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるい
はそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテ
ンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社および
その関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、
あるいは損害が発生しても、一切の責任を負いかねます。
目次
第 1 章 紹介と概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
JavaScript の概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
JavaScript の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Interactive Reporting Studio が JavaScript をサポートする方法 . . . . . . . . . . . . . 9
ドキュメント・レベルのカスタマイズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
ダッシュボード・セクション・レベルのカスタマイズ . . . . . . . . . . . . . . . . 10
オブジェクト指向の概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
オブジェクト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Interactive Reporting Studio オブジェクトの例 . . . . . . . . . . . . . . . . . . . . . . . . 12
メソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Interactive Reporting Studio メソッドの例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
プロパティ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Interactive Reporting Studio プロパティの例 . . . . . . . . . . . . . . . . . . . . . . . . . . 13
オブジェクト、プロパティおよびメソッドの取扱い . . . . . . . . . . . . . . . . . . 13
Dashboard Architect の概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
ダッシュボード開発環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Dashboard Architect について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
アーキテクチャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Interactive Reporting ドキュメントからのプロジェクトの作成 . . . . . . . . . . . 16
JavaScript の編集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
テスト機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
デバッグ機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Interactive Reporting Studio との同期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Interactive Reporting ドキュメントの再作成 . . . . . . . . . . . . . . . . . . . . . . . . . . 18
第 2 章 Dashboard Architect の機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Dashboard Architect を開く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Dashboard Architect のユーザー・インタフェース . . . . . . . . . . . . . . . . . . . . . . . . 19
メニュー・コマンド、ショートカットおよびボタン . . . . . . . . . . . . . . . . . . . . . 21
「ファイル」メニュー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
「編集」メニュー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
「表示」メニュー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
目次
iii
「プロジェクト」メニュー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
「デバッグ」メニュー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
「実行」メニュー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
「ツール」メニュー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
「ヘルプ」メニュー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
「オプション」ダイアログ・ボックス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
第 3 章 プロジェクトの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
プロジェクトの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
プロジェクトの複製 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
第 4 章 Interactive Reporting ドキュメントの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
第 5 章 編集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
編集に関する一般的な注意 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
スクリプト・アウトライナを使用したナビゲーション . . . . . . . . . . . . . . . . . . . 36
オブジェクト・ブラウザを使用したコード生成 . . . . . . . . . . . . . . . . . . . . . . . . . 36
「検索」ダイアログ・ボックス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
検索機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
オプション機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
「次を検索」オプション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
「すべて検索」オプション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
「検索」フローティング・メニューの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
「置換」機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
印刷コマンドの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
カッコの照合機能の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
自動コード機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
マクロ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
マクロの定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
単純マクロ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
複数行マクロ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
マクロ・パラメータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
マクロの呼出し . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
マクロ・コントロール・コード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
別の Interactive Reporting ドキュメントからセクションをインポート . . . . . . . . 48
Unicode 機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
第 6 章 テスト・プロセスとデバッグ・プロセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
テストおよびデバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
テストについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
テスト・ルール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
iv
目次
手続き型および宣言型 JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
デバッグについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
ブレークポイント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
第 7 章 オブジェクトの追加と削除 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Interactive Reporting Studio との対話 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
再同期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
コントロールの追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
コントロールの複製 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
コントロールの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
コントロールの削除 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
コントロールの名前変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
セクションの追加と複製 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
セクション名の変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
セクションの削除 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
第 8 章 ドキュメント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
コードのドキュメント化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
ドキュメンテーション・コメント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
変数のドキュメント化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
関数のドキュメント化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
クラスのドキュメント化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Dashboard Development Services コンポーネントのドキュメント化 . . . . . . . 66
エンティティのネームスペース・スコープと@scope タグ . . . . . . . . . . . . . . 67
@scope を使用したドキュメント・グループ化 . . . . . . . . . . . . . . . . . . . . . . . 69
ドキュメンテーション・コメント・タグの参照 . . . . . . . . . . . . . . . . . . . . . . 69
Dashboard Development Services コンポーネント固有の機能 . . . . . . . . . . . . . 70
ドキュメントの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
ドキュメント・グループの包含と除外 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
スコープ外ドキュメントの包含と除外 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
HTML ドキュメントにおける Dashboard Development Services コンポーネン
ト固有の機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
第 9 章 Dashboard Development Services 更新ユーティリティの使用方法 . . . . . . . . . . . . . . . . . . . . 73
Dashboard Development Services 更新ユーティリティ . . . . . . . . . . . . . . . . . . . . . 73
Unicode 機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
リソース・マネージャの画像を連結 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
更新のワークフロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
新規セクション・ファイル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
構成ファイルの構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
構成ファイルの変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
目次
v
ドキュメントの更新 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
「1 つを更新」の方法の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
「複数を更新」の方法の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
コマンド・ラインによる更新 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
更新するドキュメントの選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
第 10 章 高度なスクリプトによるドキュメントの更新 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
スクリプトのカスタマイズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
EPM Workspace のカスタム・スクリプト環境 . . . . . . . . . . . . . . . . . . . . . . . . . . 81
スクリプトの呼出し . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
EPM Workspace でのスクリプトの呼出し . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Dashboard Development Services 更新ユーティリティでのスクリプトの呼出
し . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
スクリプトの実行の監視 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
カスタム・スクリプト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
JavaScriptUpdate.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
UpdateDataModels.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
SortDataModelTopics.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
RevertImageResources.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
スクリプト・パラメータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
ロギング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
ドキュメント情報のログへの書出し . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Document Object Model のツリー構造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
ドキュメントの変換とロード戦略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Document Object Model のトラバース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
XPath スタイル検索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Impact Management Services と Interactive Reporting Studio Document Object
Models との相違点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Impact Management Services DOM 構造の調査 . . . . . . . . . . . . . . . . . . . . . . . . 93
プロパティへのアクセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
コレクション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
プロパティ・タイプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
ファイル・システムへのアクセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
スクリプト内の一般的な Java コード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
バッチ入力ファイルの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
スクリプトの一覧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
ScriptEnvironment オブジェクト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Reporting and Analysis リポジトリ: リポジトリ・アーチファクト . . . . . . . . 101
ノード・オブジェクト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
BqyDocument オブジェクト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
vi
目次
メソッドおよびプロパティの一覧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
用語集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
目次
vii
viii
目次
紹介と概念
1
この章の内容
JavaScript の概念 ............................................................................................................9
オブジェクト指向の概念.............................................................................................. 11
Dashboard Architect の概念............................................................................................... 14
アーキテクチャ .......................................................................................................... 16
JavaScript の概念
このトピックでは、JavaScript と Hyperion(R) Interactive Reporting Studio の関係に
ついて説明します。ドキュメントとダッシュボード・セクションにおけるカスタ
マイズの相違点を考察します。
JavaScript の定義
JavaScript は、インタープリタ型プログラミング言語で、これによって Oracle
Hyperion(R) Interactive Reporting ドキュメントに実行可能なコンテンツを含めるこ
とができます。JavaScript は、小規模のボキャブラリおよび簡単なプログラミン
グ・モデルを含むスクリプト言語で、構文ループ、制約条件、および操作を使用
してインタラクティブな動的コンテンツを作成できます。JavaScript は、Java の構
文に基づいていますが、Java ではありません。
Interactive Reporting Studio が JavaScript をサポートす
る方法
Interactive Reporting Studio は、Netscape JavaScript Interpreter 1.4 をサポートします。
Netscape JavaScript は、ECMA–262/ISO–16262 標準スクリプト言語のスーパーセッ
トですが、公開されている標準とは多少異なります。ツリーのコードは、JavaScript
1.1、1.2、1.3、および 1.4 をサポートします。JavaScript 1.4 には、例外処理、新し
い switch などの ECMAv2 機能のサポートが含まれます。
JavaScript によって、Interactive Reporting ドキュメントをドキュメント、コントロー
ルを含むダッシュボード・セクション、計算結果、およびメニューの各レベルで
カスタマイズできます。
JavaScript の概念
9
ドキュメント・レベルのカスタマイズ
ドキュメントには、クエリー、テーブル、ピボット、チャート、レポート、ダッ
シュボード・セクションを含めることができます。ダッシュボード・セクション
は、ドキュメントに挿入されることも、スタンドアロンのこともあります。
Interactive Reporting ドキュメントにスクリプトを含めると、アプリケーション機
能の開始、クエリーの処理、セッションのアクティブ化、およびフィルタの作成
を行うことができます。ドキュメント・レベルのアクションは、ドキュメントで
OnStartUp イベントまたは OnShutDown イベントが発生したときに開始されます。
開発者は、JavaScript を使用するとイベント・ハンドラ(イベント発生時に実行さ
れるコード)を定義できます。イベントは、ボタンをクリックするなど、通常は
ユーザーにより開始されます。または、ドキュメントが開かれたときや、セクショ
ンがアクティブになったときに開始されるように設定できます。
ダッシュボード・セクション・レベルのカスタマ
イズ
ダッシュボードは、ユーザーがデータの表示、アドホック・クエリーの作成、お
よびレポートの印刷を行うインタフェースです。開発者は、テンプレート、チャー
ト、ピボットなどを使用して、わかりやすいセクションを作成します。これらの
セクションは、クエリーおよびレポート・プロセス全体に対するハイパーテキス
トを含む押しボタン式のインタフェースです。ダッシュボード・セクション・レ
ベルのアクションは、セクションで OnActivate イベントや OnDeactivate イベン
トが発生したときに開始されます。
セクションでは、コマンド・ボタン、リスト、グラフィック・コントロールなど
のオブジェクトのアクションと動作を JavaScript がコントロールします。通常、オ
ブジェクトは OnClick、OnSelection、OnDoubleClick などのイベントに基づい
てアクションを実行するようにスクリプトされています。
表1
ダッシュボード・コントロール
サポートされるイベント
コマンド・ボタン
OnClick
オプション・ボタン
OnClick
チェック・ボックス
OnClick
リスト
OnClick, OnDoubleClick
ドロップ・ダウン・リスト
OnSelection
テキスト・ボックス
OnChange, OnEnter, OnExit
表2
10
紹介と概念
ダッシュボード・コントロール
ダッシュボード・グラフィック
ダッシュボード・グラフィック
サポートされるイベント
線
OnClick
長方形
OnClick
ダッシュボード・グラフィック
サポートされるイベント
角丸長方形
OnClick
楕円
OnClick
テキスト・ラベル
OnClick
ピクチャ
OnClick
結果
OnClick, OnRowDoubleClick
テーブル
OnClick, OnRowDoubleClick
ピボットおよびチャート
OnClick
オブジェクト指向の概念
このトピックでは、主要なオブジェクト指向(OO)の概念を説明および例示し、オ
ブジェクト、メソッド、プロパティの取扱い方法について論じます。
オブジェクト
オブジェクト指向プログラミング(OOP)のオブジェクトは現実の世界を表します。
オブジェクトは、関連する特性や動作、すなわちプロパティやメソッドを含むソ
フトウェア・パッケージです。
JavaScript オブジェクトでは、複数のプロパティおよびメソッドをパッケージ化し
たり、組込みの動的オブジェクト、プロパティ、およびメソッドを使用したりで
きます。
プロパティは、データやその他のオブジェクトを説明する特性です。たとえば、
ドアは現実世界のオブジェクトで、ソフトウェア・アプリケーション内でモデリ
ングできます。オブジェクト・プロパティは、ドアの状態(開いているまたは閉じ
ている)を示します。ドアにはドアチェーンが付いている場合があります。ドア
チェーンはドアのプロパティですが、ロックおよびロック解除できるため、それ
自体がオブジェクトでもあります。
メソッドやイベント・ハンドラは、オブジェクトに関連付けられる機能で、オブ
ジェクトの状態を変更できます。たとえば、ドアは開いたり、閉じたりできます。
開く、閉じるという動きはメソッドを表し、ドアを 1 つの状態から別の状態に移
行するには、一連のイベントが発生する必要があります。たとえば、ドアを閉じ
るには、ドアに対して一定の方向に圧力を加える必要があります。Dashboard
Architect では、モデリングされたドアを閉める動作はルーチンによって動画化さ
れます。
オブジェクト・メソッドおよびプロパティによって、オブジェクトの特性と動作
が定義されます。
オブジェクト指向の概念
11
Interactive Reporting Studio オブジェクトの例
Interactive Reporting Studio では、スクリプト環境で、オブジェクト階層としての
ドキュメントにアクセスします。たとえば、Interactive Reporting Studio のボタン・
オブジェクトには、次のプロパティおよびメソッドが含まれています。
表3
ボタン・オブジェクトのプロパティおよびメソッド
特性
タイプ
説明
配置
プロパティ
ボタン面のテキストの配置(左、右、中央)
使用可能
プロパティ
クリックするオブジェクトの適用範囲
フォント
プロパティ
ボタン面に表示されるテキストのスタイル(独自の文字を含
むそれ自体がオブジェクト)
名前
プロパティ
プログラミングによって取り扱うオブジェクト名
OnClick
メソッド
ボタンがクリックされると呼び出されるイベント・ハンド
ラ
テキスト
プロパティ
ボタン面に表示されるテキスト
タイプ
プロパティ
オブジェクト・タイプ(例: bqButton)
垂直方向の配置
プロパティ
ボタン面のテキストの配置(上、下、中央)
可視性
プロパティ
ボタンの可視性
表中で説明されているフォント・オブジェクトにもこれらのプロパティが含まれ
ます。
表4
フォントのプロパティ
プロパティ
例
色
赤、青、黒
効果
上付き、下付き
名前
Arial、Times New Roman
サイズ
10 ポイント、12 ポイント
スタイル
太字、斜体
コレクションは、Interactive Reporting Studio および JavaScript でサポートされてい
るもう 1 つのオブジェクト・タイプです。コレクションには、通常、パーツとし
て含まれている要素数を計算する count プロパティがあります。コレクションに
は、1 つ以上のメソッドがあり、要素へのアクセス、要素の追加、その他の汎用
ファシリティによるコレクションの状態変更を使用可能にします。タイプの異な
るコレクションでは、動作が異なる場合があります。
Interactive Reporting Studio アプリケーション・オブジェクトは、1 つ以上のセク
ションを持つ 1 つ以上のドキュメントが含まれたコレクションです。各セクショ
ンには、セクション固有のその他のオブジェクトが含まれています。たとえば、
クエリーにはデータ・モデル、要求ライン、フィルタ・ラインが含まれています。
12
紹介と概念
フィルタには、値の表示とカスタム値のリスト、およびカスタム SQL が含まれま
す。
各オブジェクトには、オブジェクトの機能を使用可能にする一意のメソッドおよ
びプロパティが含まれます。
メソッド
メソッド(関数およびイベント・ハンドラ)は、オブジェクトの状態を変更するア
クションです。プログラマは、JavaScript を書いてイベントの開始時に実行される
アクションを決定します。Dashboard Architect では、1 つ以上のメソッドの実行が
伴う、これらのアクションのスクリプト記述に関係しています。たとえば、ボタ
ンが押されると、現在のドキュメント内で保存メソッドが起動されます。
Interactive Reporting Studio メソッドの例
メソッドの例には、ドキュメント内での保存、クエリー内でのプロセス、結果セッ
ト内での再計算などがあります。
プロパティ
プロパティは、オブジェクトについて説明する特性です。
Interactive Reporting Studio プロパティの例
プロパティの例には、ボタンまたはセクションの表示可能状態、接続の状態、フォ
ント・サイズなどがあります。
オブジェクト、プロパティおよびメソッドの取扱
い
プロパティおよびメソッドはオブジェクトに属します。プロパティ自体がオブジェ
クトの場合もあるため、再帰的にネストした構造が展開されます。オブジェクト
は、仮想ルート・オブジェクトから取扱い中のオブジェクト、プロパティまたは
メソッドまで、すべての名前をチェーンに含むことで参照されます。
たとえば、アクティブなドキュメントのクエリー・セクションのデータ・モデル
内にある接続オブジェクトのユーザー・プロパティは、構文で表現されます:
ActiveDocument.Sections[“Query”].DataModel.Connection.User
Interactive Reporting Studio および Dashboard Architect では、ユーザーのかわりに構
文を生成できるオブジェクト・モデルのツリー・ビュー・ナビゲータが提供され、
オブジェクト、メソッドおよびプロパティを扱うタスクを軽減します。
オブジェクト指向の概念
13
Dashboard Architect の概念
このトピックでは、動作環境、ソフトウェアに関する説明、プログラムのアーキ
テクチャと機能を含めた Dashboard Architect の主要な概念を説明します。
ダッシュボード開発環境
次の図に、ダッシュボード開発環境およびテスト・サイクルと開発サイクル内の
Dashboard Architect の役割を示します。
Dashboard Studio テンプレートのテスト・サイクルと開発サイクルは、図の右側に
表示されます。Dashboard Architect は、JavaScript を使用し、Interactive Reporting
Studio オブジェクト・モデルを活用する 4GL プログラミング環境を提供します。
図の左側には、プログラムをまったく必要としない 5GL 開発環境が表示されてい
ます。アプリケーションは、テンプレート駆動のポイントアンドクリック・ウィ
ザードを通じて開発され、テンプレートは、Dashboard Architect を使用して開発さ
れる Plug-And-Play コンポーネントによって拡張できます。『Hyperion Interactive
Reporting – オブジェクト・モデルおよびダッシュボード開発サービス開発者ガイ
ド Vol.7: コンポーネント・リファレンス・ガイド』を参照してください。
Dashboard Studio のテンプレートには、分析アプリケーションまたはダッシュボー
ドが必要とするほとんどの基本機能を提供するフレームワークが含まれます。こ
れらの機能は、各種の組合せによって連携してテンプレートを形成する独立した
コンポーネントとして実装されます。テンプレートは、ポイントアンドクリック・
ダッシュボード・コンストラクタである Dashboard Studio によって洗練されたア
プリケーションに変換されます。
このテンプレートの中心になる JavaScript は、当初は、Interactive Reporting Studio
の JavaScript エディタによって開発されていました。テンプレートのサイズと複雑
さに対処するために、より強力な開発環境が必要になってきたので、Dashboard
Architect が開発されました。
14
紹介と概念
Dashboard Architect は、Interactive Reporting Studio と統合された JavaScript エディ
タおよびデバッガです。Dashboard Architect は、Interactive Reporting Studio の
JavaScript アプリケーションを作成して維持するために使用され、Dashboard Studio
と連携してユーザーの生産性を大いに向上します。
ダッシュボード開発環境の図の右側は省略可能で、テンプレートを作成するため
に Dashboard Architect を使用する場合のみ適用されます。図の左側は、アプリケー
ション開発のライフサイクルを直接表します。
ダッシュボード開発環境は、次の原則に基づきます:
l
l
l
l
Web サーフィンができるユーザーは、ダッシュボードを使用できます。
Interactive Reporting Studio のチャートまたはピボットを作成できるユーザー
は、ポイントアンドクリック・パラダイムで高度なダッシュボードを構築で
きます。
JavaScript プログラマは、これらの機能を使用して効率よく Interactive Reporting
Studio アプリケーションおよび Plug-And-Play コンポーネントを構築できます。
Interactive Reporting Studio ユーザーは、データ・セクションとコード・セク
ションを再利用して品質と生産性を向上できます。
Dashboard Architect について
Dashboard Architect は、Interactive Reporting Studio の統合開発環境(IDE)です。これ
によって、開発時間を短縮し、生産性を向上し、Interactive Reporting Studio アプ
リケーションを迅速にテスト、デバッグ、および構築できます。
Dashboard Architect によって、プログラマは完全にインタラクティブで統合された
方法で Interactive Reporting Studio とともに JavaScript を使用できます。Dashboard
Architect の主な機能に含まれる概念は、次のとおりです。
l
l
l
l
l
JavaScript を含む Interactive Reporting ドキュメントをインポートしてプロジェ
クトを作成します。
次のような機能を使用して、プロジェクトの JavaScript を編集します。
m
強力な検索および置換機能
m
個々のフォーマットおよびバルク・フォーマット機能
m
カッコを対応させて完全な構文を作成する
m
構文を生成するオブジェクト・モデル・ブラウザ
m
元に戻す機能と後戻り機能
Interactive Reporting ドキュメントを Dashboard Architect の外部で変更する場
合、Dashboard Architect を使用して、Interactive Reporting ドキュメントを変更
し、プロジェクトの状態によって Interactive Reporting ドキュメントの状態を
同期します。
ブレークポイントとスタック・トレースを使用してコードをテストしてデバッ
グし、正しく動作するかどうかを確認し、不正な動作を修正します。
プロジェクトから Interactive Reporting ドキュメントを作成し、実稼動環境に
配置します。
Dashboard Architect の概念
15
注:
ソース・コードはテキスト・ファイルとして外部に保管されるので、他のアプリ
ケーション・ソースと同様に管理し、バージョン・コントロールできます。
アーキテクチャ
図 1 に、Dashboard Architect の構造設計を示します。
図1
製品アーキテクチャ
次に、アーキテクチャ図に示されているアイテムを展開します。
Interactive Reporting ドキュメントからのプロジェク
トの作成
プロジェクトの出発点として、Interactive Reporting ドキュメントは 1 つ以上のダッ
シュボードを含む多くのセクションで構成されています。各セクションには、ス
クリプト可能イベントを公開するオブジェクトが含まれます。ドキュメントには、
ドキュメントおよびセクションのイベントとして JavaScript が含まれる場合があり
ます。
通常の Interactive Reporting ドキュメントは分解され、すべての JavaScript はドキュ
メント内のイベントから読み取られ、テキスト・ファイルとして Scripts フォルダ
に保管されます。準備は、空であっても Interactive Reporting ドキュメントのすべ
てのイベントに対して行われます。
Instrumented.bqy は、通常の Interactive Reporting ドキュメントから作成されま
す。このファイルには、クエリー、結果、テーブル、チャート、ピボット、およ
びレポートの各セクションを含むフルセットの変更されていないセクションが含
16
紹介と概念
まれます。また、元のセクションの変更されたリリースおよび組み込まれたリリー
スも含まれます。すべての視覚要素はそのまま残されますが、すべてのオブジェ
クト・イベントには、元のスクリプトのかわりに 1 行の JavaScript が挿入されま
す。
JavaScript は、コードを要求する Debug Server を呼び出します。それに応えて、
Debug Server はコードの実行時間内に JavaScript を Interactive Reporting Studio に戻
します。
注:
プロジェクトを正しくコピーするために、プロジェクトを含むディレクトリ・ツ
リー全体をコピーする必要があります。
JavaScript の編集
Dashboard Architect と対話して、Interactive Reporting ドキュメントの外部の
JavaScript を表示して編集します。Windows エクスプローラと同様のウィンドウに
よって、各ダッシュボードのすべてのセクション、オブジェクト、およびイベン
トの(ツリーのリーフとしての)ツリー・ビューを含めて、JavaScript にアクセスし
ます。
テスト機能
コードは、Interactive Reporting ドキュメントの外部にある場合も含めて、Interactive
Reporting ドキュメントと Interactive Reporting Studio でリアルタイムで使用できま
す。その理由は、Interactive Reporting ドキュメントのすべてのイベントは、コー
ドを要求し、自身をパラメータとして渡すために Debug Server を呼び出すために
あるからです。Interactive Reporting Studio は、コードを実行するために使用され
ます。ボタンとアイテムはクリックされ、イベントが開始され、イベント・ハン
ドラが Debug Server を呼び出します。Debug Server は、オブジェクトを確認し、
JavaScript を取得し、イベント・ハンドラに文字列として戻します。イベント・ハ
ンドラは、戻された文字列を JavaScript の eval()関数に渡して操作を完了し、最
新のコードが解析および解釈され、リアルタイムで実行されます。これによって、
Interactive Reporting Studio 環境は、コードが内部に保管されている場合と同様に
コードを実行できます。そして、ドキュメントは、組み込まれているのではなく、
通常どおりに実行されているように動作します。
デバッグ機能
デバッグはテストと密接に関係しています。Dashboard Architect でデバッグする場
合は、一般に編集するコード内の 1 つ以上のブレークポイントを必要な位置に配
置します。実行は Interactive Reporting Studio 内で中断され、アプリケーション・
ロジックのその地点のアプリケーションのその時点の状態が調査されます。
ブレークポイントを追加すると、通常の JavaScript の動作が変更されます。単純に
実行されるかわりに、デバッガを呼び出して、実行されようとしている行を強調
表示するコードが挿入されます。このような行に遭遇すると、Dashboard Architect
はコントロールをユーザーに戻すので、ユーザーはプロパティとオブジェクトの
状態を調べたり、変更したりして、コードの動作を確認できます。
アーキテクチャ
17
Interactive Reporting Studio との同期
Interactive Reporting Studio では、プログラム・インタフェースを通じて多くの強
力なアクションを実行できます。ただし、ダッシュボードのオブジェクトの作成
や削除、オブジェクトのイベント・ハンドラへの JavaScript の動的な追加はできま
せん。
この問題を解決するために、Dashboard Architect には同期メカニズムがあります。
Interactive Reporting Studio のユーザー・インタフェースを通じて実行されるアク
ションが検出され、Dashboard Architect の構造は、instrumented.bqy のその時点
の状態を反映するように調整されます。これは、オブジェクトの作成や削除をシー
ムレスに実行する方法ではありませんが、使いやすいメカニズムです。
Interactive Reporting ドキュメントの再作成
開発シーケンスの最後の手順は、通常の Interactive Reporting ドキュメントの再作
成です。Dashboard Architect で編集したコードを instrumented.bqy のセクション
およびコントロールとマージし、Dashboard Architect に接続せずに、任意の実稼動
環境に配置できるドキュメントを作成します。コンパイルされた Interactive
Reporting ドキュメントに Dashboard Architect の痕跡はまったくありません。33
ページの「Interactive Reporting ドキュメントの作成」に関する説明を参照してく
ださい。
18
紹介と概念
Dashboard Architectの機能
2
この章の内容
Dashboard Architect を開く............................................................................................... 19
Dashboard Architect のユーザー・インタフェース ............................................................... 19
メニュー・コマンド、ショートカットおよびボタン........................................................ 21
「オプション」ダイアログ・ボックス ............................................................................ 27
Dashboard Architect を開く
Dashboard Architect を開くと、新規プロジェクトを作成するか、または既存のプロ
ジェクトを選択するためのウィンドウが表示されます。
新規プロジェクトを作成する場合は、「新規プロジェクト」をクリックします。
29 ページの「プロジェクトの作成」を参照してください。
プロジェクトを選択するには:
l
l
「参照」をクリックし、Dashboard Architect Project (*.qdp)ファイルを探します。
「プロジェクトを開く」からプロジェクトを選択し、「開く」をクリックしま
す。
Dashboard Architect のユーザー・インタフェース
Dashboard Architect のメイン画面は、次の図で番号が付いている各部に分割されて
います。各部については、表 5 で説明します。
Dashboard Architect を開く
19
表5
インタフェースの説明
アイテム・ラベ
ル
説明
1. メニュー・
バー
Dashboard Architect 機能にアクセスします(メニュー・バーの一部のエント
リには、共通のキーボード・ショートカットがあり、ボタンを使用して
機能をアクティブ化できます)。
2. ツールバー
ほとんどの機能に 1 回のクリックでアクセスできます。
3. ナビゲーショ
ン・パネル
パネルには、次のいずれかのモードがあります。
1. セクションおよびその中のプログラム可能な要素で、ツリー・ビュー
で展開または縮小された形式です。編集ウィンドウ(6)には、選択した
プログラム可能な要素に関連付けられている JavaScript が表示されま
す。
2. 展開可能なツリー形式のビューに表示された、組込み Interactive Reporting
ドキュメントで使用可能な Interactive Reporting Studio オブジェクトです。
オブジェクト、メソッド、またはプロパティをダブルクリックすると、
関連付けられている構文が編集ウィンドウ(6)のカーソル位置に追加さ
れます。
20
4. 行番号
行番号のインディケータです。
5. イベント・ハ
ンドラ
セクションまたはコントロールのコンテンツ・タブとして編集ウィンド
ウ(6)の最上部に表示されます。
Dashboard Architect の機能
アイテム・ラベ
ル
説明
6. 編集ウィンド
ウ
JavaScript を編集するか、またはブレークポイントで実行されているコード
を調べます。
7. 出力ウィンド
ウとコンテン
ツ・タブ
出力ウィンドウには、次の 3 つのコンテンツ・タブがあります。
1. コード要求 — instrumented.bqy による Debug Server に対して JavaScript
を要求する呼出しを追跡します。JavaScript は、各オブジェクトが評価
する必要があります。エラーが検出されると、赤い歯車が付いている
フォルダ・アイコンとともにリストの最後のアイコンが表示されます
( )。出力ウィンドウのコード行をクリックすると、編集ウィンドウ
(6)にそのイベント・ハンドラの JavaScript が表示されます。
2. 検索 — 検索の指定に一致する行を表示します。検索リストの行をクリッ
クすると、そのイベント・ハンドラの JavaScript が編集ウィンドウ(6)に
表示され、行に一致した場所にカーソルが配置されます。
3. 評価 — ブレークポイントで実行が停止している間に、
instrumented.bqy と対話できるようにします。2 つのサブ・ペインが
表示され、1 つには評価のための JavaScript 式を入力でき、もう 1 つに
評価の結果が表示されます。このウィンドウには、デバッグ用のボタ
ンもあります(
(評価)と
評価する式を
(切取り)、
または
す。
(スタック・トレース))。評価ペインで、
(コピー)、または
(貼付け)するか、
(消去)をクリックし、このウィンドウから式を削除しま
注: 出力ウィンドウは、
をクリックするか、または[Crtl]+[W]キーを
押した場合のみ表示されます。
メニュー・コマンド、ショートカットおよびボタン
このトピックでは、Dashboard Architect のメニュー・コマンド、ボタン、および
ショートカットの全体的なリストと説明を示します。
「ファイル」メニュー
表 6 では、「ファイル」メニューで使用可能なコマンドについて説明します。
表 6 「ファイル」メニューの説明
コマンド
ボタン
(存在
する場
合)
ショート
カット(使
用可能な場
合)
説明
新規プロジェ
クト
[Ctrl]+[N]
Interactive Reporting ドキュメントからプロジェクト・
ファイルを作成します(プロジェクトの開始点)。
プロジェクト
を開く
[Ctrl]+[O]
プロジェクトを開いてコードを編集およびテストし
ます。
メニュー・コマンド、ショートカットおよびボタン
21
ボタン
(存在
する場
合)
コマンド
ショート
カット(使
用可能な場
合)
プロジェクト
を閉じる
説明
開いているプロジェクトを閉じます。
プロジェクト
の保存
[Ctrl]+[S]
開いているプロジェクト(JavaScript や関連付けられ
た instrumented.bqy を含む)を保存します。
印刷
[Ctrl]+[P]
プロジェクト全体または一部の JavaScript のリスト
を印刷します。
印刷設定
プリンタ設定を構成します。
BQY の作成
instrumented.bqy および Dashboard Architect スクリ
プト・フォルダ内の JavaScript から Interactive Reporting
ドキュメントを作成します。
<番号付きア
イテム>
最近使用したプロジェクトを開きます。
[Ctrl]+[Q]
終了
プロジェクトとアプリケーションを閉じます。
「編集」メニュー
表 7 では、「編集」メニューで使用可能なコマンドについて説明します。
表 7 「編集」メニューの説明
コマンド
22
ボタン
(存在
する場
合)
ショート
カット(使
用可能な場
合)
説明
元に戻す
[Ctrl]+[Z]
ドキュメントを前の状態に戻します(現在のイベントのア
クションでのみ機能します。他のイベント・ハンドラへ
の移動と、「検索」、「置換」、「保存」操作の使用は、
「元に戻す」ログでは連続していません)。
やり直し
[Ctrl]+[Y]
「元に戻す」の反対です。
切取り
[Ctrl]+[X]
選択したテキストに関する Windows 標準動作です。
コピー
[Ctrl]+[C]
選択したテキストに関する Windows 標準動作です。
貼付け
[Ctrl]+[V]
選択したテキストに関する Windows 標準動作です。
検索
[Ctrl]+[F]
次を検索
[F3]
Dashboard Architect の機能
「検索」をアクティブ化し、テキスト文字列やパターンに
一致する検索条件を指定します。
一致したテキスト文字列またはパターンの次のインスタ
ンスを検索します。
コマンド
ボタン
(存在
する場
合)
ショート
カット(使
用可能な場
合)
説明
前を検索
[Ctrl]+[F3]
一致したテキスト文字列またはパターンの前のインスタ
ンスを検索します。
置換
[Ctrl]+[H]
「置換」をアクティブにし、文字列を検索する条件を指定
します(各一致が別の文字列と置換されます)。
カッコの
照合
[Ctrl]+[B]
カーソル位置以降で、次の開きカッコ(()、中カッコ({)、
または大カッコ([)を探し、対応する閉じカッコを探しま
す(開きカッコの(()、({)、または([)が存在しない場合、見
つかるまで後方をスキャンし、前方に移動して対応する
閉じカッコを探します。一致が見つかった場合、開きア
イテムと閉じアイテムの間の領域が強調表示されます)。
行に移動
[Ctrl]+[G]
イベント・ハンドラ内の指定された行番号にカーソルを
移動します。
「表示」メニュー
表 8 では、「表示」メニューで使用可能なコマンドについて説明します。
表 8 「表示」メニューの説明
コマンド
ボタン
(存在す
る場合)
ショート
カット(使
用可能な
場合)
説明
BQY スクリプ
ト・アウトラ
イン
オブジェクト・モデル・モードをオフにし、ナビゲー
ション・パネルにセクションとオブジェクトを表示し
ます。
オブジェク
ト・モデル
BQY スクリプト・アウトライン・モードをオフにし、
ナビゲーション・パネルをオブジェクト・モデル・ブ
ラウザに置き換えます。
すべてのイベ
ント
ナビゲーション・パネルに、イベント・ハンドラが含
まれるすべてのオブジェクトを表示します(BQY スクリ
プト・アウトライン・モードで適用されます)。
スクリプトさ
れたイベント
ナビゲーション・パネルに、空でないイベント・ハン
ドラが含まれるオブジェクトを表示します(BQY スクリ
プト・アウトライン・モードで適用されます)。
出力ウィンド
ウ
戻る
[Ctrl]+[W]
出力ウィンドウの表示と非表示を切り替えます。
スクリプト内の前回カーソルをクリックした場所に戻
ります(最近表示したイベントのリストが表示される
ドロップダウン矢印が含まれます)。
メニュー・コマンド、ショートカットおよびボタン
23
「プロジェクト」メニュー
表 9 では、「プロジェクト」メニューで使用可能なコマンドについて説明します。
表 9 「プロジェクト」メニューの説明
コマンド
ボタ
ン(存
在す
る場
合)
説明
インポート
1 つ以上の Interactive Reporting Studio セクションを、外部 Interactive
Reporting ドキュメントからインポートします(セクションはインポー
トの一部として組み込まれます)。
セクション
の追加
instrumented.bqy 内にセクションを作成し、Dashboard Architect 内に
セクション
名の変更
Interactive Reporting Studio セクションの名前を変更します(Dashboard
Architect 内の対応するイベント・ハンドラの名前が変更されます)。
セクション
の削除
セクションを削除します(Dashboard Architect 内の対応するイベント・
ハンドラが削除されます)。
コントロー
ルの追加
ダッシュボードでのオブジェクトの作成に必要なプロセスの詳細を
示すダイアログ・ボックスを開きます(Interactive Reporting Studio では
このタイプのオブジェクトをプログラムにより作成できないため、
この操作には Dashboard Architect で始まり、Interactive Reporting Studio で
終わる 2 ステップのプロセスが関係しています)。
再同期
instrumented.bqy を閉じて検証し、新規オブジェクトを組み込ます
(Dashboard Architect 内のイベント・ハンドラの状態を、
instrumented.bqy の現在の状態と同期します)。
コントロー
ル・ドキュ
メンテー
ションを含
める
生成されるドキュメントに、変数または関数用のドキュメント(コン
トロールの外部は対象外)を含めるかどうかを指定します。
ドキュメン
テーション
の生成
現在の Interactive Reporting ドキュメントの HTML ドキュメントを生成し
ます。
イベント・ハンドラの一致するセットを作成します。
「デバッグ」メニュー
表 10 では、「デバッグ」メニューで使用可能なコマンドについて説明します。
24
Dashboard Architect の機能
表 10 「デバッグ」メニューの説明
コマンド
ボタン
(存在
する場
合)
ブレークポ
イントの切
替え
ショート
カット(使
用可能な
場合)
説明
[F9]
ブレークポイントのオンとオフを切り替えます(ブレー
クポイントを有効にする前に「実行」、「現在のイベン
トの起動」の順に選択します)。
すべてのブ
レークポイ
ントの消去
すべてのブレークポイントをオフにします。
評価
出力ウィンドウの評価ペインにある左側のテキスト・
ボックス内の式を評価します(有効な JavaScript 式にする
必要があります。有効でない場合、JavaScript エラーが生
成され、ブレークポイントで実行が中止されます。ブ
レークポイントで一時停止された場合のみ使用可能で
す)。
スタック・
トレース
ブレークポイントまでの関数呼出しの順序を表示しま
す(ブレークポイントで一時停止された場合のみ使用可
能です)。
「実行」メニュー
表 11 では、「実行」メニューで使用可能なコマンドについて説明します。
表 11 「実行」メニューの説明
コマンド
ボタン
(存在す
る場合)
説明
現在のイベントの起
動
現在のイベント・ハンドラを呼び出し、JavaScript の評価
をトリガーします(構文エラーのチェックと、関数内の定
義およびブレークポイントの更新に使用されます)。
OnStartUp イベントの
起動
ドキュメントの OnStartUp()イベントを起動します。
ドキュメントのロー
ドの起動
instrumented.bqy を保存して閉じ、再度開きます。
続行
現在のブレークポイントを通過して続行します。
「ツール」メニュー
表 12 では、「ツール」メニューで使用可能なコマンドについて説明します。
メニュー・コマンド、ショートカットおよびボタン
25
表 12 「ツール」メニューの説明
コマンド
オプション
マクロ定義の
再ロード
Interactive
Reporting Studio
のタイプ・ラ
イブラリの診
断
ボタ
ン(存
在す
る場
合)
説明
「オプション」ダイアログ・ボックスを表示します(27 ページの
「「オプション」ダイアログ・ボックス」を参照)。
macros.txt ファイルからマクロ定義を再ロードします(マクロの開発、
テスト、および変更時に役立ちます)。
「インストール診断」ウィンドウを開きます(インストール診断の一
部として、タイプ・ライブラリ・ファイル(TLB)には Interactive Reporting
Studio などの COM サーバーにより提供されるインタフェースが記述
されます。Dashboard Architect は、TLB を使用して Interactive Reporting
Studio が提供するサービスとやり取りを行います。リリース 9.3.1
より前のリリース(リリース 9.2 Service Pack 3 を除く)を使用してお
り、TLB のバージョンと Interactive Reporting Studio のリリースが同期
されていない場合、Dashboard Architect で予期しない動作が発生する
可能性があります。標準インストールでは、TLB は Windows system32
フォルダにあり、brioqry.tlb という名前になっています。
Interactive Reporting Studio インストーラは、アプリケーションと TLB
の同期を維持します。ただし、アップグレードに非標準メカニズム
が使用されると問題が生じることがあります)。
行番号
編集ウィンドウで行番号の表示と非表示を切り替えます(組込み
Interactive Reporting ドキュメントを使用する場合は、コンソール・
ウィンドウに表示される行番号と Dashboard Architect に表示される行
番号が一致しません。コンソール・ウィンドウで報告される行番号
を変換するには、現在のイベントにブレークポイントがない場合は
行番号から 2 を差し引きます。報告された行より後にブレークポイ
ントがある場合は、ブレークポイントごとにさらに 5 ずつ差し引き
ます)。
常に手前に表
示
Dashboard Architect ウィンドウが、常に他のウィンドウより手前に表
示されます(このモードで実行するとコメントを使用できません)。
アプリケーションが通常のウィンドウとして機能します。
「ヘルプ」メニュー
表 13 では、「ヘルプ」メニューで使用可能なコマンドについて説明します。
表 13 「ヘルプ」メニューの説明
コマンド
ショートカット(使用
可能な場合)
コンテンツ
F1
Hyperion Dashboard Architect の
バージョン情報
26
Dashboard Architect の機能
説明
Dashboard Architect のヘルプを表示しま
す。
製品のリリース情報を表示します。
「オプション」ダイアログ・ボックス
「オプション」を使用すると、Dashboard Architect インタフェースのルック・アン
ド・フィールを変更できます。「オプション」ダイアログ・ボックスを表示するに
は、「ツール」>「オプション」の順に選択します。
「オプション」ダイアログ・ボックスでは、次の設定を変更できます。
l
l
l
l
l
l
l
l
l
[Tab]キーで挿入する空白 - [Tab]キーを押したときに追加する空白の数を表し
ます(「[Tab]キーで挿入する空白」を変更しない場合、編集ウィンドウの現在
の行が次の行に適用されます)。
履歴入力の合計 - 以前に使用した最大 20 個のイベント・ハンドラにアクセス
します(20 エントリの制限があります)。
起動時に「ようこそ」ダイアログを表示 - Dashboard Architect の起動時に「よ
うこそ」ダイアログを表示します。
作成時に INCLUDES を削除 - 選択した場合は、プロジェクトの作成時にすべ
ての INCLUDES への参照が削除されます。
自動コード拡張を有効にする - 選択した場合は、自動コード機能が使用可能に
なります(41 ページの「自動コード機能」を参照)。
無効なドキュメンテーション・タグの警告を表示 - 選択した場合は、無効なド
キュメンテーション・タグがあるときに警告ダイアログ・ボックスが表示さ
れます(63 ページの「ドキュメント」に関する説明を参照)。
コード・フォント - Dashboard Architect に表示されるコード・フォントをカス
タマイズします(「フォント」ダイアログ・ボックスからフォント、フォント・
スタイル、およびサイズを選択し、コードに適用します)。
ユーザー・インタフェースのフォント - Dashboard Architect のユーザー・イン
タフェースのフォントをカスタマイズします。
言語 - ユーザー・インタフェース言語を設定できるようにします(異なる言語
では文字の表示が異なるため、ローカライズ・リリースまたは Unicode リリー
スでは必須オプション)。
「エディタ・フォーマット」の下の他のコマンドを使用すると、構文の強調表示に
使用される色とフォント・タイプを変更できます。リストから構文フォーマット
を選択し、色とフォント・タイプを適用します。
注:
色は、テキストの表示時にのみ適用されます。JavaScript ファイル内のテキストの
色は保管されません。
「オプション」ダイアログ・ボックス
27
28
Dashboard Architect の機能
プロジェクトの作成
3
この章の内容
プロジェクトの作成 .................................................................................................... 29
プロジェクトの複製 .................................................................................................... 31
プロジェクトの作成
プロジェクトを作成または複製するプロセスは、Dashboard Architect でコードを開
発または維持するための開始点です。ただし、Dashboard Architect には API 機能
がないため、Interactive Reporting ドキュメント、Interactive Reporting Studio セク
ション、ダッシュボード・オブジェクトは作成されません。
Dashboard Architect は、Interactive Reporting Studio の長所を引き立たせ、セクショ
ンでのイベント・ハンドラのスクリプト作成およびデバッグにおける価値を加え
ます。
ä プロジェクトを作成するには:
1 Interactive Reporting Studio を起動し、「ようこそ」ダイアログで取消しをクリックしま
す。
Dashboard Architect を起動する前に Interactive Reporting Studio を起動すると、
Dashboard Architect が Interactive Reporting Studio とやり取りを行うときに、メ
ニュー・バーの間欠的な表示による画面のちらつきがなくなります。
2 Dashboard Architect を起動します。
3 または、Dashboard Architect を開くには、Interactive Reporting Studio を起動し、ツール
>Dashboard Architect の起動の順に選択します。
4 ファイル>新規の順に選択するか、
をクリックします。
「新規プロジェクトの作成」が作成されます。
5
(「元の BQY の場所」の横)をクリックし、維持または再開発する JavaScript が含ま
れる Interactive Reporting ドキュメントに移動します。
この例で選択する Interactive Reporting ドキュメントは、Samples ディレクトリにあ
る Arch_tut.bqy です。
「Dashboard Architect のプロジェクト・フォルダ」にプロジェクト・フォルダ名(最
初の Interactive Reporting ドキュメントと一致)が入力されます。このフォルダは、
元の Interactive Reporting ドキュメントが存在するフォルダに作成されます。
プロジェクトの作成
29
「プロジェクト・タイトル」に、選択された元の Interactive Reporting ドキュメント
が自動的に反映されます。デフォルトのタイトルを使用するか、別のタイトルを
指定します。
6 オプション: デフォルトの Dashboard Architect のプロジェクト・フォルダを上書きする
には、
をクリックして別のフォルダを特定します。
ファイルとフォルダが追加されてディレクトリ構造が作成されるため、空のフォ
ルダにする必要があります。
7 OK をクリックします。
Dashboard Architect により、選択した Interactive Reporting ドキュメントが検証さ
れて分解され、すべてのダッシュボード・オブジェクトのイベント・ハンドラを
準備するための JS ファイルがセクションごとに作成されます。Interactive Reporting
ドキュメントにある JavaScript は、JS ファイル内のイベント・ハンドラの位置に配
置されます。
Dashboard Architect により、組込みデバッグ・コードと置換される JavaScript を除
いては元の Interactive Reporting ドキュメントと同一に見える instrumented.bqy
が作成されます。デバッグ・コードは、テスト時にリアルタイムで JavaScript コー
ドを JS ファイルから Interactive Reporting ドキュメントに戻すデバッグ・サーバー
を呼び出します。
デバッグ・サーバーと Dashboard Architect が存在する場合、Instrumented.bqy の
動作は元の Interactive Reporting ドキュメントと似ています。元の Interactive
Reporting ドキュメントは変更されないままで、コピーが Backup フォルダに配置
されます。ファイル名の形式は、ORIGINAL-<日時>です。たとえば、
ORIGINAL-2004-10-09-18-26-40.bqy となります。
開発サイクルの終わりに、JS ファイル内の JavaScript と instrumented.bqy から
Interactive Reporting ドキュメントが再作成されます。
プロジェクト構造には次のフォルダが含まれています。
l
l
l
l
l
Backup - instrumented.bqy の作成に使用された元の Interactive Reporting ド
キュメントが存在します。
Compiled - 使用開始する Interactive Reporting ドキュメントが存在します(「BQY
の作成」コマンドが選択されるたびに Interactive Reporting ドキュメント・ファ
イルが追加されます)。
Instrumented - instrumented.bqy が存在します。
Scripts - 各セクションの JS スクリプト・ファイルとドキュメントの JS スクリ
プト・ファイルが存在します。
Library、ESInfo、および Doc - 将来の使用のために予約されています。
組込みプロセスが完了すると、作成されたプロジェクトの JavaScript が Dashboard
Architect により表示されます。プロジェクトでテストと編集を行う準備ができま
した。
30
プロジェクトの作成
プロジェクトの複製
この手順は、29 ページの「プロジェクトの作成」に続けて行います。
プロジェクトを複製するには、プロジェクトを含むディレクトリ・ツリーをコピー
する必要があります。
ä プロジェクトを複製するには:
1 Windows エクスプローラを開きます。
2 複製するプロジェクトを検索します。
たとえば、Arch_tut フォルダを検索します。
3 プロジェクト・ファイル、組込み Interactive Reporting ドキュメントおよび JavaScript ファ
イルを含むディレクトリ・ツリーを選択します。
つまり、プロジェクトを使用するために必要なものをすべて選択します。個々の
Dashboard Architect プロジェクトは、独立しているため問題なくコピーできます。
4 マウスを右クリックして、コピーを選択します。
5 複製プロジェクトのディレクトリを貼り付けるフォルダを作成します。
たとえば、Arch_tut_copy を作成します。
6 コピーしたディレクトリをフォルダに貼り付けます。
たとえば、ファイルを Arch_tut_copy に貼り付けます。
7 Dashboard Architect で複製プロジェクト・ファイルを開きます。
複製されたプロジェクトの動作は、元のプロジェクトと同じです。
オプション: ソース・コード・コントロール・システムを使用する開発者向けのも
う 1 つの複製方法は、ソース・コード・コントロール・システムの分岐を使用す
ることです。これは、従来のソフトウェア開発技術により近い方法です。
プロジェクトの複製
31
32
プロジェクトの作成
Interactive Reportingドキュメ
ントの作成
4
開発プロセスの終わりには、Dashboard Architect により instrumented.bqy から標
準 Interactive Reporting ドキュメントと、JS ファイルから更新された JavaScript が
再作成されます。
組込みデバッグ・コードは、各ダッシュボード内のイベントごとに、JS ファイル
から作成された JavaScript に置き換えられます。標準 Interactive Reporting ドキュメ
ントとして Dashboard Architect が使用不可の環境で、標準 Interactive Reporting ド
キュメントを実行できるようになります。たとえば、次の環境に配置できます。
l
クライアント(Interactive Reporting Studio など)
l
プラグイン(Oracle Hyperion(R) Interactive Reporting Web Client など)
ä Dashboard Architect で開いているプロジェクトの Interactive Reporting ドキュメン
トを作成するには:
1 ファイル>BQY の作成を選択します。
「名前を付けて保存」が表示されます。デフォルトでは、ファイルはプロジェクト
作成時に指定されたフォルダに保存されます。プロジェクトの Compiled フォルダ
にも、ファイルのバックアップが作成および保管されます。
2 保存をクリックします。
Dashboard Architect 組込みのトレースは、コンパイルされた Interactive Reporting
ドキュメントには残りません。
33
34
Interactive Reporting ドキュメントの作成
編集
5
この章の内容
編集に関する一般的な注意........................................................................................... 35
スクリプト・アウトライナを使用したナビゲーション..................................................... 36
オブジェクト・ブラウザを使用したコード生成 .............................................................. 36
「検索」ダイアログ・ボックス...................................................................................... 37
「検索」フローティング・メニューの使用 ...................................................................... 40
「置換」機能 ............................................................................................................... 40
印刷コマンドの使用 .................................................................................................... 41
カッコの照合機能の使用.............................................................................................. 41
自動コード機能 .......................................................................................................... 41
マクロ ....................................................................................................................... 43
別の Interactive Reporting ドキュメントからセクションをインポート..................................... 48
Unicode 機能 ................................................................................................................ 49
編集に関する一般的な注意
Dashboard Architect における JavaScript の編集は、UltraEdit、VisualBasic、メモ帳な
どの多くのプログラムで行う編集操作に似ています。Dashboard Architect の編集
ウィンドウを使用して、Interactive Reporting ドキュメント内のコードを編集しま
す。
編集ウィンドウで加えた変更は、
をクリックするか、ドキュメントを再ロー
ドすることによって、次回保存時に Scripts フォルダの JS ファイルに保存されま
す。コード変更はメモリーに保持され、イベント・ハンドラがデバッグ・サーバー
からコードを要求すると、Interactive Reporting ドキュメントで使用可能になりま
す。
キーボードおよびボタンの動作は一般的なものです。次は、注意が必要な特殊な
機能です。
l
構文は色分けされています。Dashboard Architect では、予約語のディクショナ
リを使用して、構文の色分け方法をコントロールします(色分けは「オプショ
ン」でコントロールします。「ツール」、「オプション」の順に選択します。色
は、表示中のテキストのみに適用され、JavaScript ファイルに含まれるテキス
トには保管されません。27 ページの「「オプション」ダイアログ・ボックス」
を参照してください)。
編集に関する一般的な注意
35
l
l
l
l
インデントは、現在選択中の行および次の行に適用されます([Tab]キーを押す
と挿入されるスペースの数は「オプション」でコントロールします。27 ペー
ジの「「オプション」ダイアログ・ボックス」を参照してください)。
[Shift]キーを押しながら[Enter]キーを押すことと[Enter]キーを押すことは同じ
ではありません。[Enter]キーを押すと、JavaScript の行が終了します。[Shift]
キーを押しながら[Enter]キーを押すと、JavaScript ステートメントは終了せず
次の行に続きます(ブレークポイントがある場合は、[Shift]キーを押しながら
[Enter]キーを押さないでください。ブレークポイントは継続行をまたいで設定
できません。ブレークポイントがこれらの行に追加されると、JavaScript の構
文エラーが発生します。54 ページの「ブレークポイント」を参照してくださ
い)。
戻る操作を行うと、前に表示したイベント・ハンドラに戻ります(追跡のため
に 20 件のイベント・ハンドラが実行スタックに保存されます)。
元に戻す操作のログの不連続性は、保存、検索、置換、現在のイベントの起
動、スタートアップの起動、ドキュメントの再ロード、別のイベント・ハン
ドラへの移動などの操作によって起こります(これらの操作の実行後に、元に
戻す操作でこれらの操作以前にさかのぼることはできません。不連続性が発
生した時点は越えられませんが、その時点までは、元に戻す、切取り、削除、
および貼付け操作を実行できます)。
スクリプト・アウトライナを使用したナビゲーショ
ン
Dashboard Architect 内を移動するには、スクリプト・アウトライナ・ビューを使用
します。
Dashboard Architect では、プロジェクト間を移動するために、Windows エクスプ
ローラに似た構造を使用しています。
(BQY スクリプト・アウトライン)をクリックし、ナビゲーション・パネル内
のオブジェクトを選択します。選択されたオブジェクトの JavaScript が編集ウィン
ドウに表示されます。
編集ウィンドウのコンテンツは、出力ウィンドウの「コード要求」ペインまたは
「検索」ペインをクリックすることによって変更できます。
オブジェクト・ブラウザを使用したコード生成
(BQY オブジェクト・モデル)をクリックして、ナビゲーション・パネルをオ
ブジェクト・ブラウザに置き換えます。オブジェクト・ブラウザを使用して、
Interactive Reporting Studio が COM インタフェースによってエクスポートするオブ
ジェクトおよびプロパティを参照します。オブジェクトおよびプロパティのセッ
トは、Interactive Reporting Studio で使用可能なオブジェクト・ブラウザ・ビュー
に似ています。
36
編集
[+]または[-]をクリックして、ツリー内のノードを展開および縮小します。また
は、オブジェクトあるいはプロパティをダブルクリックして、編集ウィンドウで
参照を生成します。
オブジェクトまたはプロパティの宣言は、オブジェクト・ブラウザの下にある説
明情報ボックスに表示されます。Interactive Reporting Studio のヘルプを表示する
には、
をクリックします。オブジェクト・ツリーを縮小し、ローカルのキャッ
シュを消去するには、 (「オブジェクト・ブラウザのリセット」)をクリックし
ます。オブジェクト情報の入手は非効率的な操作であるため、取得はリアルタイ
ムで行われます。オブジェクト情報は、Dashboard Architect にキャッシュされま
す。Interactive Reporting ドキュメントが変更されると、キャッシュは古くなる場
合があり、リセットが必要です。たとえば、展開されているツリーにフィルタま
たは計算結果アイテムを追加すると、リフレッシュまたはリセットを行うことに
よって上からオブジェクトを表示できます。
「検索」ダイアログ・ボックス
「検索」を使用するには、「編集」
、「検索」の順に選択するか、
す。
をクリックしま
「検索」ダイアログ・ボックスは、3 つの部分に分かれています:
l
検索条件(検索機能)
l
検索操作の範囲(オプション機能)
l
検索プリファレンスでは、次のインスタンスを検索する(「次を検索」オプショ
ン)か、すべてのインスタンスを検索する(「すべて検索」オプション)よう設
定できます。
「検索」を使用するには、「検索項目」に検索する文字列またはパターンを入力し、
「次を検索」または「すべて検索」をクリックします。または、前回入力した検索
条件をドロップダウン・リストから選択します。
検索機能
「検索」の範囲は次の領域に制限できます:
l
現在のイベント - 現在表示されているイベント・ハンドラ
l
現在のセクション - イベント・ハンドラがその一部に含まれるセクション
l
現在のプロジェクト - プロジェクト全体
オプション機能
検索プロセスを絞り込むためにいくつかのオプションを使用可能です。
「検索」ダイアログ・ボックス
37
完全に一致する単語だけを検索
JavaScript 構文の要素全体が検索対象となります。スペースによって区切られた文
字セットは検索対象にはなりません。例には 7 つの単語が含まれています:
ActiveDocument.Sections[“Query”].Limits[“Cust_Id”].SelectedList.Count
大文字と小文字を区別
「検索項目」に入力された文字列またはパターンに従って、大文字と小文字のイン
スタンスを検索します。
パターン照合を使用
パターン照合は、JavaScript によって認識されるのと同じように標準式として実装
されます。標準式はそれ自体が言語であるため、このガイドでは説明されていま
せん。インターネット上のリソースである WebReference.com を参照してくださ
い:
http://www.webreference.com/js/column5/
文字列と数字は、通常そのままの文字を表しますが、特殊な意味を持つ文字やメ
タ文字もあります。これらの文字をそのまま使用するには、円記号(¥)を使用して
エスケープします。
表 14
38
編集
文字の例
文字
説明
0–9a–zA–Z
文字
.
新規行以外の文字
*
前のアイテムが 0 回以上発生
+
前のアイテムが 1 回以上発生
?
前のアイテムが 0 回または 1 回発生
¥f
フォーム・フィードまたは新規ページ
¥n
新規行
¥r
キャリッジ・リターン
¥t
タブ
¥/
/
¥¥
¥
¥.
.
¥Xnn
16 進数によって指定された ASCII 文字
¥w
単語構成文字(a-zA-a0-9)
文字
説明
¥W
非単語構成文字
¥s
空白文字
¥S
非空白文字
¥d
桁(0-9)
$
文字列の最後(この場合はイベント・ハンドラの最後の文字)
^
文字列の最初が一致(この場合はイベント・ハンドラの最初の文字)
|
または(任意の代替セット)
(...)
グループ化
表 15
パターン例
パターン
説明
if|else
if または else
m.*(Parent|Name)
m に 1 字以上の文字と Parent が続く、または m に 1 字以上の文字と Name
が続く
Active.*Name
Active という文字列に 1 文字以上の文字と Name が続く
.*¥}
右中カッコ(})の前に 0 字以上の文字を含む文字列(標準式では中カッコは
特殊メタ文字のため、円記号(¥)を使用してエスケープする必要がありま
す)
.+¥}
右中カッコ(})の前に 1 字以上の文字を含む文字列
¥{¥r¥n
キャリッジ・リターンと改行が後に続く中カッコ({)を含む行
e¥r¥n|e$
e で終了する行または e で終了するイベント・ハンドラ
¥r¥nf|^f
強制改行に f が続く、または f で開始するイベント・ハンドラ
パターン照合が使用可能ではない場合、Dashboard Architect は次の記号の検索およ
び置換ユーティリティをサポートしています。
表 16
記号
記号
機能
^t
タブ文字
^p
新規行(CR/LF)(段落)
^^
符号(^)
「検索」ダイアログ・ボックス
39
「次を検索」オプション
「次を検索」を使用して、検索の次のインスタンスに移動します。編集中は、「検
索」ダイアログ・ボックスをアクティブにできます。次の検索結果を表示するに
は、「次を検索」または
をクリックするか、[F3]キーを押します。
「すべて検索」オプション
「すべて検索」をクリックすると、検索コンテキスト全体(イベント、セクション
またはプロジェクト)で検索操作が実行され、結果リストが戻されます。結果を表
示するには、出力ウィンドウの「検索」タブをクリックします。
出力ウィンドウには、プロジェクト内で見つかったアイテムがリストされ、ナビ
ゲーション・メカニズムを使用できます。行をクリックすると、Dashboard Architect
にイベント・ハンドラと対象行が表示され、見つかったインスタンスが編集ウィ
ンドウ内でハイライトされます。
「検索」フローティング・メニューの使用
フローティング・メニューでは、いくつかの検索操作を行うことができます。文
字列を検索するには、編集ウィンドウで検索する文字列をハイライトします。マ
ウスを右クリックし、検索操作の範囲を選択します。たとえば、「イベントの検
索」、「セクションの検索」、または「プロジェクトの検索」を選択します。
Dashboard Architect は指定した文字列を検索し、出力ウィンドウに結果を表示しま
す。
「検索」フローティング・メニューの「関数の検索」では、関数の定義をすばやく
検索できます。
ä 「関数の検索」を使用するには:
1 関数名に対応するテキストをハイライトします。
2 右クリックし、関数の検索を選択します。
Dashboard Architect は検索文字列の前に function という単語を付けて、プロジェク
ト全体の検索を開始します。見つかった関数の最初の部分が編集ウィンドウに表
示されるので、確認します。
3 確認が終わったら、
をクリックして検索の起動点に戻ります。
「置換」機能
「置換」機能は「検索」に似ています。この機能では、テキストまたはパターンを
検索し、条件に一致したアイテムを「置換後の文字列」ドロップダウン・リスト
内のテキストに置換します。
「置換」を使用するには、
をクリックするか、「編集」、「置換」の順に選択し
ます。「置換」ダイアログ・ボックスは、「検索」ダイアログ・ボックスのサブセッ
トです。
40
編集
印刷コマンドの使用
Dashboard Architect の印刷コマンドでは、いくつかの印刷オプションが使用可能で
す。
ä 印刷するには:
1 ファイル>印刷の順に選択して、印刷範囲の選択を開きます。
2 印刷するセクションからオプションを選択します。
3 印刷するコントロールからオプションを選択します。
4 印刷するイベントからオプションを選択します。
5 オプション: 行番号の印刷を選択します。
6 OK をクリックします。
7 オプション: プリンタを構成するには、設定をクリックします。
カッコの照合機能の使用
「カッコの照合」を使用すると、対になっていないカッコを特定するために費やさ
れる時間を削減できます。対になっているカッコを構成するのは、次の記号です:
l
中カッコ{}
l
カッコ()
l
大カッコ[]
ä 「カッコの照合」を使用するには:
1 左カッコの後ろにカーソルを置き、[Ctrl]+[B]キーを押すか、編集、カッコの照合の順
に選択します。
「カッコの照合」が実行され、現在の位置から左カッコを検索します。左カッコが
見つからない場合は、現在の位置から逆行して検索します。左カッコが見つかる
と、対になる右カッコを検索し、カッコの対で囲まれた範囲がハイライトされま
す。
2 操作を繰り返すには、[Ctrl]+[B]キーを押します。
右カッコが見つからない場合は、テキストがハイライトされないまま操作が終了
します。
自動コード機能
Dashboard Architect には、ソース・コードの入力を速くする自動コード機能が含ま
れています。正しく機能させるには、「自動コード」を「オプション」で使用可能
にする必要があります。27 ページの「「オプション」ダイアログ・ボックス」を
参照してください。
自動コード機能は、右引用符、右大カッコ、右丸カッコを、左引用符、左大カッ
コ、または左丸カッコのすぐ後ろにそれぞれ自動的に追加します。左右の符号の
印刷コマンドの使用
41
間にカーソルを置いて入力を行います。右側の符号を入力すると、自動的に追加
された符号は上書きされます。
右中カッコは、左中カッコの 2 行下に追加されます。間にある行は空白行となり
ます。カーソルは、空白行の 1 タブ分インデントされた位置に置かれます。
自動コード機能では、[Space]キーでトリガーされるマクロの特殊クラスが使用可
能です。43 ページの「マクロ」を参照してください。表 17 では、Dashboard
Architect で使用可能な自動コード・マクロについて説明します。展開されたマク
ロの最後にあるキャレット位置は、I に置き換えられています。
ヒント:
自動コード・マクロの展開を防ぐには、マクロ名の後ろで[Space]キーを押さず、
[Ctrl]キーを押しながら[Space]キーを押します。たとえば、if と入力し、[Ctrl]キー
を押しながら[Space]キーを押します。
表 17
自動コードの例
自動コード
展開に関する説明
例
if
中カッコを含む if ステートメントを展開し、キャ
レットはカッコ内に置かれます。
if (I) {
}
else
中カッコを含む else ステートメントを展開し、
キャレットは左右カッコの間の空白行に置かれま
す。
else {
I
}
while
中カッコを含む while ループを展開し、キャレッ
トはカッコ内に置かれます。
while (I) {
}
for
中カッコを含む for ループを展開し、キャレット
はループ・インデックス初期化位置のカッコ内に
置かれます。
for (I;;) {
}
function(ま
たは fn)
空の関数を展開します。キャレットは、関数のカッ function I() {
コの前に置かれます。ここに関数名を入力します。
}
try
try and catch ブロックを展開します。キャレッ
トは、タブでインデントされた try ブロックの 1
try {
I
行目に置かれます。
}
catch(e) {
}
ad
ActiveDocument を展開します。キャレットは、次
の文字位置に置かれます。
42
編集
ActiveDocumentI
自動コード
展開に関する説明
例
cn
Console.Writeln ステートメントを展開します。
Console.Writeln(“I”)
キャレットは、印刷されるメッセージの引用符内
に置かれます。
マクロ
マクロは、ソース・コードを迅速に入力するもう 1 つの方法です。自動コードの
機能の一部は特殊マクロで実装されています。
短い文字列をよく使用されるコード・スニペットに割り当てるマクロを使用しま
す。これによって、その文字列を入力して、そこからコード・スニペットを展開
できます。マクロは、ad および cn などの 1 行の代替テキストのように単純なも
のにすることも、デフォルト値がある置換可能なパラメータを含む複数行に渡る
複雑なコード・スニペットに展開するものにすることもできます。
通常、マクロはマクロ名を入力し、[Ctrl]キーを押しながら[P]キーを押して呼び
出します。マクロ名の直後にキャレットがあり、マクロ名が行の最初にある場合、
または前に少なくとも 1 つのスペースが含まれる場合にのみマクロが展開されま
す。
マクロの定義
マクロは、Dashboard Architect の config ディレクトリにある macros.txt というテキ
スト・ファイルで定義されます。
マクロ定義には、2 行が必要です。1 行目にはマクロ名、2 行目にはパラメータお
よびキャレット・コントロール・コードを含むマクロの定義が含まれます。マク
ロを呼び出すには、マクロ名(短い文字列)を編集ウィンドウに入力します。各マ
クロには一意の名前を付ける必要があります。自動コード・マクロには internal
で始まる名前を付ける必要があります。
注意
macros.txt ファイルは、空白行で終わる必要があります。
単純マクロ
このトピックでは、パラメータを持たない単純マクロを定義します。1 行のマク
ロから始めて、出力が複数の行に渡るマクロのキャレット・コントロール・コー
ドについて説明します。
ad マクロ
ad マクロは、ad を ActiveDocument に展開し、キャレットを単語の最後に置く単
純マクロです。
macros.txt ファイル内の定義は次のとおりです:
マクロ
43
ad
ActiveDocument
ad と入力し、[Ctrl]キー+を押しながら[P]キーを押すと、ad は ActiveDocument に
置換されます。キャレットはマクロ展開によって入力されたテキストの最後に残
ります。
cn マクロ
cn マクロは、cn を Console.Writeln("")に展開し、キャレットを引用符内に置く、
単純なキャレット・コントロール・コードです。
macros.txt ファイル内の定義は次のとおりです:
cn
Console.Writeln{(}””{)}{LEFT 2}
定義には、文字が中カッコに囲まれている箇所が 3 つ含まれています。
カッコには特殊な意味があるため、それぞれが中カッコに囲まれている必要があ
ります。マクロ展開機能に、これらの文字がその特殊な意味で認識されるのでは
なく展開の一部になることが通知されます。
注:
中カッコに囲むことで文字の特殊な意味を無効にすることを引用と呼びます。
マクロ定義の最後の{LEFT 2}式は、[←]キーを 2 度押した場合と同様に、キャレッ
トを 2 字分移動することを意味します。これらのキャレット・コントロール・コー
ドは、マクロ定義内の任意の場所に置くことができ、その場所で実行されます。
すべてのキャレット・コントロール・コードのリストについては、47 ページの
「マクロ・コントロール・コード」を参照してください。
複数行マクロ
このトピックでは、キャレット・コントロール・コードを使用して、出力が複数
行に渡るマクロを定義する方法を説明します。例としては、for マクロがありま
す。
for マクロは、中カッコを含む単純な for ループを展開します。
macros.txt ファイル内の定義は次のとおりです:
for
for {(};;{)} {{}{ENTER 2}{}}{UP 2}{END}{LEFT 5}
cn マクロと同様に、丸カッコと中カッコが引用されます。
マクロの最後にあるコントロール・コード{LEFT 5}は、キャレットを左に 5 文字
分移動することを意味します。その他のコントロール・コードが導入されます。
{ENTER 2}は、[Enter]キーを 2 度押して、空白行を 2 つの中カッコの間に置くこ
とを意味します。
44
編集
{UP 2}では、{LEFT 2}と同様に、[↑]キーを 2 度押します。
{END}では、[End]キーを押して、キャレットを現在の行の最後に移動します。
マクロの全体的な効果は、マクロを左から右に読み、キャレット・コントロール・
コードがある場所で特殊キーを押すことを想像するとわかります。
マクロは、ループ・インデックス変数が初期化される左丸カッコと最初のセミコ
ロンの間にあるキャレットによって展開します。
for (;;) {
}
マクロ・パラメータ
マクロ定義にはパラメータを含めることができます。マクロ名に指定されたテキ
ストがマクロ展開に使用され、同じマクロが呼び出されるたびに異なった方法で
展開されます。
このトピックでは、パラメータを受け取るマクロの定義およびパラメータを要求
するマクロの呼出し方法を説明します。
ループ・インデックス・パラメータを持つ for マクロ
ほとんどの for ステートメントは、for (var x = 0;...)から開始します。ここで x は、
for ループ内で使用される変数識別子です。for ループがネストされる場合は、ルー
プ内の各ループの変数識別子が一意である必要があります。
以前の for マクロが強化されて、ループ・インデックス変数の初期化が実現され、
異なる変数識別子がネストされたループ内で使用可能になりました:
for
for {(}var ${1} = 0;;{)} {{}{ENTER 2}{}}{UP 2}{END}{LEFT 4}
マクロ定義では、ループ・インデックス識別子は$¥{1¥}として指定され、これは
マクロに指定される最初のパラメータの値を表します。
マクロは、$¥{1¥}から$¥{9¥}まで 9 つのパラメータを受け取ることができます。
マクロ・パラメータは、中カッコに囲まれたその他の特殊コード(キャレット・コ
ントロール・コードなど)内を除く、マクロ定義内の任意の場所に挿入できます。
各マクロ・パラメータは、必要に応じて何回でも使用されます。たとえば、マク
ロ定義を変更して、2 番目のセミコロンの後に$¥{1¥}{+}{+}を置くことによって、
ループ・インデックス変数増分コードを自動的に追加できます。
for
for {(}var ${1} = 0;; ${1}{+}{+}{)} {{}{ENTER 2}{}} {UP 2}{END}{LEFT 8}
プラス記号は、マクロ定義内で特殊な意味を持つため、引用されます。マクロ定
義は 1 行である必要があります。
for パラメータ・デフォルト値
前述のマクロの例では、パラメータの値はマクロが呼び出されるたびに指定する
必要がありました。for ループがネストされた場合にのみパラメータの値を変更す
マクロ
45
る必要があります。マクロ定義を強化するには、パラメータにデフォルト値を設
定し、デフォルト値が使用できない場合(for ループにネストされた場合など)以外
は指定されないようにします。
マクロ・パラメータのデフォルト値は、マクロ定義にマクロ・パラメータが最初
に表示されたときに値を指定することによって設定されます:
for
for {(}var ${1=a} = 0;; ${1}{+}{+}{)} {{}{ENTER 2}{}} {UP 2}{END}{LEFT 8}
構文${1=a}は、パラメータ$¥{1¥}に a をデフォルト値として割り当てます。マク
ロが呼び出され、$¥{1¥}に値が存在しない場合は、マクロは次のように展開しま
す:
for (var a = 0;; a++) {
}
マクロの呼出し
通常、マクロを呼び出すには、その名前をスタンドアロンの単語として(行の最初
またはマクロ名の前に少なくとも 1 つのスペースを置いて)入力し、[Ctrl]キーを
押しながら[P]キーを押します。
パラメータ値を設定しないマクロの呼出し
マクロがパラメータを受け取らない場合、またはマクロ定義ですべてのパラメー
タ値にデフォルト値が指定されている場合は、マクロは前のパラグラフの記述ど
おりに呼び出されます。
マクロ名は削除され、展開されたマクロ定義に置き換えられます。
パラメータ値を設定するマクロの呼出し
デフォルト値を含まない、またはデフォルト値に適切な値が設定されない場合は、
マクロ名の後ろにコロンを付けてから値に追加することによって、各パラメータ
の値を指定します:
for:b - パラメータ 1 の値を b に設定します。
for:in_startVal - パラメータ 1 の値を in_startVal に設定します。
マクロが複数のパラメータを含み、デフォルト値を含むパラメータがある場合は、
デフォルト値を持つパラメータを指定する必要はありません。たとえば、3 つの
パラメータを受け取り、定義で 1 番目と 3 番目のパラメータにデフォルト値が割
り当てられている test マクロは、次の方法で呼び出せます:
test:a:b:c - 値 a をパラメータ 1 に、b をパラメータ 2 に、c をパラメータ 3 に設
定します。
test:a:b - 値 a をパラメータ 1 に、b をパラメータ 2 に設定し、パラメータ 3 に
デフォルト値を設定します。
test::b:c - パラメータ 1 にデフォルト値を設定し、b をパラメータ 2 に、c をパ
ラメータ 3 に設定します。
46
編集
test::b - パラメータ 1 およびパラメータ 3 にデフォルト値を設定し、パラメータ
2 に値 b を設定します。
デフォルト値が設定されているパラメータの後ろにデフォルト値が指定されてい
ないパラメータが続く場合は、デフォルト値が設定されているパラメータの位置
にプレースホルダとしてコロンを挿入する必要があります。リストの末尾のパラ
メータにデフォルト値が設定されている場合は、それらのパラメータを指定する
必要はありません。
マクロ・コントロール・コード
マクロ・コントロール・コードを使用すると、マクロ定義で[Enter]キーや矢印キー
などの非印刷キーが使用可能になります。
マクロ定義では、プラス記号(+)、キャレット(^)、パーセント記号(%)、チルダ
(~)、丸カッコ( )に特殊な意味があります。これらの文字を指定するには、文字を
中カッコで囲みます。たとえば、プラス記号を指定する場合は、{+}を使用しま
す。大カッコ{[ ]}に特殊な意味はありませんが、マクロの実装に使用されるルー
チンに従って引用する必要があります。
中カッコを指定するには、{{}および{}}を使用します。
[Enter]キー、[Tab]キー、アクション・キーなど、キーを押しても表示されない文
字を指定するには、表 18 に表示されているコードを使用します。
表 18
マクロ・コントロール・コード
キー
コード
[Back Space]
{BACKSPACE}, {BS}, or {BKSP}
[Del]または[Delete]
{DELETE} or {DEL}
[↓]
{DOWN}
[End]
{END}
[Enter]
{ENTER} or ~
[Home]
{HOME}
[Ins]または[Insert]
{INSERT} or {INS}
[←]
{LEFT}
[→]
{RIGHT}
[Tab]
{TAB}
[↑]
{UP}
[Shift]キー、[Ctrl]キー、[Alt]キーと組み合せて使用するキーを指定するには、表
19 内の 1 つ以上のコードをキー・コードの前に配置します。
マクロ
47
表 19
組合せキー・コード
キー
コード
[Shift]
+
[Ctrl]
^
[Alt]
%
[Shift]キー、[Ctrl]キー、[Alt]キーを押しながら他の複数のキーを押す組合せを指
定するには、それらのキーのコードを丸カッコで囲みます。たとえば、ユーザー
が[Shift]キーを押しながら[E]キーおよび[C]キーを押すように指定するには、+
(EC)を使用します。ユーザーが[Shift]キーを押しながら[E]キーを押し、その後
[Shift]キーを押さずに[C]キーを押すように指定するには、+EC を使用します。
繰り返されるキーを指定するには、{<キー> <数値>}形式を使用し、<キー>と<数
値>の間にスペースを挿入します。たとえば、{LEFT 42}は、[←]キーを 42 回押
し、{h 10}は、[H]キーを 10 回押すことを意味します。
別の Interactive Reporting ドキュメントからセクション
をインポート
Dashboard Architect インポート・ユーティリティでは、別の Interactive Reporting
ドキュメントを現在のドキュメントにインポートできます。他のドキュメント内
における同じ情報の再作成を排除します。
ä Dashboard Architect インポート・ユーティリティを使用するには:
1 プロジェクト、インポートの順に選択します。
「インポート」が表示されます。
2
(「セカンダリ・ドキュメント」の横)をクリックし、インポートする Interactive
Reporting ドキュメントを見つけます。
3 OK をクリックします。
4 オプション: インポートするセクションを 1 つ以上指定するには、セクションの選択
と順序変更を選択します。
「セクションの選択と順序変更」が表示されます。
5 「セクションの選択と順序変更」が表示されたら、使用可能なセクションおよび選択
したセクション間でセクションを移動するアクションを実行します:
l
1 つ以上のセクションを選択するには、
l
すべてのセクションを移動するには、
l
セクションをダブルクリックします。
または
または
をクリックします。
をクリックします。
依存するすべてのセクションも選択され、移動されます。
6 オプション: 最終ドキュメントから重複する画像を削除を選択して、重複する画像を
リソース・マネージャに集約します。
48
編集
イメージのすべてのインスタンスが、リソース・マネージャ内のそのイメージの
単一コピーを参照するように変更されます。Interactive Reporting ドキュメント・
ファイルのサイズとメモリーのフットプリントが削除されます。このようにする
と、ロード速度が改善され、ダッシュボードやレポートを作成する際に、リソー
ス・マネージャから既存イメージを再利用できるようになります。『Hyperion
Interactive Reporting Studio ユーザー・ガイド』の「リソース・マネージャ」を参
照してください。
7 オプション:
または
をクリックして、選択したセクションを並べ替えます。
8 OK をクリックします。
セクションは、Dashboard Architect の開かれているプロジェクトにインポートされ
ます。
インポートされたセクションの詳細およびセカンダリ Interactive Reporting ドキュ
メントの 1 つ以上のセクションの名前変更が必要かどうかを示すレポートが表示
されます。
9 オプション: 今後の参照のためにレポートを保存します。
インポートされたセクションは組み込まれ、プロジェクトの一部になります。
Unicode 機能
Dashboard Architect インポート・ユーティリティは、古いコード・ページ・ベース
の Interactive Reporting ドキュメントを使用前に Unicode に自動的に変換し、異な
る言語が使用されているドキュメントのインポートを可能にします。結果として
生じるドキュメントのみが変換され、元のドキュメントは変更されません。
Unicode 機能
49
50
編集
6
テスト・プロセスとデバッ
グ・プロセス
この章の内容
テストおよびデバッグ ................................................................................................. 51
テストについて .......................................................................................................... 51
デバッグについて ....................................................................................................... 54
ブレークポイント ....................................................................................................... 54
テストおよびデバッグ
テストおよびデバッグのアクティビティは、編集と密接に関連しています。テス
トには、多くの場合、編集による訂正が伴います。編集は、編集中のコードがテ
ストされ、要求どおりに実行されるまで完了しません。35 ページの「編集」を参
照してください。
テストについて
テストは、Dashboard Architect をバックグラウンドに置き、instrumented.bqy で
作業を行うことによって遂行されます。ユーザーは、ボタンをクリックし、クエ
リーを処理し、リストからアイテムを選択し、オプションおよびチェック・ボッ
クスを選択します。これらのクリックが、それぞれイベントを起動します。
Interactive Reporting Studio が呼び出すイベント・ハンドラは、次にデバッグ・サー
バーを呼び出し、JavaScript を要求し、JavaScript は文字列として戻されます。イベ
ント・ハンドラは、JavaScript の eval()関数を使用して文字列を実行します。そ
の結果、instrumented.bqy は、通常の Interactive Reporting ドキュメントと同様
に動作します。
テスト・ルール
Dashboard Architect で作業を行う際は、簡単なルールを念頭に置いておく必要があ
ります。
JavaScript のコードは、イベント・ハンドラがデバッグ・サーバーを呼び出し、
コードを要求した場合にのみイベント・ハンドラに送られます。
テストおよびデバッグ
51
手続き型および宣言型 JavaScript
JavaScript には、宣言型 JavaScript と手続き型 JavaScript という 2 つのタイプがあり
ます。宣言型コードは、ブローバル変数、プロパティ、パブリック・ハンドラを
使用して手続き型コードから後で呼出し可能な関数などの共有リソースまたはパ
ブリック・リソースを設定または宣言します。手続き型コードは、共有リソース
またはパブリック・リソース、あるいはローカル・リソースまたはプライベート・
リソースに対してすぐに実行されます。
ルールは、コード・セットにも同様に作用しますが、宣言型コードは、通常、
OnStartUp()イベントまたはユーザーには通常見えない非表示のオブジェクト内
のイベントに関連付けられています。
手続き型コードの変更には、変更が発生する前に変更を宣言するイベントが開始
される必要があります。手続き型コードの変更は、リアルタイムですぐに発生し
ます。ボタンの OnClick()イベントに関連付けられたコードは変更できます。
instrumented.bqy で、新しいコードで実行されるボタンをクリックし、動作を
確認します。
宣言型コードの変更にも、変更が発生する前に変更を宣言するイベントが開始さ
れる必要があります。宣言の結果を使用するイベントを発生させることと、宣言
を作成するイベントを発生させることは異なります。このため、宣言の変更には、
再宣言の呼出しによって Dashboard Architect に加えた変更が表示される前に、再
宣言が必要となります。
例 1 について考察します:
MyEIS.Button_X
Instrumented.bqy
Dashboard Architect
eval(<QIQDebug_call>)
ListBox1.RemoveAll()
ListBox1.Add("select a Country")
ListBox1.Add("Australia")
ListBox1.Add("Britain")
ListBox1.Add("France")
ListBox1.Add("Germany")
ListBox1.Add("United States")
ユーザーが MyEIS セクションで Button_X をクリックすると、デバッグ・サーバー
が呼び出され、Dashboard Architect によって保持されている Button_X の
OnClick()イベント用の JavaScript を戻します。
コードが変更されたら、ボタンは再度クリックできます。デバッグ・サーバーが
呼び出され、新しいコードを検索し、コードを instrumented.bqy に戻します。
コードは、JavaScript の eval()関数に渡されます。新しい動作はすぐに確認でき
ます。
Dashboard Architect インストール時にサンプルとして提供される Arch_tut.bqy の
クエリー EIS セクションに例が示されています。
例 2 について考察します:
52
テスト・プロセスとデバッグ・プロセス
OnStartUp
Instrumented.bqy
Dashboard Architect
eval(<QIQDebug_call>)
var eis=ActiveDocument.Sections["MyEIS"]
eis.Shapes["Button_X"].OnClick()
MyEIS.Button_X
Instrumented.bqy
Dashboard Architect
eval(<QIQDebug_call>)
function fill_ListBox(lbx){
lbx.RemoveAll()
lbx.Add("select a Country")
lbx.Add("Australia")
lbx.Add("Britain")
lbx.Add("France")
lbx.Add("Germany")
lbx.Add("United States")
}
ActiveDocument.fill_ListBox=fill_ListBox
MyEIS.Button_Y
Instrumented.bqy
Dashboard Architect
eval(<QIQDebug_call>)
ActiveDocument.fill_ListBox(ListBox1)
1. 起動されると、ドキュメントはデバッグ・サーバーを呼び出し、コードを要
求します。たとえば、Button_X の OnClick()イベントが発生し、fill_ListBox
関数を ActiveDocument のプロパティとして使用可能にします。
2. ユーザーが MyEIS セクションで Button_Y をクリックすると、fill_ListBox
関数が呼び出され、例 1 と同じ動作が発生します。
3. Button_X の OnClick()イベントの JavaScript が変更されます。
4. Button_Y が押されます。
5. 例 1 とは異なり、コードは変更されない場合と同様に実行され、実際は
Button_X のみが変更されました。これは、Button_X の OnClick()イベント(ま
たはドキュメントの OnStartUp()イベント)が発生しないかぎり、Button_X の
コードへの変更が instrumented.bqy に送られないためです。したがって、新
しいコードを有効にするには、Button_X を最初にクリックし、その後に
Button_Y をクリックする必要があります。
(「現在のイベントの起動」)は、現在表示されている JavaScript に関連付けら
れたイベントを実行するためのものです。
単純な手続き型コード(最初の例のように操作を直接実行するステートメント)と 2
番目の例のような宣言型コード(呼び出して後で使用する関数を作成するコード)
を区別することがきわめて重要です。
テストについて
53
エラーが表示され、レポートされるように、 のクリック時にコンソール・ウィ
ンドウを開くことを強くお薦めします。エラーが発生すると、失敗した JavaScript
イベント・ハンドラに関連付けられた cog が出力ウィンドウの「コード要求」ペ
インで赤色(
)に変わります。
デバッグについて
デバッグは、テストと編集に密接に関係しています。デバッグを行う際は、動作
の原因と変更方法を決定します。従来のデバッグでは、次のいずれかのオプショ
ンで状況を判断します:
l
Console.Writeln ステートメントを標準コードとともにあちこちに挿入する
l
デバッグ関数を標準コードとともにあちこちに挿入する
1 番目のオプションでは、問題の箇所が判明したらコードを削除する必要があり
ます。2 番目のオプションでは、コードを削除する必要はありません。デバッグ
関数を有効および無効にできることで、永久的なインスツルメンテーションが実
現されるためです。より優れているのは 2 番目のオプションですが、両方のオプ
ションに、手動インスツルメンテーションは柔軟性が乏しく、コードが最初に書
かれた際にプログラマが予測した特定の状態を確認する場合にのみ使用できると
いうデメリットがあります。
ブレークポイント
Dashboard Architect では、ブレークポイントを設定することによって従来の 2 つの
手法よりもデバッグを簡単に行うことができます。
ブレークポイントは、疑わしいコード領域が 1 つ以上ある場合に必要です。カー
ソルを戦略的な行に置き、
トを挿入します。
をクリックするか[F9]キーを押してブレークポイン
内部では、ブレークポイントは追加の動的インスツルメンテーション指示セット
として標準 JavaScript と一緒に実装されます。ブレークポイントは、追加の
JavaScript として、他のコード変更の場合と同様に動作します。関数などの宣言型
コード内にブレークポイントを置く場合は、ブレークポイントが関数の宣言の一
部になるように
をクリックする必要があります。
すべてのブレークポイントが設定されたら、instrumented.bqy に移動し、イベ
ントをアクティブにします(例: ボタンをクリック)。コードが実行され、ある時点
でブレークポイントに達します。instrumented.bqy はデバッグ・サーバーを呼
び出して、実行の延期を要求し、ブレークポイントに関連付けられた行をハイラ
イトします。
デバッグ・サーバーは Interactive Reporting Studio を中断し、Dashboard Architect の
ユーザー・インタフェースにコントロールを渡します。これによって、アプリケー
ションの実行状態を確認できます。出力ウィンドウの評価ペインがアクティブに
なり、評価のために JavaScript 式を入力できます。
54
テスト・プロセスとデバッグ・プロセス
ローカル変数の値を参照するには、変数名を入力し、
をクリックします。
Interactive Reporting Studio プロパティの値を参照するには、評価ペインに入力し
ます。ショートカットでは、編集ウィンドウでテキストをハイライトし、右クリッ
クして、
「評価」を選択するか、テキストをコピーして評価ペインに貼り付け、必
要に応じて式を変更します。評価ペインを消去するには、
をクリックします。
不正な構文が入力されると、JavaScript エンジンによって構文エラーが生成され、
現在の実行スレッドは中断されます。instrumented.bqy に戻り、コントロール
をクリックしてブレークポイントをもう一度アクティブにし、テストを再開しま
す。
ブレークポイントを設定できる場所には制限があります。ブレークポイントは
JavaScript が挿入されると実装されるため、構文上有効である必要があります。
Dashboard Architect は、JavaScript エンジンに直接アクセスできないため、ブレー
クポイントの正確性を保証できません。これらのガイドラインは、維持しやすく、
読みやすく、ブレークポイントを設定しやすいコードを記述する場合に役立ちま
す。
表 20
JavaScript と連携するブレークポイント
JavaScript
コメント
行 01 function f(param){
ブレークは、呼出し時ではなく関数の解析時に発生します。
行 02 var x
行 03 if (condition){
行 04 statement_1
行 05 }else{
行 06 statement_2
行 07 }
行 08 switch (x){
行 09 case 1:
case の前には何も置けないためブレークポイントは正しくありませ
ん。
行 10 statement_3
行 11 break
行 12 case 2:
case の前には何も置けないためブレークポイントは正しくありませ
ん。
行 13 statement_4
行 14 break
行 15 default:
default の前には何も置けないためブレークポイントは正しくありま
せん。
行 16 }
ブレークポイント
55
JavaScript
コメント
行 17 // コメント
行 18 }
表 20 で示したように、ブレークポイントを置けない場所は、数が少なく、明確に
見分けがつきます。コードがこの方法で記述されない場合は、ブレークポイント
の設定場所は制限されます。例を表 21 に示します。
表 21
ブレークポイントが JavaScript と連携しない領域
JavaScript
コメント
行 01 function f(param){
行 02 var x
行 03 if (condition)
行 04 {statement_1}
ブレークポイントは正しくありません。
行 05 else
ブレークポイントは正しくありません。
行 06 {statement_2}
ブレークポイントは正しくありません。
行 07 switch (x){
行 08 case 1: statement_3;break
ブレークポイントは正しくありません。
行 09 case 2: statement_3;break
ブレークポイントは正しくありません。
行 10 default:
ブレークポイントは正しくありません。
行 11 }
行 12 // コメント
行 13 }
56
テスト・プロセスとデバッグ・プロセス
7
オブジェクトの追加と削除
この章の内容
Interactive Reporting Studio との対話 ................................................................................... 57
再同期 ....................................................................................................................... 57
コントロールの追加 .................................................................................................... 58
コントロールの削除 .................................................................................................... 59
コントロールの名前変更.............................................................................................. 59
セクションの追加と複製.............................................................................................. 59
セクション名の変更 .................................................................................................... 60
セクションの削除 ....................................................................................................... 61
Interactive Reporting Studio との対話
Dashboard Architect は、COM プログラミング・インタフェースを使用して
Interactive Reporting Studio と対話します。インタフェースは、Interactive Reporting
Studio がクライアントのかわりに実行できる操作を定義します。
オブジェクトの作成(ボタン、ドロップダウン・リスト、チェック・ボックス、リ
スト、オプション・ボタンなど)およびイベント・ハンドラへの JavaScript の追加
は、現在プログラミングでは行えません。これらの操作は、Interactive Reporting
Studio の内部で行う必要があります。
2 つの構造が必要になるため、1 つの環境でのみ実行できる操作には問題がありま
す。Interactive Reporting Studio では instrumented.bqy 内に構造セットが 1 つあ
り、Dashboard Architect にもう一方の構造セットがあります。これらの 2 つの構造
の同期が取れていなければ、正しい操作は行われません。
Interactive Reporting Studio のユーザー・インタフェースで実行される必要がある
操作は、Dashboard Architect の開発環境にも組み込まれている必要があります。
再同期
Dashboard Architect にオブジェクトを組み込む最も簡単な方法は再同期です。再同
期は、「プロジェクト」、「再同期」の順に選択することによって開始できます。
再同期は、プロジェクト作成操作に似ています。29 ページの「プロジェクトの作
成」を参照してください。再同期では、instrumented.bqy が閉じられ、次のア
クションが実行されます:
1. Instrumented.bqy が逆アセンブルされます。
Interactive Reporting Studio との対話
57
2. Instrumented.bqy が分析されます。
3. instrumented.bqy 内に存在し、Dashboard Architect 内に存在しないオブジェ
クトが追加されます。これらは Interactive Reporting Studio ユーザー・インタ
フェースで作成された新規オブジェクトです。JS ファイルは拡張され、これ
らのオブジェクトへの参照が含まれます。ユーザーによって追加された
JavaScript は JS ファイルに転送され、実装コードに置換されます。
4. Dashboard Architect 内に存在し、instrumented.bqy 内に存在しないオブジェ
クトは削除されます。Dashboard Architect は、削除されたオブジェクトのすべ
ての参照を削除し、それらは存在しなくなります。
5. Instrumented.bqy が再アセンブルされます。
6. Instrumented.bqy が Interactive Reporting Studio で再び開かれます。
再同期は、プロジェクトのサイズによって完了までに数分間かかる場合がありま
す。ユーザーの視点から見ると最も単純な操作ですが、instrumented.bqy を閉
じ、分析して、再度開く必要があるため、最も使いやすい操作とはいえません。
Interactive Reporting Studio でオブジェクトの名前を変更すると、古いオブジェク
トは(Interactive Reporting Studio で存在しなくなるため)Dashboard Architect で削除
され、空のオブジェクトが作成されます。古いオブジェクトに関連付けられた
JavaScript は失われます。
コントロールの追加
複製または作成することによってコントロールを追加します。
コントロールの複製
最も迅速にコントロールを追加する方法は、すでに存在し、組み込まれているコ
ントロールを複製することです。
ä コントロールを複製するには:
1 Interactive Reporting Studio で、[Ctrl]+[D]キーを押して、デザイン・モードを開始します。
2 コントロールを選択し、複製します。
3 コントロールをダブルクリックします。
「プロパティ」が表示されます。
4 オブジェクト名を入力し、OK をクリックします。
5 [Ctrl]+[D]キーを押して、デザイン・モードを終了します。
6 コントロールをクリックします。
Dashboard Architect はコードのコントロールから呼出しを受けます。Dashboard
Architect は、コントロールへの参照の検索に失敗するため、その場でイベント・
ハンドラを作成し、すぐに instrumented.bqy の状態と同期を取ります。
58
オブジェクトの追加と削除
コントロールの作成
複製に使用可能なコントロールがない場合は、組込みコードなしのコントロール
を作成する必要があります。
ä コントロールを作成するには:
1 プロジェクトを選択し、コントロールの追加を選択します。
「コントロールの追加」が表示されます。
2 クリップボードにコピーをクリックして、実装コードをコピーします。
3 取消しをクリックします。
4 Interactive Reporting Studio で、[Ctrl]+[D]キーを押して、デザイン・モードを開始します。
5 コントロールを作成し、実装コードを各イベント・ハンドラに貼り付けます。
6 [Ctrl]+[D]キーを押して、デザイン・モードを終了します。
7 コントロールをクリックします。
Dashboard Architect はコードのコントロールから呼出しを受けます。Dashboard
Architect は、コントロールへの参照の検索に失敗するために、参照を作成し、す
ぐに instrumented.bqy の状態と同期を取ります。
コントロールの削除
Interactive Reporting Studio ではコントロールを削除できます。コントロールの削
除後は、すぐに再同期するか、Dashboard Architect は Interactive Reporting ドキュ
メントを作成するたびに再同期操作を実行するため、次回 Interactive Reporting ド
キュメントが作成されるまで待機します。
コントロールの名前変更
コントロールの名前変更には問題があります。Dashboard Architect は、コントロー
ルが削除されて、別のコントロールが追加されたと認識するためです。古い名前
のコントロールのために保持されている JavaScript を、手動で切り取って、新規コ
ントロール用のイベント・ハンドラに貼り付ける必要があります。
セクションの追加と複製
セクションの追加と複製は、ダッシュボード・セクションにのみに関連します。
その他のセクションは JavaScript を含まず、Dashboard Architect のドメインの範囲
外です。
ä セクションを追加または複製するには:
1 プロジェクトを選択し、セクションの追加を選択します。
「セクションの追加」が表示されます。
コントロールの削除
59
1.
セクションを追加するには、新規セクションの作成を選択します。
2.
セクションを複製するには、次のアクションを実行します:
l
l
「既存のセクションの複製」を選択します。
ナビゲーション・パネルからセクション・ノードを選択し、右クリック
して、「複製」を選択します。
2 新規または複製されたセクションの名前に入力し、OK をクリックします。
セクションが追加または複製されます。
Dashboard Architect では、次の方法でセクションが作成されます:
1. 新規セクションは、プログラムを使用して追加されます(または複製の場合は
セクションからコピーされます)。
2. Instrumented.bqy が閉じられます。
3. Instrumented.bqy が逆アセンブルされます。
4. 組込み JavaScript が OnActivate()イベントおよび OnDeactivate()イベントに
追加されます。
5. Instrumented.bqy が再アセンブルされます。
6. Instrumented.bqy が Interactive Reporting Studio で再び開かれます。
すべての基本イベント・ハンドラに一致するセクションが Dashboard Architect に
追加されます。セクションが複製される場合は、元のすべてのイベント・ハンド
ラのコピーがナビゲーション・パネルのノードに挿入されます。操作は比較的す
ばやく実行されます。
セクション名の変更
セクション名の変更は、ダッシュボード・セクションにのみに関連します。その
他のセクションは JavaScript を含まず、Dashboard Architect のドメインの範囲外で
す。
ä セクションの名前を変更するには:
1 プロジェクトを選択し、セクション名の変更を選択します。
または、ナビゲーション・パネルから、セクション・ノードを選択し、右クリッ
クして、「名前変更」を選択します。
「セクション名の変更」が表示されます。
2 現在の名前からセクションを選択します。
3 新規名前を入力します。
4 OK をクリックします。
セクション名が変更されます。
60
オブジェクトの追加と削除
セクションの削除
セクションの削除は、ダッシュボード・セクションにのみに関連します。その他
のセクションは JavaScript を含まず、Dashboard Architect のドメインの範囲外です。
ä セクションを削除するには:
1 プロジェクトを選択し、セクションの削除を選択します。
または、ナビゲーション・パネルから、セクション・ノードを選択し、右クリッ
クして、「削除」を選択します。
「セクションの削除」が表示されます。
2 セクションの削除で 1 つ以上のセクションをハイライトします。
3 OK をクリックします。
セクションが削除されます。
セクションの削除
61
62
オブジェクトの追加と削除
8
ドキュメント
この章の内容
コードのドキュメント化.............................................................................................. 63
ドキュメントの生成 .................................................................................................... 71
コードのドキュメント化
コードを有益な形でドキュメント化することにより、コードの再使用が促進され、
コードを維持しやすくなります。
Dashboard Architect では、コードを簡単かつ一貫してドキュメント化する機能、お
よびドキュメント化したコードを他の形式で発行する機能を提供します。
変数、関数、クラスおよびコンポーネントをドキュメント化する機能が提供され
ています。ドキュメントの形式を認識するために特殊なコメント・フォーマット
が使用され、変数のタイプ(@type)、パラメータまたは関数、関数の形式パラメー
タ(@param)、変数の可視性(@scope)などの情報を定義するために多数のタグが用
意されています。
ドキュメンテーション・コメント
ドキュメント内に発行されるコメントは、/**で始まり*/で終わるブロック・コメ
ント・フォーマットで入力する必要があります。
ドキュメンテーション・コメントは、1 つ以上の説明テキスト・パラグラフの標
準形式の後に配置されます。最初のパラグラフは要約が必要な場合に使用され、
その後に特殊タグが続きます。説明テキスト内のパラグラフは空白行でマークさ
れます。ドキュメンテーション・タグは、全般的な説明の後に配置され、タグの
後の説明テキストは空白行なしで 1 つのパラグラフ内に収められている必要があ
ります。
たとえば、2 つのパラメータを取り、乗算し、結果を戻す関数 multiply を記述す
るドキュメンテーション・コメントは、次のように構造化されます:
/**
* Returns the result of in_intA * in_intB.
*
* If either parameter is not a number, the result is
* undefined.
*
* @param in_intA Integer the number to be multiplied by
* in_intB
* @param in_intB Integer the number to be multiplied by
コードのドキュメント化
63
* in_intA
* @type Number the result of in_intA * in_intB
*/
function multiply(in_intA, in_intB) {...
関数は 2 つのパラグラフに記述されています。最初のパラグラフには機能の要約
が記述されています。また、名前と提案されるパラメータ・タイプ、戻り値の解
釈方法も記述されています。
変数のドキュメント化
変数をドキュメント化するには、変数の動作と目的を記述し、変数に対して許容
可能なデータ型がユーザーにわかるようにデータ型を提示します。
変数コメントに使用されるドキュメンテーション・タグは、標準変数を指定する
@type および変数の可視性を定義する@scope のみです。67 ページの「エンティ
ティのネームスペース・スコープと@scope タグ」を参照してください。タグはオ
プションですが、@type の使用をお薦めします。@scope タグが使用されないと、
ドキュメンテーション・システムは、変数が現在のイベント・ハンドラ外で表示
可能ではないとみなします。
変数のドキュメンテーション・コメントは、変数宣言の直前または割当てステー
トメント内の変数の直前に配置する必要があります。この場合は、等しい記号の
左側にある変数はドキュメント化を行っている変数とみなされます。変数名は、
行中のその前の空白文字のみである場合があります。
変数に対する標準ドキュメンテーション・コメント。
/**
* Points to the BQY Section that contains this shape.
* objSection can be used to access other shapes within the
* dashboard section.
*
* @type Section
*/
var objCurrentSection = this.Parent
変数のドキュメント化は、セクション・レベルで、またはクラスのプロパティと
して変数が表示され、それによって、変数が定義されたイベント・ハンドラ外で
使用される場合に役立ちます。
関数のドキュメント化
関数をドキュメント化することによって、プログラマは使用可能な関数、必要な
パラメータおよび戻り値を判断できます。
@param タグは変数に対して、関数のパラメータ、推奨されるタイプおよび記述を
宣言するために使用されます。関数のドキュメンテーション・コメント内で使用
される場合は、@type タグは関数の一般的な戻り値の型を宣言します。関数ドキュ
メンテーション・コメントは、関数宣言の直前に配置する必要があります。関数
のドキュメンテーション・コメントの例については、63 ページの「ドキュメン
テーション・コメント」を参照してください。
64
ドキュメント
クラスのドキュメント化
クラスは、プロパティ(変数)を使用することで持続的状態を共有および公開でき
る、関連する関数(メンバー関数)のコレクションです。メンバー関数およびプロ
パティは、前の 2 つのトピックに記載されている方法でドキュメント化できます。
メンバー関数またはクラスの変数には、値としてクラス名を持つ@scope タグを指
定する必要があります。こうして、関数または変数をクラス定義にバインドしま
す。
クラスを定義する関数はクラス・コンストラクタです。これらの関数は、クラス
内の他の関数と同様にドキュメント化されます。@scope タグは関数がクラスに属
していることを示し、@type タグは関数がクラス・インスタンスを戻すことを示
します。
関数および変数はクラスへのメンバーシップによって関連しているため、それら
をバインドし、クラスの使用目的の概要を提供するドキュメンテーション・レベ
ルを 1 つ追加する必要があります。
クラスのコメントでは、この概要が提供されます。クラスのコメントは、ソース・
コードの任意の場所に配置でき、クラス・コンストラクタ・コメントの前に配置
すると有用です。クラスのコメントは、タグの後の最初の単語にクラス名を配置
した@class タグを使用して作成されます。持続的プロパティ・バッグのクラスに
対するコメントは、コンストラクタ・コメントで示されます。
/**
* The PropertyBag class is used to store, retrieve, and access
* a set of persistent properties.
*
* Properties are stored in a Shape, which must be a text label
* or text box.
*
* Properties are key/value pairs, where both the key and the
* value must be Strings.
*
* @class PropertyBag
*/
/**
* The PropertyBag constructor creates a new PropertyBag
* instance.
*
*
* If the in_objPersistenceShape parameter is not given the
* PropertyBag is initialized to be empty.
*
* If the in_objPersistenceShape parameter is given, the
* constructor attempts to load the property values from the
* given shape.
*
* @param in_objPersistenceShape Shape an option parameter that
* can be used to define the Shape to load the property values
* from.
* @type PropertyBag
* @scope PropertyBag
コードのドキュメント化
65
*/
function PropertyBag(in_objPersistenceShape) {
/**
* Returns the value of the property identified by
* in_strKey.
*
* If the PropertyBag does not contain a value for the
* given key it will return null unless the optional
* in_strDefaultValue parameter is supplied, in which
* case that parameter value is returned.
*
* @param in_strKey String the key of the property
* whose value is to be returned
* @param in_strDefaultValue String an optional default
* value to be returned if the PropertyBag does not
* contain the property identified by in_strKey.
* @type String
* @scope PropertyBag
*/
function getProperty(in_strKey, in_strDefaultValue) {
...
}
}
例では、最初のコメント内の@class タグは、コメントをクラス概要コメントとし
てマークしています。PropertyBag 関数の関数コメント内にある@type タグおよ
び@scope タグは、クラス概要コメントの@class 値を参照し返し、クラス・コンス
トラクタとして関数をマークします。getProperty 関数に対するコメントには、
PropertyBag クラスに関数をリンクする@scope タグが含まれますが、@type タグ
は文字列を戻すことを示しているため、ドキュメンテーション・システムは関数
がコンストラクタではなくメンバー関数であることを認識します。
注:
クラスは、コンストラクタの外で宣言された関数または変数を参照する割当てス
テートメントを使用して、クラス・コンストラクタの本文で定義されていないメ
ンバー関数またはプロパティを公開する場合があります。こうしたケースでも、
@scope タグは機能し、外部で宣言された関数または変数をクラスにバインドしま
す。
Dashboard Development Services コンポーネントのド
キュメント化
Dashboard Architect のドキュメンテーション・システムでは、Hyperion(R)
Dashboard Development Services コンポーネントに関する追加情報を提示し、ドキュ
メントの別のセクションにリストできます。
各 Dashboard Development Services コンポーネントは、コンポーネントおよびラン
タイム要件に関する情報を含むセクション内にいくつかのテキスト・ラベルを含
んでいます。これらのテキスト・ラベルは、txlName、txlReqBrio、
txlReqTemplate、txlDescription、および VersionInfo です。
『Hyperion
66
ドキュメント
Interactive Reporting オブジェクト・モデルおよびダッシュボード開発サービス開
発者ガイド Vol.7: コンポーネント・リファレンス・ガイド』の「コンポーネント
の特性」を参照してください。
Dashboard Architect では、コンポーネント・ドキュメンテーション・ページで使用
できるように、これらのテキスト・ラベルの値を読み取ってフォーマットし、ペー
ジ上部にコンポーネントの要約を提示します。
注意
機能を動作させるには、instrumented.bqy が Interactive Reporting Studio にロード
されている必要があります。Interactive Reporting ドキュメントがロードされてい
ない場合は、Dashboard Development Services コンポーネントは標準ダッシュボー
ドと同様に取り扱われます。
エンティティのネームスペース・スコープと@scope
タグ
関数または変数の可視性およびその記述方法は、Dashboard Architect のドキュメン
テーション・システムの使用時に理解しておくべき重要な概念です。
JavaScript では、変数(関数へのポインタである変数を含む)は、様々なスコープで
表示可能な場合があります。Interactive Reporting Studio 内の JavaScript のコンテキ
ストでは、変数のデフォルト・スコープは、宣言後または最初に使用された後は、
現在のイベント・ハンドラ内の任意の場所で表示可能になります。
イベント・ハンドラの親セクションまたはアクティブなドキュメントに変数を加
えることで、他のイベント・ハンドラに変数を公開することはよくあります。
@scope タグは、変数の可視性のドキュメント化を可能にし、生成されたドキュメ
ント内で、変数へのアクセス方法または関数の呼出し方法を明確にします。前述
の例では、関数と変数をクラスに関連付けるための@scope タグの使用方法につい
て説明しました。
たとえば、変数がイベント・ハンドラ内で定義および使用され、公開されていな
い場合は、他のイベント・ハンドラはその変数を使用できません。変数が定義さ
れ、親セクション・オブジェクトに付加されている場合は、他のイベント・ハン
ドラは親セクションからその変数にアクセスできます。変数が定義され、アクティ
ブなドキュメントに付加されている場合は、他のイベント・ハンドラは、最上レ
ベルで表示可能なため、その変数に名前でアクセスできます。これらの例では、
異なるレベルの可視性およびレベルをドキュメント化するための@scope タグの使
用方法が示されています。
/**
* Returns the result of in_intA * in_intB.
*
* If either parameter is not a number, the result is
* undefined.
*
* @param in_intA Integer the number to be multiplied by
* in_intB
* @param in_intB Integer the number to be multiplied by
コードのドキュメント化
67
* in_intA
* @type Number the result of in_intA * in_intB
*/
function multiply(in_intA, in_intB) {...
}
前述の例では、関数は現在のイベント・ハンドラ以外では表示可能ではありませ
ん。これは、他のイベント・ハンドラのコードが、通常、関数を呼び出せないた
めです。このために、@scope タグは提供されず、ドキュメンテーション・システ
ムは関数をローカル関数とみなし、コントロール・レベル・ドキュメンテーショ
ンが要求されないかぎり、関数はドキュメンテーションには含まれません。
/**
* Returns the result of in_intA * in_intB.
*
* If either parameter is not a number, the result is
* undefined.
*
* @param in_intA Integer the number to be multiplied by
* in_intB
* @param in_intB Integer the number to be multiplied by
* in_intA
* @type Number the result of in_intA * in_intB
* @scope Section
*/
function multiply(in_intA, in_intB) {...}
this.Parent.multiply = multiply
前述の例では、正しい形の親セクションを通じて、関数の右中カッコの後の割当
てによって関数が公開されることを説明しました。これは、他のイベント・ハン
ドラのコードは、イベント・ハンドラにセクションへの参照が含まれていると、
簡単に関数を呼び出せるためです。ドキュメンテーション・コメントは、セクショ
ンのスコープを持つ@scope タグを明示的に提示します。
/**
* Returns the result of in_intA * in_intB.
*
* If either parameter is not a number, the result is
* undefined.
*
* @param in_intA Integer the number to be multiplied by
* in_intB
* @param in_intB Integer the number to be multiplied by
* in_intA
* @type Number the result of in_intA * in_intB
* @scope Document
*/
function multiply(in_intA, in_intB) {...}
ActiveDocument.multiply = multiply
最後に、前述の例では、ネームスペース修飾子のない関数を指定することによっ
て、現在のドキュメント内のイベント・ハンドラで使用可能になる関数を示して
います。ドキュメンテーション・コメントは、ドキュメントのスコープを持つ
@scope を明示的に提示します。
68
ドキュメント
JavaScript にはタイプがなく、割当てによる関数または変数の公開は変数宣言直後
に行う必要はないという理由で、@scope タグは必要です。Dashboard Architect の
ドキュメンテーション・システムが、ソース・コードからのみ関数または変数の
可視性を判断する確実な方法は存在しません。
@scope を使用したドキュメント・グループ化
@scope には、ドキュメントの 2 番目のパラメータが指定されている場合がありま
す。このパラメータは、ドキュメントのパーツにその他のグループを定義するた
めに使用されます。たとえば、ドキュメントが社内開発者用として生成され、プ
ライベート API 呼出しがドキュメントに含まれる場合に、オブジェクトの API の
パブリック・パーツおよびプライベート・パーツを区別するためにこの機能が使
用されます。外部開発者がドキュメントを生成する場合は、間違ってプライベー
ト・メソッドを呼び出さないようにプライベート API 呼出しを除外できます。
機能は、コードの可視性に影響しません。パブリックおよびプライベートという
考え方は、論理上のものです。異なるパラメータを使用した他のグループ化も可
能です。
パラメータの使用例は次のとおりです:
/**
* A private API function that should not be called from
* outside the class it is defined in.
*
* @type void
* @scope SomeClass private
*/
function privateAPICall() {...
}
/**
* This function does something useful and can be called
* by any code with a reference to an object of this
* class.
*
* @type Integer
* @scope SomeClass public
*/
function publicAPICall() {...
}
71 ページの「ドキュメントの生成」を参照してください。
ドキュメンテーション・コメント・タグの参照
このトピックでは、各ドキュメンテーション・タグに提供される情報について説
明します。
@class classname [documentation_group]
コードのドキュメント化
69
@class タグには、クラス名を指定する必要があります。これは、コンストラクタ、
メンバー関数およびプロパティをクラスにバインドするために使用される名前で
す。
オプションの documentation_group は、クラス、関数および変数のグループ化に使
用される 1 語です。これによって、グループ単位で生成されたドキュメントに含
めたり、ドキュメントから除外したりできます。71 ページの「ドキュメントの
生成」を参照してください。
@param param_name type_name [description]
@param タグには、パラメータ名および予期されるタイプ(数値、セクション、オ
ブジェクト、形状など)を指定する必要があります。JavaScript にはタイプが存在
しないために、パラメータ・タイプは提案のみですが、これによって呼出し元は
関数が要求する値のタイプを把握できます。
オプションの description には複数行を指定できますが、空白行は含められません。
@type type_name [description]
@type タグには、変数のタイプまたはドキュメント化される関数が戻すタイプを
指定する必要があります(数値、セクション、オブジェクト、形状など)。
関数をドキュメント化する場合は、関数が戻すタイプの隣にオプションの
description を指定します。これによって、呼出し元は、戻り値の解釈方法を把握
できます。
@scope namespace [group]
@scope タグには、ドキュメント、セクション、コントロールのネームスペースま
たは@class タグで定義されたクラス名を指定する必要があります。
オプションの group は、クラス、関数および変数のグループ化に使用される 1 語
です。これによって、グループ単位で生成されたドキュメントに含めたり、ドキュ
メントから除外したりできます。71 ページの「ドキュメントの生成」を参照し
てください。
Dashboard Development Services コンポーネント固有
の機能
ドキュメンテーション機能は Dashboard Development Services コンポーネントを認
識し、これらのコンポーネントの追加情報を含みます。
Dashboard Development Services コンポーネント固有の情報は、コンポーネント・
コード・セクションのテキスト・ラベルに保持されます。すべての追加情報はオ
プションです。表 22 に含まれる情報を Dashboard Development Services コンポーネ
ントに指定できます。
表 22
70
ドキュメント
テキスト・ラベル内の Dashboard Development Services コンポーネント固有の情報
Text Label
情報
txlName
コンポーネントの表示名(例: QIQ_fmtHeading ではなく動的見出し)
txlDescription
コンポーネントに関する説明テキストを含む 1 つ以上のパラグラフ
Text Label
情報
txlReqBrio
次のフォーマットの Interactive Reporting Studio リリース情報:
"VersionMajor=a¥nVersionMinor=b¥nVersionRelease=c¥nVersionPatch=d"。ここで、a、
b、c、および d は数値、¥n は新しい行のシーケンスを表します。次に例を示
します。
VersionMajor=8
VersionMinor=3
VersionRelease=0
VersionPatch=647
txlReqTemplate
次のフォーマットの Dashboard Studio テンプレート・リリース情報:
"VersionMajor=a¥nVersionMinor=b¥nVersionRelease=c"。ここで、a、b、および c は数
値、¥n は新しい行のシーケンスを表します。次に例を示します。
VersionMajor=8
VersionMinor=3
VersionRelease=45
ドキュメントの生成
HTML ドキュメントを作成するには、「プロジェクト」を選択し、「ドキュメンテー
ションの生成」を選択します。
ドキュメント・グループの包含と除外
ドキュメント・グループが@scope タグの 2 番目のパラメータを使用して定義され
ている場合は、「ドキュメント・グループの選択」ダイアログ・ボックスが表示さ
れ、HTML 出力に含まれるドキュメント・グループの選択が使用可能になります。
1 つ以上のドキュメント・グループを選択し、「OK」をクリックします。ドキュ
メント・グループが選択されなかった場合または「取消し」がクリックされた場
合は、ドキュメント・グループ指定子(1 つのパラメータを持つ@scope タグ)を持
たないドキュメントのみが HTML ドキュメントに含まれます。
スコープ外ドキュメントの包含と除外
@scope タグを除外するドキュメント・ブロックは、「プロジェクト」から「コン
トロール・ドキュメンテーションを含める」を選択しないかぎり、生成された
HTML ドキュメントに含まれません。24 ページの「「プロジェクト」メニュー」
を参照してください。
コマンドが選択されると、スコープ外ドキュメントは、形によってグループ化さ
れてドキュメントの最後に含まれます。
ドキュメントの生成
71
HTML ドキュメントにおける Dashboard Development
Services コンポーネント固有の機能
開いた Interactive Reporting ドキュメントのリスト内に instrumented.bqy が見つ
からない場合は、警告が表示されます。
HTML ドキュメントは生成されますが、ドキュメント・ジェネレータは、Dashboard
Development Services コンポーネントと他のセクションを区別できません。このた
め、Hyperion(R) Dashboard Development Services のコンポーネント固有の情報は生
成されたドキュメントには含まれません。
72
ドキュメント
Dashboard Development
Services更新ユーティリティ
の使用方法
9
この章の内容
Dashboard Development Services 更新ユーティリティ ............................................................ 73
更新のワークフロー .................................................................................................... 74
新規セクション・ファイル........................................................................................... 74
構成ファイルの構成 .................................................................................................... 75
構成ファイルの変更 .................................................................................................... 75
ドキュメントの更新 .................................................................................................... 76
Dashboard Development Services 更新ユーティリティ
Dashboard Development Services 更新ユーティリティを使用して、Interactive
Reporting ドキュメント内の JavaScript を更新します。これは、JavaScrip がレイヤー
化されたアーキテクチャを構築するために設計されていることが前提です。
l
l
l
レイヤー 1: データとビュー(クエリー、チャート、ピボットおよびレポート)
レイヤー 2: 操作するセクション。チャート、ピボットおよびユーザー・イン
タフェース・コントロール(ライブラリ・ルーチンへの非常に単純な 1 行呼出
しが表示されるリスト、ボタン、ドロップダウン・リストなど)
レイヤー 3: 再使用可能な JavaScript 関数、クラスおよびコンポーネントが含ま
れるセクション
Dashboard Development Services 更新ユーティリティでは、レイヤー 3 のコンテン
ツのみが更新されます。newsections.bqy ドキュメント(最新のレイヤー 3 セク
ションが含まれている Interactive Reporting ドキュメント)を使用して、新しいレイ
ヤー 3 セクションが古いダッシュボードにプッシュされるため、古いダッシュボー
ドが新しいダッシュボードに変換されます。
更新されるドキュメント内では、現在のドキュメントと newsections.bqy ドキュ
メントに共通するセクションが、newsections.bqy ドキュメントのセクションと
置き換えられます。リリース 8.3.1 の時点では、以前のセクションによって後のセ
クションが置き換えられることがないように、セクション内のリリース情報が使
用されています。このため、リリース 8.3.1 では、対応する newsections.bqy セ
クションがより新しいリリースを参照する場合のみセクションが置き換えられま
す。
要約すると、更新は次の仮定に基づいて行われます。
l
JavaScript はレイヤー化されて作成されている
Dashboard Development Services 更新ユーティリティ
73
l
l
レイヤーは、いくつかの別個の関数または関連する一連の関数をまとめて実
装する 1 つ以上の Interactive Reporting ドキュメント・セクションである
ドキュメント・スクリプトは、onStartUp、onShutDown、onPreprocess、
onPostProcess イベントが含まれるセクションであるかのように扱われる
Unicode 機能
Dashboard Development Services 更新ユーティリティでは、Interactive Reporting ド
キュメントに基づく古いコード・ページが、使用前に自動的に Unicode に変換さ
れるため、異なる言語のドキュメントを更新できます。
ヒント:
Dashboard Development Services 更新ユーティリティによって Unicode 以外の
Interactive Reporting ドキュメントを実行することでエラーが発生した場合は、更
新前に Unicode 以外のドキュメントを開いて Interactive Reporting Studio に保存し
ます。
リソース・マネージャの画像を連結
このユーティリティでは、重複する画像と未使用の画像がリソース・マネージャ
から自動的に削除されます。『Hyperion Interactive Reporting Studio ユーザー・ガイ
ド』にあるリソース・マネージャに関する説明を参照してください。
更新のワークフロー
このトピックでは、セクションを更新または変換するワークフローについて説明
します。
1. 新規セクション・ファイルの作成または更新(74 ページの「新規セクション・
ファイル」を参照)。
2. JavaScriptUpdateConfig_dds.js を構成します。
JavaScriptUpdateConfig_dds.js は、インストールに含まれています(75
ページの「構成ファイルの構成」を参照)。
3. ドキュメントを更新します(76 ページの「ドキュメントの更新」を参照)。
注:
テンプレートがカスタマイズされておらず、今後もカスタマイズしない場合
は、直接手順に進んでドキュメントを更新します。
新規セクション・ファイル
Dashboard Development Services 更新ユーティリティは、入力として新規セクショ
ン・ファイルを使用します。これはインフラストラクチャ(共有された JavaScript
関数とオブジェクト・コンストラクタ)の最新版を含む Interactive Reporting ドキュ
74
Dashboard Development Services 更新ユーティリティの使用方法
メントです。このユーティリティは、指定されたリストの各 Interactive Reporting
ドキュメントを開き、リストのセクション名が新しいセクション・ファイルおよ
び更新する Interactive Reporting ドキュメントに存在するかどうかを確認する比較
操作を実行します。両方にセクションが存在する場合、Interactive Reporting ドキュ
メントのセクションが削除され、新しいセクション・ファイルのセクションで置
き換えられます。
構成ファイルの構成
Dashboard Development Services 更新ユーティリティの 9.3 以前のリリースでは、イ
ンストールに Upgrade.ini ファイルが含まれていました。このファイルは、制限
が緩和された構成ファイルで置き換えられています。この構成ファイルには、更
新スクリプトがプロセス中の必要な時点で呼び出す一連の JavaScript 関数が含ま
れ、これによって、それぞれの要件に合わせて洗練され、カスタマイズされた更
新プロセスを実行できます。この構成ファイルは、新規セクション・ファイルと
連携して Dashboard Studio テンプレートまたはドキュメントを更新します。
Dashboard Development Services 更新ユーティリティを使用すると、破棄される古
いダッシュボード・セクションのテキスト・ラベル、ドロップダウン・リスト、
およびリストのコンテンツから値を移動し、Interactive Reporting ドキュメントに
挿入する際に新しいセクションの対応する形状にそれらの値をコピーできます。
構成ファイルは、ファイルを更新する際に値を転送するセクションのテキスト・
ラベル、ドロップダウン・リスト、およびリストを識別するために使用されます。
保持する値はこのファイルで指定する必要があります。
構成ファイルと更新プロセスをカスタマイズする方法については、構成ファイル
内の JavaDoc を参照してください。
インストール時には JavaScriptUpdateConfig_dds.js と
JavaScriptUpdateConfig_blank.js の 2 つの構成ファイルが提供されます。どち
らのファイルもカスタマイズできますが、JavaScriptUpdateConfig_dds.js は
Dashboard Studio 専用です。
構成ファイルの変更
構成ファイルを変更して、カスタム・コンポーネントを追加し、セクションを追
加または削除できます。
Dashboard Development Services 更新ユーティリティは、更新するドキュメントで
使用可能なセクションと指定された新規セクション・ファイルのセクションを比
較します。新規セクション・ファイルと更新する Interactive Reporting ドキュメン
トにセクションが存在する場合は、Interactive Reporting ドキュメントのセクショ
ンが新規セクション・ファイルの対応するセクションによって置き換えられます。
構成ファイルによって、これまで存在しないセクションも含めて、更新するドキュ
メントに追加するセクションを指定できます。同様に、更新するドキュメントか
ら削除するセクションも指定できます。
構成ファイルの構成
75
ドキュメントの更新
Dashboard Development Services 更新ユーティリティを使用すると、次の 3 つの方
法のいずれかでドキュメントを更新できます。
l
l
l
「1 つを更新」の方法の使用: GUI を使用して一度に 1 つの Interactive Reporting
ドキュメントを更新します。
「複数を更新」の方法の使用: GUI を使用して Interactive Reporting ドキュメン
トのフォルダを更新します。
コマンド・ラインによる更新を使用して更新するドキュメントの選択します。
「1 つを更新」の方法の使用
ユーティリティの GUI を使用して、一度に 1 つの Interactive Reporting ドキュメン
トを更新します。
ä 1 つの Interactive Reporting ドキュメントを更新するには、次の手順に従います:
1 Dashboard Development Services 更新ユーティリティを開きます。
2 更新方法で 1 つを更新を選択します。
3 希望のバックアップ・オプションを選択します。
l
l
「更新フォルダに更新を配置」を選択すると、ソース・パスに更新フォルダが
作成され、更新されたドキュメントがそのフォルダに保存されます(更新フォ
ルダに同じ名前のドキュメントが存在する場合、現在更新しているドキュメ
ントにタイムスタンプが追加されます。更新フォルダ内の元のドキュメント
は上書きされません)。
「バックアップ・フォルダに元のドキュメントを配置」を選択すると、ソー
ス・パスにバックアップ・フォルダが作成されます(元のドキュメントは、ファ
イル名にタイムスタンプが追加されてバックアップ・フォルダに保存されま
す。更新されたドキュメントはソース・パスに保存され、元のドキュメント
の名前が付けられます)。
ドキュメントのバックアップを作成するオプションが選択されている場合、元の
ドキュメントを読取り専用に設定しないでください。
4
(「JavaScript 構成ファイル」の横)をクリックして構成ファイルを見つけます。
JavaScript の構成ファイルによって、指定した更新ドキュメントの中で置換、追
加、削除、または温存するセクションが決まります。カスタマイズされたスクリ
プトを使用しない場合は、提供されているデフォルトの構成ファイルを使用して
ください。
5
(「新規セクション・ファイル」の横)をクリックして新規セクション・ファイル
を見つけます。
Dashboard Studio のインストールによって提供される新規セクション・ファイルに
は、インフラストラクチャ・セクションの最新バージョンが含まれます。カスタ
ム・コンポーネントが追加されている場合は、別の新規セクション・ファイルを
使用する必要があります。
76
Dashboard Development Services 更新ユーティリティの使用方法
6
(「更新するドキュメント」の横)をクリックして更新するドキュメントを見つけ
ます。
更新されたドキュメントの保存パスが「更新されたドキュメントの保存先のパス」
に生成されます。
7 更新をクリックします。
更新プロセスが完了すると、レポートにより更新の成功または不成功が確認され
ます。
8 表示をクリックして、更新されたドキュメントを Interactive Reporting Studio で起動しま
す。
「複数を更新」の方法の使用
ユーティリティ GUI を使用して、Interactive Reporting ドキュメントを更新します。
ä Interactive Reporting ドキュメントのフォルダを更新するには、次の手順に従いま
す。
1 Dashboard Development Services 更新ユーティリティを開きます。
2 更新方法で複数を更新を選択します。
3 希望のバックアップ・オプションを選択します。
l
l
「更新フォルダに更新を配置」を選択し、ソース・パスに Update フォルダを作
成します。このフォルダには、更新されたドキュメントが保存されます。Update
フォルダに同じ名前のドキュメントが存在する場合は、更新中のドキュメン
トにタイムスタンプが追加されます。Update フォルダの元のドキュメントは
上書きされません。
「バックアップ・フォルダに元のドキュメントを配置」を選択すると、ソー
ス・パスにバックアップ・フォルダが作成されます(元のドキュメントは、ファ
イル名にタイムスタンプが追加されてバックアップ・フォルダに保存されま
す。更新されたドキュメントはソース・パスに保存され、元のドキュメント
の名前が付けられます)。
ドキュメントのバックアップを作成するオプションが選択されている場合、元の
ドキュメントを読取り専用に設定しないでください。
4
(「JavaScript 構成ファイル」の横)をクリックして構成ファイルを見つけます。
JavaScript の構成ファイルによって、指定した更新ドキュメントの中で置換、追
加、削除、または温存するセクションが決まります。カスタマイズされたスクリ
プトを使用しない場合は、提供されているデフォルトの構成ファイルを使用して
ください。
5
(「新規セクション・ファイル」の横)をクリックして新規セクション・ファイル
を見つけます。
Dashboard Studio のインストールによって提供される新規セクション・ファイルに
は、インフラストラクチャ・セクションの最新バージョンが含まれます。カスタ
ム・コンポーネントが追加されている場合は、別の新規セクション・ファイルを
使用する必要があります。
ドキュメントの更新
77
6
(「ドキュメント・フォルダ」の横)をクリックして更新するフォルダを見つけま
す。
更新されたドキュメントの保存パスが「更新されたドキュメントの保存先のパス」
に生成されます。
7 更新をクリックします。
更新プロセスが完了すると、レポートにより更新の成功または不成功が確認され
ます。
8 表示をクリックして更新されたフォルダを開きます。
ヒント:
Dashboard Development Services 更新ユーティリティで「複数を更新」操作した後、
Interactive Reporting Studio が正しく起動しない場合は、ドキュメントを起動する
前に Windows タスク・マネージャを開いて brioqry.exe プロセスを終了します。
コマンド・ラインによる更新
Dashboard Development Services 更新ユーティリティには、ドキュメントをコマン
ド・ラインで更新するオプションがあります。この方法の主な利点は次のとおり
です:
l
異なる場所の複数のドキュメントを同時に更新できる
l
更新するリストの永久リストが作成できる
Dashboard Development Services 更新ユーティリティは、指定のスクリプトに基づ
いて汎用変換を実行します。汎用変換はコマンド・ラインを使用する場合にのみ
使用可能です。カスタマイズしたスクリプトは、コマンド・ラインから実行でき
ます。
更新するドキュメントの選択
指定されたスクリプトまたはカスタマイズされたスクリプトを使用して変換を実
行します。
ä コマンド・ラインを使用して更新するファイルまたはフォルダを選択するには:
1 bin フォルダに移動します。
インストールをカスタマイズしなかった場合、bin フォルダは C:¥Hyperion
¥products¥biplus¥bin の下にありますが、インストールをカスタマイズした場
合は、それに応じてパスを修正してください。
2 runTransformScript.bat を選択し、右クリックして編集を選択します。
これにより、スクリプト、パラメータ、およびオプションを実行できるようにな
ります。
BAT ファイルには次の行が含まれます:
set PARAM=%PARAM% -js ""
set PARAM=%PARAM% -param:name=""
78
Dashboard Development Services 更新ユーティリティの使用方法
1 行目は実行するスクリプトで、2 行目はパラメータのプレースホルダです。
3 スクリプトを指定します。
実行するスクリプトを、BAT ファイルの-js オプションの後に、-js
"JavaScriptUpdate.js"のように入力する必要があります。
4 スクリプトのパラメータは、次の 2 つの方法のいずれかを使用して指定します:
スクリプトは、多くのパラメータを持つことも、パラメータを持たないこともで
きます。
1.
-param オプションの使用。
すべての¥および"はエスケープされます。
単一値の場合、-param オプションは次の構文になります:
-param:name="value"
2 つのアイテムの配列の場合、-param オプションは次の構文になります:
-param:name="[¥"value¥", ¥"C:¥¥Hyperion¥¥products¥¥biplus¥"]"
最初のアイテムは value で、次のアイテムは C:¥Hyperion¥products¥biplus
¥です。
たとえば、JavaScript の更新には、次のパラメータが必要です:
l
構成ファイル(パラメータ名: updateConfig)
l
新規セクション・ファイル(パラメータ名: newSectionFile)
l
更新するドキュメントまたはファイル(パラメータ名: targetBQYs)
l
更新フォルダ(パラメータ名: updateFolder)またはバックアップ・フォルダ
(パラメータ名: backupFolder)
例:
set PARAM=%PARAM% -js "C:\\Hyperion\\products\\biplus\\DDS\\scripts\
\DDSUpdate\\JavaScriptUpdate.js"
set PARAM=%PARAM% -param:updateConfig="C:\\Hyperion\\products\
\biplus\\DDS\\scripts\\DDSUpdate\\JavaScriptUpdateConfig_dds.js"
set PARAM=%PARAM% -param:newSectionFile="C:\\Hyperion\\products\
\biplus\\DDS\\scripts\\DDSUpdate\\newsections.bqy"
set PARAM=%PARAM% -param:targetBQYs="C:\\Folder or Document to
update"
set PARAM=%PARAM% -param:updateFolder="C:\\Update folder"
オプション: バックアップ・フォルダを作成する場合は、最後の行を次で置
換します:
set PARAM=%PARAM% -param:backupFolder="C:\\Backup folder"
2.
-batch オプションの使用。
このオプションを使用して、1 つのスクリプトを、異なるパラメータで複数
回実行できます。バッチ・ファイルの各行は、実行される 1 つのスクリプト
を表します。パラメータはカンマで区切り、たとえば、name1="value1",
name2="value2"のようになります。
ドキュメントの更新
79
この例は、手順 4a の JavaScript の更新の例と同じバッチ・ファイルです。次
は、BAT ファイルの内容の例です:
updateConfig="C:\\Hyperion\products\biplus\\DDS\\scripts\\DDSUpdate
\\JavaScriptUpdateConfig_dds.js", newSectionFile="C:\\Hyperion
\products\biplus\\DDS\\scripts\\DDSUpdate\\newsections.bqy",
targetBQYs="C:\\Folder to update", updateFolder="C:\\Update folder"
このコードを使用して BAT ファイルを指定します:
set PARAM=%PARAM% -js "C:\\Hyperion\products\biplus\\DDS\\scripts\
\DDSUpdate\\JavaScriptUpdate.js"
set PARAM=%PARAM% -batch "C:\\Hyperion\products\biplus\\DDS\\scripts
\\DDSUpdate\\batchFile.txt
BatchFile.txt は、パラメータ・ファイルの名前の例として使用します。
5 オプション: BAT ファイルに、エラー時に失敗する(foe)指示を含めるには、次のパラ
メータを追加します:
set PARAM=%PARAM% -foe
このパラメータが含まれている場合、変換の実行時にファイルがエラーを検出す
ると、プロセスは停止し、ログにエラー・メッセージが表示されます。この行が
含まれない場合、エラーが検出されてもスキップされます。ログにはエラーに関
するアラートが示されます。これは、JavaScript の更新の場合のみ機能します。
6 オプション: BAT ファイルにレポートを作成する指示を含めるには、次の行を入力しま
す:
set PARAM=%PARAM% -rep "C:\\Hyperion\\products\\biplus\\DDS\\report"
たとえば、C:¥Hyperion¥products¥biplus¥DDS¥report のように、ファイル・パ
スとフォルダを指定する必要があります。
7 BAT ファイルを保存して閉じます。
8 Interactive Reporting Studio で「コマンド」ウィンドウを開きます。
9 bin フォルダに移動します。
たとえば、C:¥Hyperion¥products¥biplus¥bin に移動します。
10 runTransformScript.bat を実行します。
BAT ファイルは bin ディレクトリから実行する必要があります。
「コマンド」ウィンドウに出力が表示されます。成功するとメッセージが表示され
ます。
80
Dashboard Development Services 更新ユーティリティの使用方法
10
高度なスクリプトによるド
キュメントの更新
この章の内容
スクリプトのカスタマイズ........................................................................................... 81
EPM Workspace のカスタム・スクリプト環境 .................................................................... 81
スクリプトの呼出し .................................................................................................... 82
カスタム・スクリプト ................................................................................................. 83
スクリプト・パラメータ.............................................................................................. 86
ロギング .................................................................................................................... 87
ドキュメント情報のログへの書出し .............................................................................. 88
Document Object Model のツリー構造................................................................................. 89
プロパティへのアクセス.............................................................................................. 94
ファイル・システムへのアクセス ................................................................................. 95
スクリプト内の一般的な Java コード.............................................................................. 95
バッチ入力ファイルの使用........................................................................................... 95
スクリプトの一覧 ....................................................................................................... 96
スクリプトのカスタマイズ
ここでは、Oracle Enterprise Performance Management Workspace, Fusion Edition また
は Interactive Reporting Studio のデスクトップでドキュメントを更新するためのス
クリプトのカスタマイズについて説明します。
EPM Workspace のカスタム・スクリプト環境
Oracle Hyperion(R) Impact Management Services のカスタム・スクリプト環境によ
り、Interactive Reporting ドキュメントの内容および構造を DOM(Document Object
Model)と JavaScript を使用して操作できます。この環境は、Interactive Reporting
Studio のスクリプト環境と似ていますが、異なる点もあります。たとえば、Impact
Management Services のカスタム・スクリプト環境は次のとおりです:
l
アクティブな Interactive Reporting ドキュメントのコンテキストでは動作しな
い
l
ドキュメント内のすべてのプロパティにアクセス権を与える
l
システム・レベルの論理的な整合性チェックは実行しない
l
Interactive Reporting ドキュメント内部には含まれない
l
複数のドキュメントに対してスクリプトを実行する
スクリプトのカスタマイズ
81
カスタム・スクリプト環境は、1 つ以上のドキュメントに、任意の、一般的な変
換を実行します。このメカニズムは、Impact Management Services のデータ・モデ
ルの更新機能および JavaScript の更新機能を実装するために使用されます。
スクリプトは EPM Workspace にインポートし、Impact Management Services の「カ
スタム更新」機能を使用して実行し、インポートされた他のドキュメントを変更
できます。このスクリプトは、Dashboard Development Services 更新ユーティリティ
によってデスクトップで実行することもできます。デスクトップからは、デスク
トップから表示できるディスクのファイルのみを変更できます。デスクトップは、
一般に開発環境またはテスト環境です。
EPM Workspace のスクリプトは、Impact Management Services のコントロール下で
実行されるので元に戻す機能が使用できます。スクリプトを使用して行った変更
が不要な場合、スクリプトを使用したタスクを取り消し、ドキュメントをスクリ
プトを実行する前の状態に戻せます。
Hyperion Workspace 管理者ガイドの Impact Management Services の使用に関する説
明を参照してください。
スクリプトの呼出し
Impact Management Services スクリプトは、EPM Workspace 内、または Dashboard
Development Services 更新ユーティリティのクライアント・デスクトップで実行で
きます。
EPM Workspace でのスクリプトの呼出し
EPM Workspace では、Impact Management Services のカスタム更新機能が使用され
ます。この機能は、次の 3 つの手順でスクリプトを実行します:
1. スクリプトを参照して選択します。
2. スクリプトに必要なパラメータを入力します。Impact Management Services は、
そのスクリプト特有のパラメータ・フォームを作成します。または、バッチ
入力ファイルを使用して一連のパラメータ値を指定できます。
3. オプション: スクリプトをいつ実行するかをスケジュールします。
Dashboard Development Services 更新ユーティリティ
でのスクリプトの呼出し
runTransformScript.bat のようなバッチ・ファイルを使用してスクリプトを実
行するには、Dashboard Development Services 更新ユーティリティを使用します。
各スクリプトには、スクリプトで必要なパラメータを含む特定のバッチ・ファイ
ルが必要です。78 ページの「更新するドキュメントの選択」を参照してくださ
い。
JavaScript の更新変換は、JavaScript を含む古いセクションを新しいバージョンのセ
クションで置換します。古いセクションのプロパティ設定は、新しいセクション
に転送されるので、新しいコードは古いプロパティで動作します。Dashboard
82
高度なスクリプトによるドキュメントの更新
Development Services 更新ユーティリティは、バッチ・モードと対話モードの両方
をサポートします。76 ページの「ドキュメントの更新」を参照してください。
スクリプトの実行の監視
EPM Workspace のタスク・ステータスの表示リストで、スクリプトの実行の進行
状況を監視できます。実行を待機する間、およびスクリプトを実行している間、
ステータスが、「待機しています」(グレー)と表示されます。完了すると、ステー
タスが「成功」(緑)または「失敗」(赤)に変わります。
タスクが完了したら、タスク・ステータスの表示リストのエントリをダブルクリッ
クして生成されたログ・メッセージを表示します。ログを使用してエラーのある
スクリプトをデバッグします。
Interactive Reporting Studio で、ログは dds.log というファイルに書込まれます。
標準インストールでは、logs フォルダは、C:¥Hyperion¥products¥biplus¥logs
にあります。
カスタム・スクリプト
これらのスクリプトは、EPM Workspace または Interactive Reporting Studio のドキュ
メントの更新に使用可能です。
JavaScriptUpdate.js
JavaScriptUpdate スクリプトにより、ユーザーは最新のダッシュボード機能を利用
できます。ドキュメントを新規に再作成する必要はありません。Hyperion Workspace
管理者ガイドの Impact Management Services の使用に関する説明を参照してくださ
い。
UpdateDataModels.js
UpdateDataModels スクリプトを使用して、ドキュメント内のデータ・モデルを、
基本となるデータベースでの変更を反映して更新できます。Hyperion Workspace
管理者ガイドの Impact Management Services の使用に関する説明を参照してくださ
い。
SortDataModelTopics.js
SortDataModelTopics スクリプトを使用してドキュメントを更新し、データ・モデ
ルのトピックを EPM Workspace にユーザー定義順またはアルファベット順に表示
できます。
Interactive Reporting ドキュメントが EPM Workspace に開かれ、クエリーが表示さ
れている場合、トピックのリストが「テーブル」の下のカタログ・ペインに表示
されます。トピックは、Interactive Reporting ドキュメントに追加された順序で表
示されるので、リストに多数のトピックがある場合、検索するのが困難です。
カスタム・スクリプト
83
SortDataModelTopics スクリプトにより、ユーザーは 3 つのパラメータを使用して、
これらのリストにトピックを表示する順序を指定できます。
ソート順を指定するには 2 つの方法があります:
1. 1 番目のパラメータを使用して、ユーザーの指定した順序のトピック名のリス
トを含むファイルを選択します。
2. 2 番目のパラメータ(TRUE または FALSE)を使用して、ソート済ファイルに含
まれないトピックをアルファベット順に並べるかどうかを指定します。
ソート済ファイルに含まれないトピックは、これに含まれるトピックの後に配置
され、2 番目のパラメータに従って並べられます。このため、空のファイルを指
定し、2 番目のパラメータが TRUE の場合、すべてのトピックはアルファベット
順に並べられ、リスト内のトピックを検索するのが容易になります。
注:
空のファイルには空白行が含まれます。
3 番目のパラメータにより、マルチファイル・ピッカーを使用して更新する一連
のファイルを選択できます。
正常に更新された各ファイルにはバージョンが追加されるので、EPM Workspace
でファイルをダブルクリックすると更新されたコンテンツが表示されます。
RevertImageResources.js
RevertImageResources スクリプトはデスクトップ専用で、EPM Workspace では使用
されません。
Interactive Reporting Studio 9.3 以前のリリースで、Interactive Reporting ドキュメン
トの複数の場所に同じイメージが含まれる場合、イメージ・コンテンツは複製さ
れ、Interactive Reporting ドキュメントは必要以上に大きくなり、ロードが遅くな
り、維持の効率化が必要でした。Interactive Reporting Studio リリース 9.3 またはそ
れ以降では、イメージ・コンテンツを一元管理する Resource Manager を実装しま
す。以前のリリースで作成された Interactive Reporting ドキュメントでは、効率化
のために重複するイメージをマージすることもできます。
このマージによって、リリース 9.3 以前のドキュメントを 9.3 またはそれ以降のリ
リースで開き、最適化して保存し、Interactive Reporting Studio の以前のリリース
で再び開くとドキュメント内のそのイメージが失われるという副作用が発生しま
す。これは、以前のリリースでは、イメージの再配置と合理化が解釈されないか
らです。
古いリリースとの互換性を実質上維持するために、RevertImageResources スクリプ
トには再配置とイメージのマージを元に戻し、Interactive Reporting ドキュメント
を 9.3 以前のフォーマットに戻す機能があります。
84
高度なスクリプトによるドキュメントの更新
注意
このスクリプトは、Interactive Reporting Studio 9.3 以降のリリースで新しいイメー
ジの統合と変換機能を使用した後に保存されたドキュメントのみに有効です。74
ページの「リソース・マネージャの画像を連結」を参照してください。
RevertImageResources スクリプトの実行
RevertImageResources スクリプトは、runRevertImageResourcesScript.bat を使
用して実行できます。インストールをカスタマイズしていなければ、
runRevertImageResourcesScript.bat は C:¥Hyperion¥products¥biplus¥bin
にあります。
このスクリプトは、パスをコマンド・ライン・パラメータとして受け入れます:
l
l
1 つのドキュメントを 9.3 以前のリリースのフォーマットに戻すには、これを
Interactive Reporting ドキュメントへの絶対パスにします。
複数のドキュメントを 9.3 以前のリリースのフォーマットに戻すには、
Interactive Reporting ドキュメントのフォルダへの絶対パスにします。
注:
パス内の円記号(¥)は、C:¥¥docs¥¥mydocument.bqy のように二重にする必要があ
ります。
フォルダに対する RevertImageResources スクリプトの使用
この例では、Oracle Hyperion Reporting and Analysis が C:¥Hyperion¥products
¥biplus にインストールされ、元に戻す Interactive Reporting ドキュメントのフォ
ルダが Q:¥files_to_revert にあり、このように呼ばれていることを前提にしま
す。
ä フォルダに runRevertImageResourcesScript.bat を使用するには:
1 Windows では、スタートをクリックし、ファイル名を指定して実行をクリックし、
「cmd」と入力します。
2 OK をクリックします。
3 「cd C:¥Hyperion¥products¥biplus¥bin」と入力し、[Enter]キーを押します。
パスが bin ディレクトリに変更されます。
4 「runRevertImageResourcesScript Q:¥¥files_to_revert」と入力し、[Enter]キー
を押します。
フォルダの Interactive Reporting ドキュメントが調べられ、再構築されて、新しい
ファイルがそれぞれの名前で作成されます(イメージが元に戻されます)。この処
理が完了すると、フォルダのファイルの容量は倍になります。
カスタム・スクリプト
85
ファイルに対する RevertImageResources スクリプトの使用
この例では、Reporting and Analysis が C:¥Hyperion¥products¥biplus にインス
トールされ、元に戻す Interactive Reporting ドキュメントが Q:¥files_to_revert
¥my_revenue.bqy にあり、このように呼ばれていることを前提にします。
ä runRevertImageResourcesScript.bat をファイルに対して使用するには:
1 Windows では、スタートをクリックし、ファイル名を指定して実行をクリックし、
「cmd」と入力します。
2 OK をクリックします。
3 「cd C:¥Hyperion¥products¥biplus¥bin」と入力し、[Enter]キーを押します。
パスが bin ディレクトリに変更されます。
4 「runRevertImageResourcesScript Q:¥¥files_to_revert¥¥my_revenue.bqy」
と入力し、[Enter]キーを押します。
Interactive Reporting ドキュメントが調査され、再構成されて、my_revenue(images
reverted).bqy という新規ファイルが作成されます。このドキュメントは、Interactive
Reporting Studio の前のリリースで使用できます。
注:
新機能を前の機能に変換することはできません。たとえば、リリース 9.3 以降の
Interactive Reporting ドキュメントには散布図とバブル・チャートが含まれていま
すが、このドキュメントを Interactive Reporting Studio の前のリリースで開くとこ
れらのチャートは失われます。
スクリプト・パラメータ
スクリプトで必要なパラメータは、ヘッダーでコメントを使用して指定します。
このフォーマットは、Java のドキュメント化に使用する JavaDoc コメントに似て
います。
パラメータを定義するには、@param sourceLanguage のように最低限名前を指定す
る必要があります。
これは、入力値が単純な文字列であることを前提としており、UI にテキスト・
ボックス(初期値は空)を表示します。
オプション: @inputType 行では、さらに具体的なデータ入力方法を使用できます:
l
text - テキスト
l
password - テキストはアスタリスク(*)で表示されます。
l
file_picker_single_value - リポジトリから 1 つのファイルを選択します。
l
86
file_picker_multi_values - リポジトリから複数ファイルを選択します。これらす
べてが 1 つの値を構成します。
高度なスクリプトによるドキュメントの更新
l
l
file_picker_multi_values_parallel_execution - リポジトリから複数ファイルを選択
します。これらはすべて、スクリプトの個別のインスタンスで並行して処理
されます。
dropdown - 定義済の固定値のセットから選択します。
入力タイプには、@defaultValue を使用してデフォルト値を指定できます。たとえ
ば、file_picker タイプの@defaultValue は、完全修飾パスおよび完全修飾名です。
/Administration/Impact Manager/Script Repository/SortDataModelTopics.js.
注:
これが一意でない、またはファイルが存在しない場合、警告ダイアログが表示さ
れ、パラメータのデフォルト値は設定されません。これは、デフォルト値を指定
しない場合と同じ効果です。
ドロップダウン・リストには、選択可能な項目をカンマで区切って指定する個別
の@comboValues 行が必要です。
注:
カスタム・スクリプトのパラメータ値は、スクリプトの送信時ではなく実行時に
検証されます。たとえば、スクリプトに容認できない値が指定された場合、ユー
ザーはタスクの送信時に通知を受け取るのではありません。スクリプトが無効な
データから回復できない場合、メッセージがログ出力され、例外がスローされ、
「タスク・ステータスの表示」に失敗(赤)のステータスが表示されてユーザーに問
題の発生が提示されます。
ロギング
スクリプトはログ・メッセージを使用してユーザーと通信します。EPM Workspace
では、タスク・ステータスの表示リストを使用してログにアクセスします。デス
クトップで、ユーザーは Interactive Reporting Studio で dds.log を表示します。こ
れは、スクリプト・ログ・ファイルのデフォルト名で、BAT ファイル内で変更で
きます。標準のインストールでは、ログはデフォルト・フォルダ C:¥Hyperion
¥products¥biplus¥logs にあります。スクリプトを実行するたびにログ・ファイ
ルは消去されます。デスクトップでは、ログは、すべてのタスクを、フォルダご
とに 1 回、各ファイルごとに 1 回、示します。
注:
Dashboard Studio インスペクタ・ユーティリティ・カスタム更新スクリプト機能で
は、ロギング・メッセージは「結果」ウィンドウの「タスク・オプション」にも
表示されます。『Hyperion Interactive Reporting – オブジェクト・モデルおよびダッ
シュボード開発サービス開発者ガイド Vol.5: Dashboard Studio』の「Dashboard
Studio インスペクタ・ユーティリティ」を参照してください。
ロギング
87
レベル設定が高くなるほど、多くのメッセージがログに表示されます。レベルに
ついては表 23 で説明しています。
表 23
ロギング・レベル
レベル
説明
デバッグ
スクリプト開発中に発生したことを判別するか、問題を追跡します。
警告
修正が必要で回復可能な問題を警告します。
エラー
要求された処理を正しく実行できないことを示します。
致命的
スクリプトは続行できないことを示します。
常時
常に表示されているメッセージ
env.logInfo()、env.logDebug()など、これらの各レベルでメッセージを記録できる
env メソッドがあります。96 ページの「ScriptEnvironment オブジェクト」を参照
してください。
スクリプトの実行に関連付けられたデフォルトのロギング・レベルがあります。
env.log()メソッドは、そのレベルのメッセージを記録します。デフォルトのレベ
ルの初期値はデバッグですが、env.setLogLevel()を使用して変更できます。
メソッドによって戻される値は JavaScript と Java オブジェクトの組合せなので、
env.logClassName()メソッドはオブジェクトのタイプに関する情報を提供します。
ドキュメント情報のログへの書出し
Interactive Reporting ドキュメントまたは Interactive Reporting ドキュメントのフォ
ルダを操作する単純なスクリプトを使用して、各ファイル名とそれに含まれるセ
クションの数を判別できます。
例: デスクトップ実行に Windows コマンド・ラインを使用する
Rhino.bat は汎用的なコマンド・ファイルで、デスクトップで多くの Impact
Management Services スクリプトを起動するために使用されます。パラメータは、
<documentOrPath> param_1=value_1 param_2=value_2 のフォームで入力する必
要があります。
例: 1 つのファイルまたは複数ファイルを含む 1 つのフォルダに対してスクリプト
を使用する
スクリプトの document パラメータがフォルダの場合、スクリプトは、フォルダ
をファイルのリストに展開するように環境に指示し、リスト内の各ファイルに対
して、そのスクリプトを 1 回呼び出します。スクリプトの実行はタスクと呼ばれ、
タスク・ステータスの表示リストとタスク管理リストを使用して EPM Workspace
で監視されます。スクリプトの document パラメータが 1 つのファイルの場合、
スクリプトは 1 回呼び出されます。
88
高度なスクリプトによるドキュメントの更新
Document Object Model のツリー構造
Document Object Model(DOM)はノードとプロパティのツリー構造で、各ノードは
ノードとプロパティで構成されます。DOM および JavaScript エンジンには、状態
を検索して更新する機能があります。Impact Management Services では、Interactive
Reporting ドキュメント全体を展開する必要はなく、目的のプロパティを持つノー
ドのみを展開します。たとえば、データ・モデルの更新を行う場合は、クエリー
とデータ・モデルのセクションのみを展開する必要がありますが、この手順では、
DOM の最上位レベルで情報を入手可能なので、展開は必要ありません。
Interactive Reporting ドキュメントの一部を展開すると、ドキュメントのロードが
高速になり、メモリー消費も減少します。ドキュメント・ロード・ルーチンは、
要求されたときに必要なもののみを展開します。この最適化を使用するスクリプ
トは動作を継続し、ドキュメント変換戦略パラメータは無視されます。
注:
bqReadWriteDom スクリプトと bqReadOnlyDom スクリプトを含めることができま
すが、値は無視されます。
スクリプトで操作される各ドキュメントは DOM のフォームで保管され、ノード
のツリーで表されます。それぞれに関連付けられたプロパティのセットが含まれ
ます。
ドキュメントの DOM は、ファイルを検索し、そのコンテンツをロードすること
で取得されます。たとえば、次のとおりです。
var uuid = env.getParameterValue(“document”);
var file = repository.retrieveFile(uuid);
var dom = env.getBqyDocument(file, bqReadWriteDom,
bqDashboardReportStrategy)
1 行目は、ドキュメントの UUID を含むパラメータを取得します。2 行目は、ファ
イルをリポジトリから一時ファイルにコピーするために使用されます。この一時
ファイルはスクリプト終了時に削除されます。3 行目は、ファイルのコンテンツ
をロードし、DOM を表す BqyDocument オブジェクトを指定します。
注:
2 番目のパラメータ bqReadWriteDom は、ドキュメントを書き換える必要がある
ことを指定します。書き換える必要がない場合、bqReadOnlyDom を指定して DOM
で必要なメモリーを削減します。3 番目のパラメータはドキュメント変換戦略の
bqDashboardReportStrategy です。これは、基本となるドキュメント構造がスクリ
プトにアクセスできる程度を指定します。
別の戦略を使用すると、ドキュメントをロードするために要する時間が増加する
ほど、スクリプトが必要とするメモリー量が削減されます。
Document Object Model のツリー構造
89
ドキュメントの変換とロード戦略
ドキュメントをロードするときは、スクリプトが必要とする DOM の部分のみを
ロードすることによってメモリーを節約できます。たとえば、「JavaScript の更新」
は、ダッシュボード・セクションのみを使用します。ドキュメントのセクション
名の一覧をログ出力する場合は、セクションの下位のノードのツリー全体をロー
ドする必要はありません。次に、これに必要な構文の例を示します。
env.getBqyDocument(documentFile, bqReadWriteDom,
bqJavascriptUpdateStrategy);
env.getBqyDocument(documentFile, bqReadOnlyDom,
bqDashboardReportStrategy)
env.getBqyDocument(documentFile, bqReadOnlyDom,
bqDashboardReportStrategy)
次の戦略は、セクションをロードするために提供されます:
l
bqDashboardReportStrategy - ダッシュボードとレポートのみ
l
bqDatamodelUpgradeStrategy - すべてのデータ・モデルとクエリー
l
bqJavascriptUpdateStrategy - ダッシュボードのみ
l
l
bqTopLevelSectionsStrategy - すべてのセクションおよびセクション・レベル・
プロパティ(最小の DOM が作成されます)
null - ドキュメント全体
注:
JIT(just-in-time)による DOM の構築により、ドキュメントのロード方式が冗長に
なります。提供されるすべてのパラメータは無視され、bqReadWriteDom スクリ
プトも無視されます。
Document Object Model のトラバース
DOM 内のノードのコンテンツを操作するには、そのノードを検索する必要があ
ります。
ドキュメントのセクションを表す最上位レベルのノードは、Sections コレクション
を使用して直接アクセスできます。ダッシュボード内の形状は Shapes コレクショ
ンによってアクセスできますが、ノードの子にはコレクションはありません。
ノードの子にアクセスするためのメソッドは次のとおりです:
90
l
getChildren() - ノードの子の完全なリストを戻します。
l
getChildrenOfType() - 特定のタイプを持つノードの子のリストを戻します。
l
addChild() - ノードの子のリストの最後に新しい子を追加します。
l
removeChild() - ノードの子のリストから指定したノードを削除します。
l
setChildren() - ノードの子のリストを別のリストで置換します。
l
dump() - デバッグのために、DOM ツリーを指定のノードからダンプします。
高度なスクリプトによるドキュメントの更新
指定されたノードのすべてのサブノードを反復するには、getChildren()を使用して
それらを含むリストを取得します。getChildrenOfType()を使用してこれを特定のタ
イプの子に制限します。たとえば、Root.MyDocument ノードにはドキュメント内
の各セクションに対する Rpt.DocCompノードが含まれ、これは次の行を使用して
検索できます:
var sections = root.getChildrenOfType(“Rpt.DocComp”);
ノードは、addChild()を使用して別のノードの子として追加されます。これを使用
してノードを DOM のある部分(または別のドキュメントの DOM)から別の場所に
コピーします。
子ノードを削除するには、removeChild()を使用します。
注:
子のリストは getChildren()によって戻され、getChildrenOfType()は読取り専用で
す。新規の値をエントリに割り当ててリストを更新する場合、ノードには影響を
与えませんが、ノードの現在のリストは setChildren()を使用して置換できます。
ドキュメントのサブツリーのコンテンツは、dump()を使用してログに書き込めま
す。デフォルトでは、これはツリーを標準出力にダンプしますが、パラメータを
指定すれば任意の印刷ストリームに書き出せます。
XPath スタイル検索
子ノードのリストを取得すれば DOM 全体にアクセスできますが、一連の条件を
満足するノードを検索することもできます。
たとえば、次のコードを使用してドキュメント内のすべての形状の名前を記録で
きます:
for (var i = 0; i < dom.Sections.length; i++) {
var section = dom.Sections[i];
if (section.Type == bqDashboard) {
env.log(“Dashboard “ + section.AnnotName + “ has shapes”);
var shapes = section.Shapes;
for (var j = 0; j < shapes.length; j++)
env.log(shapes[j].Name);
}
}
DOM は、ドキュメント内の Sections とダッシュボード内の Shapes にわかりやす
いコレクション名を指定しますが、すべての ThreshFmt.ThreshFmt ノード、すべ
ての ColColl.Item ノード、すべてのテーブル・セクション内のすべての
DataThreshold.DataThreshold ノードを検索する複雑な検索例は、複数のネストした
ループになります。
Document Object Model のツリー構造
91
Impact Management Services スクリプトには、XPath スタイル検索による代替アプ
ローチがあります。たとえば、次の例は、複雑な検索で使用するコードです:
var items = dom.findNodesByPattern(“/BQY/Root.MyDocument/Rpt.DocComp”
+ “/ColColl.Item/ThreshFmt.ThreshFmt”
+ “/DataThreshold.Threshold”);
この単一ステートメントは、必要なノードを含む配列を指定します。戻されるノー
ドを絞るためにプロパティ一致要件を含めることができます。
たとえば、結果を、Rankings という名前のテーブル内の Drawn という列にある
ノードに制限する場合は、次のようになります。
var items
+
+
+
= dom.findNodesByPattern(“/BQY/Root.MyDocument”
“/Rpt.DocComp[AnnotName=’Rankings’]”
“/ColColl.Item[Label=’Drawn’]/ThreshFmt.ThreshFmt”
“/DataThreshold.Threshold”);
検索は DOM のルートから開始する必要はありません。セクション・ノードを含
む変数を検索する場合、そのセクションの下の他のノードを検索するには、次の
ように相対パスを使用します:
var table = dom.findNodesByPattern(“/BQY/Root.MyDocument”
+ “/Rpt.DocComp[AnnotName=’Rankings’]”);
var items = table.findNodesByPattern(“ColColl.Item[Label=’Drawn’]”
+ “/ThreshFmt.ThreshFmt/DataThreshold.Threshold”);
ノードが存在しない可能性がある(すなわち、スクリプトを使用して処理されるド
キュメントにこのノードが含まれない場合)、またはこのようなノードが多数存在
する可能性がある場合は、getNodesByPattern()を使用します。このような場合、戻
される配列の長さを使用して状況が判別されます。
ただし、1 つのノードがパターンに確実に一致している場合は、配列ではなく、1
つのオブジェクトを戻す getNodeByPattern()を使用します。
検索機能では、2 つのワイルドカード機能を使用できます。ノード名のかわりに
アスタリスク(*)を使用すると、すべてのタイプのノードを表し、1 組のスラッシュ
(//)は介在するノード数を表します。
たとえば、ドキュメント、ダッシュボード、またはレポート内(本文、ヘッダー、
フッター、セクション・ヘッダー、またはセクション・フッター内)のすべてのイ
メージを検索するには、次の例のコードを使用します。
var pattern = “//Box.Item[RuntimeClassName='PictField']”;
var pictures = dom.findNodesByPattern(pattern);
Impact Management Services と Interactive Reporting
Studio Document Object Models との相違点
Impact Management Services は、スクリプトと Interactive Reporting Web Client を含
む Interactive Reporting Studio に DOM を提供し、Interactive Reporting ドキュメント
に埋め込まれたスクリプトに BQY オブジェクト・モデル(BOM)を提供します。
92
高度なスクリプトによるドキュメントの更新
Impact Management Services で使用可能な DOM は、Interactive Reporting Studio スク
リプトのイベント・ハンドラに指定されるものとは次の点で異なります:
l
l
l
l
l
l
l
すべてのコレクション・インデックスは、1 ではなく 0 から始まります。
ノード名とプロパティは、Dashboard Studio インスペクタ・ユーティリティに
表示されるとおり、基本のドキュメントに保管されているものと一致します。
BOM が付ける名前は Interactive Reporting Studio のビューに似たわかりやすい
名前ですが、DOM が付ける名前はあまりわかりやすくありません。
BOM は多くのプロパティに対するアクセス権を与えませんが、DOM はすべ
てのプロパティに対するアクセス権を与えます。
DOM を使用すると、セクションと形状の BOM イベント・ハンドラを呼び出
してドキュメントを変更できません。
BOM は、安全性のチェックと制限を行いますが、DOM は基本タイプのチェッ
クのみを行います。
DOM を使用すると、他のソフトウェアでは認識されていないファイルを作成
するなど、任意の変更と変換が行えます。
たとえば、このコードを使用して、すべてのクエリーのすべての要求ライン・ア
イテムに関連付けられている SQL を表示します。
var pattern = “//BQY/Qry.MyQry/QryCol.MyQryCol”;
var nodes = dom.findNodesByPattern(pattern);
for (var i = 0; i < nodes.length; i++)
env.log(nodes[i].SQL);
注:
両方のループ・インデックスはゼロで始まり、セクション名へのアクセスは、
Name ではなく AnnotName を通じて行われます。
Impact Management Services DOM 構造の調査
Interactive Reporting Studio のインストールに含まれる Dashboard Studio インスペク
タ・ユーティリティは、DOM のエクスプローラ形式のビューを提供します。
『Hyperion Interactive Reporting – オブジェクト・モデルおよびダッシュボード開発
サービス開発者ガイド Vol.5: Dashboard Studio』の「Dashboard Studio インスペク
タ・ユーティリティ」を参照してください。
左のペインは、ドキュメントに含まれるノードをツリーで表示します。右のペイ
ンは、選択したノードのすべてのプロパティ名、およびその現在の値と関連付け
られたデータ型を表示します。
スクリプトを作成するとき、インスペクタ・ユーティリティを使用して、意図的
な変更をアーカイブするために操作が必要なデータが DOM 内のどこにあるかを
判別し、目的のデータにプログラムでアクセスするためのパスを生成します。
Document Object Model のツリー構造
93
プロパティへのアクセス
Impact Management Services では、Interactive Reporting Studio と同じようにプロパ
ティにアクセスします。唯一の相違点は、Interactive Reporting Studio によってエ
クスポートされた DOM が頻繁に使用されるプロパティによりわかりやすい名前
を付けることです。
DOM のノードに関連付けられているプロパティの名前を確認するには、Dashboard
Studio インスペクタ・ユーティリティを使用します。『Hyperion Interactive Reporting
– オブジェクト・モデルおよびダッシュボード開発サービス開発者ガイド Vol.5:
Dashboard Studio』の「Dashboard Studio インスペクタ・ユーティリティ」を参照
してください。
たとえば、次のコードは、ダッシュボードの IsHidden プロパティにアクセスし
て、セクションが非表示の場合は表示します。
var dashboard = dom.Sections[“Dashboard”];
if (dashboard.IsHidden) {
env.log(“Making section “ + dashboard.Name + “ visible”);
dashboard.IsHidden = 0;
}
コレクション
Interactive Reporting Studio スクリプト用 DOM と Oracle Hyperion(R) Impact
Management ServicesDOM の大きな違いは、すべてのコレクションが 1 ベースでは
なくゼロ・ベースであることです。たとえば、次のようにコードを記述していた
ループは:
for (var i = 1; i <= collection.Count; i++)
// some processing on collection[i]
これが、現在は次のようになります:
for (var i = 0; i < collection.length; i++)
// some processing on collection[i]
プロパティ・タイプ
DOM のすべてのプロパティは次のいずれかのデータ型です:
94
l
バイト
l
DWord
l
長精度
l
文字列
l
構造
l
Word
高度なスクリプトによるドキュメントの更新
ファイル・システムへのアクセス
たとえば、実行のたびに変わることがない大量の構成情報が必要な場合などに、
スクリプト内から基本のファイル・システムにアクセスするには、次のメソッド
を使用します。
l
l
l
l
env.getFileSystem() - 基本のファイル・システムにアクセス権を与えるオブジェ
クトを取得します。
env.createTempFile() - スクリプトが完了すると消去される一時ファイルを作成
します。
fs.getFile() - EPM Workspace で指定されたパスでファイルを参照する Java ファ
イル・オブジェクトを取得します。
fs.writeBytesToStream() - バイト配列の内容をファイルに書き込みます。
スクリプト内の一般的な Java コード
Java オブジェクトをスクリプト処理の一部として構築する必要があります。たと
えば、RevertImageResources は次の呼出しを使用して FileOutputStream を作成しま
す:
var fos = new Packages.java.io.FileOutputStream(imageFile);
呼出しは次のフォームです:
var object = new Packages.java.some.package.ClassName(necessary,
parameters);
バッチ入力ファイルの使用
変換スクリプトのすべてのパラメータは、ユーザー・インタフェースを使用して
対話式で入力できます。または、バッチ入力ファイルとして指定して多くのパラ
メータ・セットの処理を要求することもできます。
バッチ入力ファイルの各行で、完全なパラメータ・セットが name="value"のカン
マ区切りリストで指定されています。
たとえば、SortDataModelTopics スクリプトを使用して 3 つのドキュメント"/
some.bqy"、"/some/other.bqy"および"/yet/another/example.bqy"を変換し、"/
order.txt"のトピック順序を使用して未指定のトピック名をアルファベット順にソー
トするには、次の入力ファイルを使用します:
orderings="/order.txt",sortUnknownTopics="true",document="/some.bqy"
orderings="/order.txt",sortUnknownTopics="true",document="/some/
other.bqy"
orderings="/order.txt",sortUnknownTopics="true",document="/yet/another/
example.bqy"
ファイル・システムへのアクセス
95
注:
各パラメータは引用符で囲み、値が変わらなくても、それらすべてを各行に含め
る必要があります。
EPM Workspace では、ファイルを表すパラメータの値は UUID にする必要があり
ます。サンプル・スクリプトは、バッチ・ファイルがファイル・パスを指定でき
るように明示的にコーディングされています。必要に応じて、これに類似したコー
ドを使用することで、ファイル・パスを UUID に変換できます:
var document = env.getParameterValue(“document”);
if (document.substring(0, 1) == “/”)
document = repository.getFileUuid(document);
バッチ入力ファイルの注釈を使用可能にするために、空白行と#で始まるすべての
行は無視されます。
注:
デスクトップでも、ファイルの UUID はファイル・システム・パスと同一なので、
コードはデスクトップでも機能します。
スクリプトの一覧
このトピックでは、デスクトップと EPM Workspace で使用可能なオブジェクト、
メソッド、およびプロパティのスクリプトの一覧と例を示します。
ScriptEnvironment オブジェクト
各スクリプトには、env と呼ばれるグローバル変数があり、これは scriptenvironment
オブジェクトに対するアクセス権を与えます。この中で、ドキュメントおよびド
キュメント・リポジトリへのアクセス権を認可する機能を実行およびホストしま
す。リポジトリは、スクリプトを EPM Workspace 内で実行する場合は Reporting
and Analysis リポジトリ、スクリプトをデスクトップで実行する場合はファイル・
システムです。
expandRequestAction()
タスクのリストにアクションが追加されます。一般に、expandRequestAction()は、
入力ファイルのコレクションを処理する複数の追加タスクを生成するために使用
されます。たとえば、ユーザーがフォルダで発生するアクションを要求するとし
ます。フォルダはファイルの配列に展開され、スクリプトは配列内の各ファイル
に対して実行されます。
expandRequestAction()の使用例:
env.expandRequestAction(strParam, arrUuidValues)
96
高度なスクリプトによるドキュメントの更新
パラメータ
説明
strParam
展開する必要があるファイル記述子を表します。
arrUuidValues
操作するファイル・セットの一意の識別子の配列。EPM Workspace では、これ
は UUID 値のセットで、デスクトップでは展開されたファイルのパスのリスト
です。
getBqyDocument()
リポジトリからドキュメントを取得するために使用され、DOM を作成します。
また、Interactive Reporting ドキュメントのノードおよびプロパティにアクセス権
を与えます。
getBqyDocument()の使用例:
var domBqy = env.getBqyDocument(filBqy, bqOpenMode, bqStrategy)
パラメータ
説明
filBqy
Interactive Reporting ドキュメントを表します。一般に、リポジトリ・アーチファ
クトの retrieveFile メソッドを使用して取得されます。
bqOpenMode
ファイルを開く方法を定義します。たとえば、bqReadOnlyDom を使用するとファ
イルは読取り専用になり、bqReadWriteDom を使用するとファイルは読取り/書
込みプロパティを持ちます。リリース 9.3.1 以上を実行するスクリプトでは、
Rhino エンジンは、スクリプトがノードまたはその下のプロパティを参照しよ
うとしたとき(次の表を参照)のみノードをロードするので、このパラメータは
無視されます。
bqStrategy
効率の評価として、DOM がどの程度作成されたかを判別します。リリース 9.3.1
以上を実行するスクリプトでは、Rhino エンジンは、スクリプトがノードまた
はその下のプロパティを参照しようとしたとき(次の表を参照)のみノードを
ロードするので、このパラメータは無視されます。
プロパティ
説明
bqDashboardReportStrategy
ダッシュボードとレポートのみをロードします。
bqDatamodelUpgradeStrategy
データ・モデルとクエリーのみをロードします。
bqJavaScriptUpdateStrategy
ダッシュボードのみをロードします。
bqTopLevelSectionsStrategy
すべてのセクションおよびセクション・レベル・プロパティを
ロードします。
null
ドキュメント全体をロードします。
getFileLines()
リポジトリからファイル・コンテンツを文字列の配列として取得するために使用
され、UUID を指定します。
getFileLines()の使用例:
var arrLines = env.getFileLines(filToRead)
スクリプトの一覧
97
パラメータ
説明
filToRead
リポジトリから取得したテキスト・ファイルを構成行に展開します。ファイ
ル・オブジェクトはファイルに関する情報で構成されますが、これはファイ
ルのコンテンツではありません。
getMimeTypeUuid()
指定した名前を持つ MIME タイプの UUID を取得するために使用されます。
getMimeTypeUuid()の使用例:
var uuiMimeType = env.getMimeTypeUuid(strMimeType)
パラメータ
説明
strMimeType
戻される MIME タイプの文字列表記。たとえば、application/x-brioquery。
getParameterValue()
名前に基づいて、単一値パラメータの値が取得されます。指定されたパラメータ
値が存在しない場合は null が戻されます。
パラメータ値はコマンド・ライン、または EPM Workspace のカスタム更新パラ
メータ収集画面で入力できます。
getParameterValue()の使用例:
var strVal = env.getParameterValue(strName)
パラメータ
説明
strName
コマンド・ファイルで指定されたパラメータの名前。たとえば、script.js –
param:document=c:¥docs¥myBqy –param:type=Query の場合、strName はド
キュメントまたはタイプのいずれかです。
getParameterValues()
複数値パラメータの可能性があるすべての値が、名前に基づいて配列として取得
されます。指定されたパラメータが存在しない場合は、null が戻されます。
getParameterValues()の使用例:
var arrValues = env.getParameterValues(strName)
パラメータ
説明
strName
コマンド・ファイルで指定されたパラメータの名前。たとえば、script.js param:document="[¥"c:¥¥docs¥¥file1.bqy¥", ¥"d:¥¥docs¥¥file2.bqy
¥"]"の場合、strName はドキュメントです。
98
高度なスクリプトによるドキュメントの更新
getRepository()
リポジトリ・アーチファクトを取得するために使用されます。スクリプトはこの
コンテキスト内で実行されています。スクリプトがデスクトップで実行されてい
る場合、これはファイル・システムです。
getRepository()の使用例:
var repLocal = env.getRepository();
getScriptUuid()
このスクリプトのリポジトリ UUID が取得されます。
getScriptUuid()の使用例:
var uuiScript = env.getScriptUuid();
これを EPM Workspace とデスクトップで使用します。
isDesktopMode()
スクリプトがデスクトップで実行されている場合は TRUE を戻します。
isDesktopMode()の使用例:
var blnDesktop = env.isDesktopMode();
isServerMode()
スクリプトが EPM Workspace で実行されている場合は TRUE を戻します。
isServerMode()の使用例:
var blnWorkspace = env.isServerMode();
loadScript()
JavaScript ファイルがロードされ、メイン・スクリプトとマージされます。
loadScript()の使用例:
env.loadScript(strPath, strDesc, uuiScript);
loadScript()の使用例:
env.loadScript(filScript, strDesc, uuiScript);
パラメータ
説明
strPath
スクリプト・ファイルを検索するために使用される文字列パス
filScript
JavaScript ファイルを参照するファイル・オブジェクト
strDesc
オプション: メイン・スクリプトまたはロード済スクリプトでエラーが発生し
たかどうかを判別するためのロギングおよびデバッグを可能にするための記
述
スクリプトの一覧
99
パラメータ
説明
uuiScript
オプション: ロードされるスクリプトの UUID
例 1: 文字列を使用して、スクリプトと同じ場所にあるファイルを検索します。
ファイルが検索できない場合は、スクリプト・リポジトリ・フォルダのルートを
検索します。EPM Workspace では、ルートは/Administration/Impact Manager/Script
Repository、デスクトップでは C:¥Hyperion¥products¥biplus¥DDS¥scripts で
す。
env.loadScript(“lib_hysl_core.js”);
例 2: ファイル・オブジェクト(env.loadScript(filScript, strDesc,
uuiScript);)を使用して、例 1 と同様のメカニズムを実装します。
function _loadScript(in_strScript){
var uuid, fil
var folServer = "/Administration/Impact Manager/Script Repository/
lib/"
var folDesktop = "C:\\Hyperion\\products\\BIP\\\biplus\\DDS\\scripts
\\"
if (env.isServerMode()){
uuid = cn_repLocal.getFileUuid(folServer + in_strScript)
} else {
uuid = folDesktop + in_strScript
}
fil = cn_repLocal.retrieveFile(uuid)
env.loadScript(fil, in_strScript, uuid)
}
_loadScript("lib_hysl_core.js");
setParameterValues()
指定されたパラメータの値を設定するために使用します。たとえば、同じ値が何
度も設定される場合、個別スクリプトは、パラメータのサブセットのみをリスト
するように書き込まれます。パラメータ画面には、これらだけが表示されます。
setParameterValues()は他の値を設定するために使用され、loadScript()は元の値を読
み取るために使用されます。
setParameterValues()の使用例:
setParameterValue(strName, strValue)
writeBqyDom()
ドキュメントは、リポジトリに既存のドキュメントの新規バージョンとして、ま
たは新規ドキュメントとしてインポートする準備のできたディスクに書き込まれ
ます。
writeBqyDom()の使用例:
var filBqy = env.writeBqyDom(domBqy);
100 高度なスクリプトによるドキュメントの更新
パラメータ
説明
domBqy
すべてのドキュメント・ノードが含まれる DOM
Reporting and Analysis リポジトリ: リポジトリ・アー
チファクト
リポジトリ・アーチファクトによって、ドキュメントを保持するコンテナ機能に
アクセスできます。EPM Workspace で実行されるスクリプトは Oracle Hyperion
Reporting and Analysis のリポジトリを使用します。ここには、ドキュメント、接続
情報、およびフォルダ階層が保管されています。スクリプトをデスクトップで実
行する場合は、機能は限定されますが、ファイル・システムがリポジトリ・アー
チファクトの機能を果たします。
リポジトリ・アーチファクトは、env.getRepository()を呼び出すことで作成さ
れ、オブジェクトにはこれらのメソッドがあります。
addVersion メソッド
新規バージョンのファイルがリポジトリに追加されます。このメソッドは EPM
Workspace 内でのみ適用されます。スクリプトによってセクションの番号および
名前が変更されない場合、Interactive Reporting データベース接続(oce)情報は不要
です。
例 1 addVersion の使用:
var intV = objRep.addVersion(strUuid, objFile, strDesc);
パラメータ
説明
strUuid
ドキュメント UUID
objFile
新しいコンテンツを含むファイルで、env.writeBqyDom()を呼び出すことで作成さ
れます。
strDesc
リポジトリを追加するための説明
例 2 addVersion の使用:
var intV = objRep.addVersion(strUuid, objFile, strDesc, objOce);
セクションと関連付けられた Interactive Reporting データベース接続ファイルで変
更が必要な場合、またはクエリーかデータ・モデルを変更した場合は、このメソッ
ド・フォーマットを使用します。これはデータ・モデル更新で使用されます。
Hyperion Workspace 管理者ガイドの Impact Management Services の使用に関する説
明を参照してください。
パラメー
タ
説明
strUuid
ドキュメント UUID
スクリプトの一覧 101
パラメー
タ
説明
objFile
新しいコンテンツを含むファイルで、env.writeBqyDom()メソッドを呼び出すこと
で作成されます。
strDesc
リポジトリを追加するための説明
objOce
Interactive Reporting ドキュメントのセクション情報を表すオブジェクト。これに
は、各クエリーおよびデータ・モデルに関連付けられた Interactive Reporting デー
タベース接続情報が含まれます。
例 3 addVersion の使用
var intV = objRep.addVersion(strUuid, objFile, strDesc, objOceOld,
objOceNew);
このフォームのメソッドは、更新済ドキュメントが元のドキュメントと同じ(1 対
1 マッピング、それぞれが元のドキュメントと同じ数、元のドキュメントと同じ
名前)クエリーおよびデータ・モデル・セクションを持ち、以前のバージョンの設
定を維持するような特別な状況に合わせて作成されています。
oce の詳細は、objOceOld(リポジトリ内の以前のバージョン)から objOceNew にそ
のままコピーされます。
このフォームのメソッドは以前のバージョンの oce 設定を維持するので、JavaScript
の更新は、このフォームのメソッドを使用します。Hyperion Workspace 管理者ガ
イドの Impact Management Services の使用に関する説明を参照してください。
パラメータ
説明
strUuid
ドキュメント UUID
objFile
新しいコンテンツを含むファイルで、env.writeBqyDom()メソッドを呼び出すこと
で作成されます。
strDesc
リポジトリを追加するための説明
objOceOld
Interactive Reporting ドキュメントの旧バージョンのセクション情報を表すオブ
ジェクト。これには、各クエリーおよびデータ・モデルに関連付けられた
Interactive Reporting データベース接続情報が含まれます。
convertBqyFileToUnicode メソッド
Interactive Reporting ドキュメント・ファイルは、コード・ページを基本にした
フォーマットから Unicode フォーマットに変換されます。フォーマットを変換す
るために、デスクトップは COM インタフェースを使用して Interactive Reporting
Studio を呼び出します。この操作には、brioqry.exe および brioqry.tlb の両方
が必要です。
Interactive Reporting ドキュメントを最新のフォーマットに変換する場合は、この
メソッドを使用します。すべてのイメージが Unicode に変換されるとともに、
Resource Manager フォーマットに更新されます。
convertBqyFileToUnicode の使用例:
102 高度なスクリプトによるドキュメントの更新
var objFile = objRep.convertBqyFileToUnicode(objFileOld, intCodePage)
パラメータ
説明
objFileOld
以前のフォーマットの元のファイル
inCodePage
元のファイルの DOM からアクセスできる元のドキュメントのコード・ページ。
すなわち、属性 StdCodePage2。
findFiles メソッド
ファイルのリストが取得されます。これは、UUID で表されるフォルダ内に含ま
れます。ファイルの UUID は配列で戻されます。呼出しは、フォルダ内のファイ
ルか、そのフォルダの下にあるフォルダの階層内のすべてのファイルを戻すこと
ができます。
例 1 findFiles の使用:
var clcFiles = objRep.findFiles(uuiFolder, uuiMimeType, blnRecursive)
パラメータ
説明
uuiFolder
フォルダの UUID。デスクトップでは、これはパス名です。
uuiMimeType
検索するファイル・タイプ。たとえば、Interactive Reporting ドキュメント。
blnRecusrive
FALSE: フォルダのみを調べます。TRUE: すべてのサブフォルダを展開します。
例 2 findFiles の使用:
var repLocal = env.getRepository()
var uuiFolder = env.getParameterValue("document")
if (repLocal.isFolder(uuiFolder){
var uuiMime = env.getMimeTypeUuid("application/x-brioquery")
var clsUuid = objRep.findFiles(uuiFolder, uuiMime, true)
var a = 1
for (var it = clcUuid.iterator(); it.hasNext(); a++) {
env.log("clcUuid[" + a + "] = " + it.next());
}
env.expandRequestAction("document", clsUuid)
return
}
folderExists メソッド
指定したフォルダ・パスがリポジトリ内に存在する場合は TRUE を戻します。
このメソッドは、EPM Workspace でのみ使用可能で、デスクトップには適用され
ません。
folderExists の使用例:
var blnExists = objRep.folderExists(strPath)
スクリプトの一覧 103
パラメータ
説明
strPath
フォルダを表すパス。EPM Workspace では、フォルダは UUID で表されます。デ
スクトップでは、UUID はパスと同じです。
getCurrentFolder メソッド
現在の作業フォルダを表す文字列を戻します。
getCurrentFolder の使用例:
var uuiPath = objRep.getCurrentFolder()
パラメータ
説明
uuiPath
フォルダ・パスの UUID で、これは現在の作業フォルダです。
getFileUuid メソッド
指定されたファイルの絶対パスに対応する UUID が戻されます。デスクトップで
は、完全パスと UUID は同一ですが、デスクトップ用または EPM Workspace 用の
スクリプトを作成する場合は、UUID 値とパスを異なるものとして処理し、パス
を UUID 値に変換するために、特別な呼出しを行います。
このメソッドは、EPM Workspace でのみ使用可能で、デスクトップには適用され
ません。
getFileUuid の使用例:
var uuiFile = objRep.getFileUuid(strPath)
パラメータ
説明
strPath
ファイルを表す完全パス。
getFolderContentsFor メソッド
指定されたパスで表されるフォルダ内のファイルの名前のリストが取得されます。
呼出しは、そのフォルダ内の名前、またはそのフォルダの下のフォルダの階層全
体内の名前を戻します。
このメソッドは、EPM Workspace でのみ使用可能で、デスクトップには適用され
ません。
getFolderContentsFor の使用例:
var arrNames = objRep.getFolderContentsFor(strPath, blnRecursive)
パラメータ
説明
strPath
フォルダを表す完全パス
blnRecursive
FALSE: フォルダのみを調べます。TRUE: すべてのサブフォルダを展開します。
104 高度なスクリプトによるドキュメントの更新
getFolderUuid メソッド
指定されたフォルダの絶対パスに対応する UUID が戻されます。デスクトップで
は、完全パスと UUID は同一ですが、デスクトップ用または EPM Workspace 用の
スクリプトを作成する場合は、UUID 値とパスを異なるものとして処理し、パス
を UUID 値に変換するために、特別な呼出しを行います。
getFolderUuid の使用例:
var uuiFolder = repLocal.getFolderUuid(strPath)
パラメータ
説明
strPath
ファイルを表す完全パス。
getNameForUuid メソッド
UUID によって参照されるファイル・パスのリーフ・ノードを表す名前が取得さ
れます。
このメソッドは、EPM Workspace でのみ使用可能で、デスクトップには適用され
ません。
getNameForUuid の使用例:
var strName = objRep.getNameForUuid(uuiPath)
パラメータ
説明
uuiPath
ファイルの UUID。この名前は必須です。
getPathForUuid メソッド
UUID によって参照されるファイルのパスが取得されます。
このメソッドは、EPM Workspace でのみ使用可能で、デスクトップには適用され
ません。
getPathForUuid の使用例:
var strPath = objRep.getPathForUuid (uuiPath)
パラメータ
説明
uuiPath
ファイルの UUID。このパスは必須です。
getSubfolderPathsFor メソッド
フォルダのサブフォルダのリストが取得されます。
このメソッドは、EPM Workspace でのみ使用可能で、デスクトップには適用され
ません。
getSubfolderPathsFor の使用例:
var arrPaths = objRep.getSubfolderPathsFor(uuiPath, blnRecusrive)
スクリプトの一覧 105
パラメータ
説明
uuiPath
ファイルの UUID。この名前は必須です。
blnRecursive
FALSE: フォルダのみを調べます。TRUE: すべてのサブフォルダを展開します。
isFile メソッド
UUID がファイルの場合、TRUE を戻します。
isFile の使用例:
var bln = objRep.isFile(uuiPath)
パラメータ
説明
uuiPath
テストされるオブジェクト・タイプの UUID
isFolder メソッド
UUID がフォルダの場合、TRUE を戻します。
isFolder の使用例:
var bln = objRep.isFolder(uuiPath)
パラメータ
説明
uuiPath
テストされるオブジェクト・タイプの UUID
makeFolder メソッド
1 つ以上のフォルダが作成されます。
オプション: フォルダの階層が存在しない場合は作成します。
このメソッドは、EPM Workspace でのみ使用可能で、デスクトップには適用され
ません。
makeFolder の使用例:
objRep.makeFolder(strPath, strDesc, blnRecursive)
パラメータ
説明
strPath
作成するフォルダを説明するパス
strDesc
オプション: パスのリポジトリに追加する説明
blnRecursive
オプション: これが TRUE に設定され、完全親サブフォルダがパス内の最下位
ノードの上に存在しない場合、最初のノード欠落でフォルダ作成が開始され、
パス内のすべてのフォルダが作成されるまで続きます。
106 高度なスクリプトによるドキュメントの更新
publishBqyFile メソッド
Interactive Reporting ドキュメントは、リポジトリに発行またはインポートされ、
Interactive Reporting データベース接続マッピングを構成し、EPM Workspace サー
バーがセクションをどのように処理するかを指定します。この関数は、Interactive
Reporting ドキュメントが EPM Workspace にインポートされるときに発行ウィザー
ドでも行われる作業を実行します。
publishBqyFile の実行例:
var uuid = objRep.publishBqyFile(objF, strN, strD, uuiF, blnD, strH,
oceP)
パラ
メータ
説明
objF
発行される Interactive Reporting ドキュメント
strN
発行されるファイル名
strD
発行されるファイルに関連付けられた説明
uuiF
これが発行されるフォルダの UUID
blnD
TRUE は、Interactive Reporting ドキュメントがダッシュボード・セクションを含むこ
とを示します。
stwH
Interactive Reporting ドキュメントがシン・クライアントでアクティブにされたと
き、および
oceP
(ホーム)がクリックされたときに表示されるセクション名
Interactive Reporting ドキュメントのセクション情報を表すオブジェクト。これに
は、各クエリーおよびデータ・モデルに関連付けられた Interactive Reporting データ
ベース接続情報が含まれます。
例は、Interactive Reporting ドキュメントのコピーの発行について説明しています。
たとえば、選択したファイルの名前が販売分析の場合、ユーザーの指定した名前
で、または名前が指定されない場合は、販売分析のコピーという名前でソース・
ドキュメントと同じフォルダに発行されます。Interactive Reporting データベース
接続マッピングもソース・ファイルから新規ファイルにコピーされるので、ソー
ス・ファイルと同じ方法で処理できます。スクリプトは、デスクトップおよび
EPM Workspace で機能します。
例: Interactive Reporting ドキュメントのコピーの発行
/**
*
* @param document Select the source to copy.
* @inputType file_picker_single_value
*
* @param target Provide a name to call the copied file
*
*/
var uuiSrc = env.getParameterValue("document");
var repLocal = env.getRepository();
var filSrc = repLocal.retrieveFile(uuiSrc);
スクリプトの一覧 107
var vrsSrc = repLocal.retrieveVersionedDocument(uuiSrc);
var strSrc = vrsSrc.getName();
var strTrg = env.getParameterValue("target");
if (strTrg == null){
strTrg = "Copy of " + strSrc;
}
var uuiFolder = vrsSrc.getParentIdentity();
var domSrc = env.getDocument(filSrc, bqReadWriteDom, null);
var oceMapOld = vrsSrc.getSectionOCEMapping();
var oceMapNew = domSrc.sectionOCEPairInfos(uuiFolder);
for (var a = 0; a < oceMapOld.length; a++) {
if (oceMapOld[a].isOCEEnabled()) {
oceMapNew[a].setOCEDocument(oceMapOld[a].getOCEDocument());
oceMapNew[a].setOCEEnabled(true);
}
}
var strDesc = "this file was copied by a Rhino script from " + strSrc
var blnD =domSrc.isDashboard()
var strH = domSrc.getInitialTCSection()
repLocal.publish(filSrc, strTrg, strDesc, uuiFolder, blnD , strH,
oceMapNew);
retrieveFile メソッド
最新バージョンまたは特定バージョンのファイルがリポジトリから取得されます。
retrieveFile の使用例:
var filBqy = objRep.retrieveFile(uuiBqy, intVersion)
パラメータ
説明
uuiBqy
指定したファイルの UUID。デスクトップでは、UUID はファイルのフル・パス
と同一です。
intVersion
オプション: 省略すると、最新バージョンが取得されます。
retrieveVersionedDocument メソッド
UUID によって識別されるバージョン化ドキュメント・オブジェクトの最新バー
ジョンが取得されます。このメソッドは、ドキュメントの説明、キーワード、発
行済ファイルの表示名、Interactive Reporting データベース接続ファイルにアクセ
ス権を与え、データベース接続のドキュメントへのマップ方法を指定します。
注:
retrieveVersionedDocument は、デスクトップでは使用しません。
retrieveVersionedDocument の使用例:
var vrsBqy = objRep.retrieveVersionedDocument(uuiBqy)
108 高度なスクリプトによるドキュメントの更新
パラメータ
説明
uuiBqy
指定したドキュメントの UUID
ノード・オブジェクト
Interactive Reporting ドキュメントは、階層に配置されたノード・セットで構成さ
れます。ほとんどのノードには共通点があり、多くの Interactive Reporting ドキュ
メント・ノード・タイプに適用されるメソッドとプロパティを共有します。
addChild()
既存のノードを別のノードの子として追加します。
ヒント:
ノードを 1 つの場所から別の場所にコピーするときに便利です。
addChild()の使用例:
nodTrg = nodMyNode.addChild(nodSrc)
パラメータ
説明
nodSrc
複製されるソース・ノードを参照します。
addProperty()
既存のプロパティが別のプロパティに追加されます。
ヒント:
プロパティを 1 つのノードから別のノードにコピーするときに便利です。
addProperty()の使用例:
prpRef = nodMyNode.addProperty(prpSrc)
パラメータ
説明
prpSrc
複製されるソース・プロパティを参照します。
cloneNode()
ノードとその下位ノード全体が複製されます。
cloneNode()の使用例:
var bsndNew = nodMyNode.bsndSrc.cloneNode()
スクリプトの一覧 109
findNodeByPattern()
指定したパターンに一致する単一ノードがあれば、それを取得します。
注:
ノードが見つからない場合は、例外が発生します。
findNodeByPattern()の使用例:
nodFound = nodMyNode.findNodeByPattern(strPattern)
パラメータ
説明
strPattern
検索パターン
findNodesByPattern()
指定したパターンに一致するノードが取得されます。
注:
見つからない場合も例外は発生しません。
findNodesByPattern()の使用例:
arrNodes = nodMyNode.findNodesByPattern(strPattern)
パラメータ
説明
strPattern
検索パターン
getChildren()
このノードの直下にあるノードの配列を戻します。
getChildren()の使用例:
arrNodes = nodMyNode.getChildren()
getNodeType()
ノードのタイプ(文字列など)を戻します。
getNodeType()の使用例:
strType = nodMyNode.getNodeType()
getPathWithContext()
パスを、ノードを正確に識別するための名前属性値と一緒に、ノード名のスラッ
シュ区切りリストとして戻します。
110 高度なスクリプトによるドキュメントの更新
getPathWithContext()の使用例:
strPath = nodMyNode.getPathWithContext()
getProperty()
指定したプロパティを表すオブジェクトが取得されます。
ヒント:
配列から値を取得するときに便利です。
getProperty()の使用例:
prpResult = nodMyNode.getProperty(strName)
arrValues = prpResult.getValues()
プロパティ・オブジェクト
説明
prpResult
読取りまたは変更が必要な値の配列。
パラメータ
説明
strName
プロパティ名
getProperty()は、次の例のように、getValues()呼出しが伴うことがあります:
arrScripts = nodDocScripts.getProperty(“EScript”).getValues()
var startUp = arrScripts[0]
var shutDown = arrScripts[1]
var preProc = arrScripts[2]
var postProc = arrScripts[3]
EScript プロパティを使用して、次の例のように、単純な配列に対応する複数値プ
ロパティにアクセスします:
var someScript = docAnnotation.EScript[i]
9.3.1 より前のリリースを使用している場合は、次のコードを使用します。
var eScripts = docAnnotation.EScript.getValues()
var someScript = eScripts[i]
hasProperty()
指定されたプロパティが存在する場合は TRUE を戻し、それ以外の場合は FALSE
を戻します。
hasProperty()の使用例:
blnResult = nodMyNode.hasProperty(strName)
スクリプトの一覧 111
パラメータ
説明
strName
プロパティ名
プロパティが FALSE またはゼロの場合、これは FALSE を戻すので、プロパティ名
に対してブール・テストのかわりに hasProperty()を使用します。
// this is not safe because if Offset is 0 it will return false
if (node.Offset){
// do whatever is needed if the node has an Offset property
}
// this is safe
if (node.hasProperty(“Offset”){
// do whatever is needed if the node has an Offset property
}
removeChild()
指定された子ノードが削除されます。
removeChild()の使用例:
nodMyNode.removeChild(nodChild)
パラメータ
説明
nodChild
削除する子ノード
removeProperties()
名前の配列で指定されたプロパティが削除されます。
removeProperties()の使用例:
nodMyNode.removeProperties(arrNames)
パラメータ
説明
arrNames
削除するプロパティ名の配列
注:
removeProperties()は、Interactive Reporting ドキュメントのフォーマットを、以前
のフォーマットまたは Interactive Reporting Studio リリースにより生成されたフォー
マットにダウングレードする際に役立ちます。ただし、Oracle Hyperion(R)
Interactive Reporting Studio が理解できないプロパティやノードはドキュメントの
ロード時にすべて無視され、ドキュメントを保存すると失われるため、この操作
は必要ありません。
replaceChildNode()
古い子ノードは新規ノードで置換されます。
112 高度なスクリプトによるドキュメントの更新
replaceChildNode()の使用例:
nodRef = nodMyNode.replaceChildNode(nodChild, nodNew)
パラメータ
説明
nodChild
子として存在するノード
nodNew
子を置換する新規ノード
BqyDocument オブジェクト
BQY Document Object Model(DOM)は、Interactive Reporting ドキュメントの機能に
対するアクセス権を与えます。このオブジェクトを使用して、ドキュメントの内
部プロパティを変更します。
例: ドキュメントの DOM を取得します。
var
var
var
var
uuiBqySrc = env.getParameterValue("document");
objRep = env.getRepository();
bqySrc = objRep.retrieveFile(uuiBqySrc);
domSrc = env.getBqyDocument(bqySrc, bqReadWriteDom, null);
注:
DOM は BQYNode オブジェクトのコレクションで、階層構造またはツリー構造に
編成されています。
close()
ドキュメントを閉じます。
close()の使用例:
domSrc.close()
注:
1 つのスクリプトが、リソースの保存時に多数のドキュメントを処理する場合、
これを使用することが重要です。
compressBqy()
Interactive Reporting ドキュメントが指定のファイルに圧縮されます。
注:
ファイルが圧縮されると TRUE、ファイルを圧縮する必要がなければ FALSE を戻
します。
compressBqy()の使用例:
スクリプトの一覧 113
var bln = domSrc.compressBqy(strNameOld, strNameNew, intInsHdrLen)
パラメータ
説明
strNameOld
圧縮する Interactive Reporting ドキュメント名
strNameNew
圧縮後の Interactive Reporting ドキュメント名。strNameOld と同一の場合、古い非
圧縮ファイルは削除されます。
intInsHdrLen
メイン・ヘッダーまで到達するためにスキップする必要がある Oracle Hyperion(R)
Interactive Reporting Web Client (Insight)ヘッダーのバイト数
copy()
指定のセクションにコピーが作成され、そのコピーはセクション・ノード
(Rpt.DocComp)として DOM に追加されます。
copy()の使用例:
var rdcTarget domSrc.copy(rdcSource)
パラメータ
説明
rcdSource
コピーするセクション、Rpt.DocComp オブジェクト
getInitialTCSection()
シン・クライアントに発行する Interactive Reporting ドキュメントのホーム・セク
ションを識別する文字列が戻されます。
getInitialTCSection()の使用例:
strName = domSrc.getInitialTCSection()
isBQYProcessable()
Interactive Reporting ドキュメントが処理するセクションを少なくとも 1 つは含む
かどうかを判別します。
isBQYProcessable()の使用例:
blnResult = domSrc.isBQYProcessable()
isCompressed()
DOM の派生元のドキュメントが圧縮されるかどうかを判別します。
注:
スクリプトの要件が Interactive Reporting ドキュメントの圧縮ステータスを変更す
ることである場合、isCompressed()は便利です。
isCompressed()の使用例:
114 高度なスクリプトによるドキュメントの更新
blnResult = domSrc.isCompressed()
isDashboard()
Interactive Reporting ドキュメントが、少なくとも 1 つのダッシュボード・セクショ
ンを含むかどうかを判別します。
isDashboard()の使用例:
blnResult = domSrc.isDashboard()
sectionOCEPairInfos()
Interactive Reporting データベース接続マッピングの配列が DOM に指定されます。
注:
これらの配列は、ドキュメントに関連付けられた発行済 Interactive Reporting デー
タベース接続ファイルではありませんが、マッピングの配列を Interactive Reporting
データベース接続を発行した各クエリーに関連付け、ドキュメントが EPM
Workspace で定義されたデータ・ソースにアクセスできるようにできます。
sectionOCEPairInfos()の使用例:
oceMap = domSrc.sectionOCEPairInfos(uuiParentFolder)
パラメータ
説明
uuiParentFolder
ドキュメントが発行されるフォルダ UUID
例 1: Interactive Reporting データベース接続マッピングを 1 つの DOM から別の
DOM にコピーし、その DOM を新規発行または新規バージョンとして再発行しま
す。
function copyBqy(in_repSrc, in_bqySrc, in_bqyTrg){
var uuiFold = in_repTrg.getFolderUuid(in_bqyTrg.strFolder)
var oceMapO = in_bqySrc.vrs.getSectionOCEMapping();
var oceMapN = in_bqySrc.dom.sectionOCEPairInfos(uuiFold);
for (var a = 0; a < oceMapO.length; a++) {
if (oceMapO[a].isOCEEnabled()) {
oceMapN[a].setOCEDocument(oceMapO[a].getOCEDocument());
oceMapN[a].setOCEEnabled(true);
}
}
var strD = "created by copyBqy"
var blnD =in_bqyTrg.dom.isDashboard()
var strH = in_bqyTrg.dom.getInitialTCSection()
var uuiFound = hysl_getUuid(uuiFolder, in_bqyTrg.strName)
var filBqy = in_bqyTrg.file
var strN = in_bqyTrg.strName
if (uuiFound != null){
in_repSrc.addVersion(in_uuiToAdd, in_filBqy, in_strDesc)
}else{
スクリプトの一覧 115
in_repSrc.publishBqy(filBqy, strN, strD, uuiFold, blnD , strH,
oceMapN);
}
}
例 2: 新規ドキュメントを発行し、特定の Interactive Reporting データベース接続を
新規ドキュメントのクエリーに割り当てます。
var
var
var
for
uuiFold = rep.getFolderUuid("/sales/monthly")
oceMap = bqySrc.dom.sectionOCEPairInfos(uuiFold);
uuiOCE = rep.getFileUuid("/OCE/salesInfo.oce")
(var a = 0; a < oceMap.length; a++) {
if (oceMap[a].isOCEEnabled()){
oceMap[a].setOCEDocument(uuiOCE);
}
}
var strD = "my description"
var blnD =bqySrc.dom.isDashboard()
var strH = bqySrc.dom.getInitialTCSection()
var filBqy = bqySrc.file
var strN = bqySrc.strName
in_repSrc.publishBqy(filBqy, strN, strD, uuiFold, blnD , strH, oceMap);
メソッドおよびプロパティの一覧
このトピックではメソッドとプロパティの一覧表を示します。
env メソッドの一覧
メソッド
説明
createTempFile()
スクリプトが完了すると消去される一時ファイルを作成します。
expandRequestAction()
各値のセットに新規サブタスクを追加します。
getBqyDocument()
Interactive Reporting ドキュメントのコンテンツから DOM を構築します。
getDescription()
スクリプトに関連付けられた説明を取得します。
getFileLines()
ファイルの行を読み取り、各行に 1 つの文字列を含む配列を構築しま
す。
getLogLevel()
log()を呼び出すときに使用されるデフォルトのログ・レベルを取得し
ます。
getMimeTypeUuid()
指定した MIME タイプの UUID を取得します。
getNullUuid()
null の UUID 定数を取得します
getParameterValue()
指定したスクリプト・パラメータの値を取得します。
getParameterValues()
複数値スクリプト・パラメータに割り当てられたすべての値を取得し
ます。
116 高度なスクリプトによるドキュメントの更新
メソッド
説明
getRepository()
リポジトリのコンテンツにアクセスするために使用できるオブジェク
トを取得します。
isDesktopMode()
スクリプトがデスクトップで実行されるかどうかを判別します。
isServerMode()
スクリプトが EPM Workspace で実行されるかどうかを判別します。
loadScript()
別のスクリプトのコンテンツをこのスクリプト環境にロードします。
log()
現在のデフォルト・ロギング・レベルのメッセージを転記します。
logAlways()
常にログに書き込まれるメッセージを転記します。
logClassName()
指定した Java クラス名のオブジェクトを含むメッセージを転記しま
す。
logDebug()
デバッグ用のメッセージを転記します。
logError()
検出されたエラー条件と関連付けられたメッセージを転記します。
logFatal()
検出されたエラー条件と関連付けられたメッセージを転記します。
logInfo()
情報メッセージを転記します。
logWarn()
警告メッセージを転記します。
md5Hash()
指定された文字列から MD5 ハッシュを生成します。
setLogLevel()
ロギングを実行するデフォルト・レベルを設定します。
setProgress()
スクリプトの進行状況を更新します。
updateDescription()
このスクリプト呼出しに新しい説明を設定します。
writeBqyDom()
指定した DOM をファイルに書き出します。
リポジトリ・メソッドの一覧
メソッド
説明
addVersion()
ドキュメントのバージョンを追加します。
convertBqyFileToUnicode()
指定したドキュメントをコード・ページから Unicode に変換しま
す。
findFiles()
フォルダ内のすべてのファイルを検索します。
getFileUuid()
指定したパスを持つファイルの UUID を取得します。
getFolderUuid()
指定したパスを持つフォルダの UUID を取得します。
isFile()
指定した UUID がファイルを表すかどうかを判別します。
isFolder()
指定した UUID がフォルダを表すかどうかを判別します。
スクリプトの一覧 117
メソッド
説明
publishBqyFile()
指定したコンテンツと一緒に、ファイルをリポジトリにインポー
トします。
remapOCEs()
指定したドキュメントの OCE を指定のセットに再マップします。
retrieveFile()
指定した UUID を持つドキュメントを一時ファイルとして取得し
ます。
retrieveVersionedDocument()
指定した UUID に関連付けられたバージョン化ドキュメントを取
得します。
EPM Workspace 固有のリポジトリ・メソッド
メソッド
説明
changeToFolder()
EPM Workspace 内の論理位置を指定されたフォルダ・パスに変更しま
す。
folderExists()
指定したパスを持つフォルダが EPM Workspace 内に存在するかどうかを
判別します
getCurrentFolder()
このスクリプトの EPM Workspace 内での場所である現在のフォルダへの
パスを取得します。
getFolderContentsFor()
フォルダ内のすべてのファイルの UUID を取得します。
getPathForUuid()
指定された UUID により表される Oracle Enterprise Performance Management
Workspace, Fusion Edition のパスを取得します。
getSubfolderPathsFor()
フォルダ内のすべてのサブフォルダの UUID を取得します。
makeFolder()
指定した名前のサブフォルダを作成します。
ノード・メソッドの一覧
メソッド
説明
addChild()
このノードの下に子を追加します。
addProperty()
このノードに指定したプロパティを追加します。
dump()
ノードとノードの子のコンテンツを標準出力にダンプします。
findNodeByPattern()
指定したパターンに一致するノードを 1 つ見つけます。
findNodesByPattern()
指定したパターンに一致するすべてのノードを見つけます。
getChildren()
このノードのすべての子のリストを取得します。
getChildrenOfType()
指定したノード・タイプを持つ、このノードのすべての子のリストを取
得します。
getContextualName()
このノードの論理名を取得します。
118 高度なスクリプトによるドキュメントの更新
メソッド
説明
getNodeType()
このノードのタイプを取得します。
getPathWithContext()
ドキュメント内でのこのノードの場所を表す文字列を、パスを特定する
コンテキスト情報も含めて取得します。
getProperties()
このノードのプロパティのリストを取得します。
getProperty()
指定した名前を持つこのノードのプロパティを取得します。
getRoot()
このノードが保管されている DOM のルート・ノードを取得します。
hasProperty()
このノードが指定した名前のプロパティを持つかどうかを判別します。
newNode()
ノードを構築します。
removeChild()
指定した子ノードを削除します。
removeProperties()
指定したプロパティのリストをこのノードから削除します。
replaceChildNode()
指定した子ノードを指定されたノードに置換します。
setChildren()
このノードの子のリストを指定されたリストに置換します。
ドキュメントの一覧
env.getBqyDocument()を使用して取得したドキュメントには、次のプロパティが含
まれます
プロパティ
説明
DesignPassword
デザイン・モードを開始するために必要なパスワード
DocumentPassword
ドキュメントを開くために必要なパスワード
EncryptedScripts
ドキュメント内のスクリプトが暗号化されているかどうかを判別します。
EventScripts
ドキュメント・レベルのスクリプト
Name
ドキュメント名
Path
ドキュメントのパス
Root_MyDocument
Root.MyDocument ノード
Root_MyResources
Root.MyResources ノード(ドキュメントにリソース・マネージャのデータが
含まれていなければ NULL)
Sections
ドキュメントに含まれるすべてのセクション
Type
ランタイム・クラス名を取得します。
Unicode
ドキュメント文字列コンテンツが Unicode かコード・ページ・フォーマッ
トかを判別します。
同じドキュメントに、次のメソッドも含まれます。
スクリプトの一覧 119
メソッド
説明
copy()
指定されたセクションをドキュメントにコピーし、重複を避け
るために必要に応じて名前を変更します。
getChartSections()
すべてのチャート・セクションのリストを取得します。
getChildrenWithRuntimeClass()
指定した RuntimeClassName を持つすべての子ノードを取得しま
す。
getCodePage()
ドキュメントによって使用されるコード・ページを取得します。
getDashboardSections()
すべてのダッシュボード・セクションのリストを取得します。
getInitialTCSection()
ホーム・セクション識別子を取得します。
getPivotSections()
すべてのピボット・セクションのリストを取得します。
getQuerySections()
すべてのクエリー・セクションのリストを取得します。
getResultsSections()
すべての結果セクションのリストを取得します。
getSource()
このドキュメントのロード元の Interactive Reporting ドキュメント
のパスを取得します。
getTableSections()
すべてのテーブル・セクションのリストを取得します。
isBQYPasswordProtected()
ドキュメントにパスワードがあるかどうかを判別します。
isBQYProcessable()
ドキュメントに少なくとも 1 つの処理可能セクションがあるか
どうかを判別します。
load()
ディスク上の Interactive Reporting ドキュメントからドキュメント
をロードします。
optimizeImages()
すべてのリソース・マネージャ・イメージを最適化して、重複
するものを削除します。
save()
ドキュメントを、ディスク上の Oracle Hyperion(R) Interactive Reporting
ドキュメントをに保存します。
sectionOCEPairInfos()
すべてのドキュメント OCE マッピングのリストを取得します。
setCodePage()
ドキュメント・コード・ページを設定します。
setEndianness()
ドキュメントを big-endian で保管するか、small-endian で保管する
かを設定します。
setHeader()
ドキュメントのヘッダーを設定します。
setSource()
このドキュメントのロード元のソースのパスを設定します。
120 高度なスクリプトによるドキュメントの更新
用語集
Cookie Web サイトによってコンピュータ上に配置さ
MDX(多次元式)(MDX(multidimensional expression)) リレー
れたデータのセグメントです。
ショナル・データベースで SQL を使用する際に、
Extract-Transform-Load(ETL) データを抽出してアプリ
ケーションに移行するための、データ・ソース固有
のプログラムです。
Install_Home Oracle Hyperion アプリケーションがイ
ンストールされるディレクトリを示す変数です。同
じコンピュータに複数のアプリケーションがインス
トールされている場合は、Oracle Hyperion アプリ
ケーションの 1 つのインスタンスを指します。
Interactive Reporting 接続ファイル(.oce)(Interactive Reporting
connection file(.oce)) データベース API (ODBC、
SQL*Net、など)、データベース・ソフトウェア、
データベース・サーバーのネットワーク・アドレ
ス、データベース・ユーザー名などのデータベース
接続情報を含むファイルです。管理者は、Interactive
Reporting 接続ファイル(.oce)を作成して発行しま
す。
Java データベース接続(JDBC)(Java Database
Connectivity(JDBC)) Java クライアントとリレーショナ
OLAP 準拠のデータベース向けに OLE DB に命令す
る言語です。「OLAPQuery」セクションのアウトラ
イナを構築するとき、Interactive Reporting クライア
ントは要求を MDX の命令に変換します。ユーザー
がクエリーを処理するとき、MDX がデータベース・
サーバーに送信され、サーバーはクエリーの結果と
なるレコードを戻します。SQL スプレッドシート
(SQL spreadsheet)も参照してください。
MIME タイプ(MIME Type) 多目的インターネットメール
拡張仕様(Multipurpose Internet Mail Extension)です。
アイテムのデータ・フォーマットを示す属性によ
り、システムはオブジェクトを開くアプリケーショ
ンを判断します。ファイルの MIME タイプはファ
イル拡張子または HTTP ヘッダーにより決定されま
す。プラグインはブラウザに対して、サポートされ
る MIME タイプ、および各 MIME タイプに対応す
るファイル拡張子を通知します。
NULL 値(null value) データのない値です。NULL 値は
ゼロに等しくありません。
ル・データベースにより使用されるクライアントと
サーバー間の通信プロトコルです。JDBC インタ
Production Reporting SQR Production ReportingSQR
フェースにより、SQL データベースのアクセスのた
Production Reporting。
めの呼出しレベル API が提供されます。
RSC サービス(RSC services) リモート・サービス・コン
JSP Java Server Page です。
フィグレータで構成されるサービスです。リポジト
リ・サービス、サービス・ブローカ、名前サービ
ス、イベント・サービスおよびジョブ・サービスを
含みます。
LSC サービス(LSC services) ローカル・サービス・コン
フィグレータで構成されたサービス。グローバル・
サービス・マネージャ(GSM)、ローカル・サービ
ス・マネージャ(LSM)、セッション・マネージャ、
認証サービス、認可サービス、パブリッシャ・サー
ビス、場合によってはデータ・アクセス・サービス
(DAS)と Interactive Reporting サービスが含まれま
す。
SPF ファイル(SPF files) SQR Production Reporting サー
バーで作成される、プリンタに依存しないファイル
です。フォント、間隔、ヘッダー、フッターなど、
フォーマットされた実際のレポート出力を表しま
す。
SQL スプレッドシート(SQL spreadsheet) SQL クエリーの
結果セットを表示するデータ・オブジェクトです。
用語集 121
SQR Production Reporting データ・アクセス、データ操
アペンダ(appender) 送信先を意味する Log4j の用語で
作および SQR Production Reporting ドキュメント作
す。
成のための専用プログラミング言語です。
暗黙の共有(implied share) メンバーが 1 つ以上の子を
Structured Query Language (SQL) リレーショナル・デー
持ち、集計されている子は 1 つのみである場合、親
タベースに対する手順を処理するために使用される
言語です。
と子が値を共有します。
Web サーバー(Web server) イントラネットまたはイン
はリポジトリ・アイテムです(スクリプト、フォー
アーチファクト(artifact) 個別のアプリケーションまた
ターネットの Web ページや Web アプリケーション
ム、ルール・ファイル、Interactive Reporting ドキュ
をホストするソフトウェアやハードウェアです。
メント、財務レポートなど)。オブジェクトとも呼
ws.conf Windows プラットフォーム用の構成ファイ
ばれます。
ルです。
移行処理(promotion) アプリケーション、アーチファ
クト、またはユーザーを、別の環境またはコン
ピュータに転送するプロセスです。たとえば、テス
ト環境から実稼働環境にコピーします。
wsconf_platform UNIX プラットフォーム用の構成ファ
イルです。
Y 軸スケール(Y axis scale)「調査」セクションに表示さ
れる、チャートの Y 軸上の値の範囲です。たとえ
ば、各チャートについて一意の Y 軸スケールを使
用したり、すべての詳細チャートに同一の Y 軸ス
ケールを使用したり、または列内のすべてのチャー
トに同一の Y 軸スケールを使用可能です。多くの
場合、共通の Y 軸スケールを使用すると、一目で
チャートを比較できるようになります。
イメージ・ブックマーク(image bookmarks) Web ページ
やリポジトリ・アイテムへのグラフィック・リンク
です。
因果関係マップ(cause and effect map) 企業戦略を形成す
る要素の関連およびこれらの要素が組織の戦略目標
を達成するためにどのように連動するかを示しま
す。因果関係マップのタブは、各戦略マップについ
て自動的に作成されます。
Zero Administration サーバー上のプラグインの最新バー
ジョン番号を識別するソフトウェア・ツールです。
アクセス権(access permissions) リソースに対してユー
ザーが実行できる一連の操作です。
円グラフ(pie chart) 1 つのデータ・セットを扇形に分
割された円形で示すグラフです。
折れ線グラフ(line chart) データ・セットを最大 50 個
アクティブ・ユーザー(active user) システムへのアクセ
表示できるチャートです。各データ・セットは線で
示されます。折れ線グラフで絶対値やパーセントを
表す際に、前の線の上に次の線を重ねていく形で表
示することも可能です。
スが許可されているユーザーです。
オンライン分析プロセス(OLAP)(online analytical
アクティブ・ユーザー/ユーザー・グループ(active user/
processing(OLAP)) 複数ユーザーによりクライアントと
user group) ユーザー・プリファレンスにより現在の
サーバー間の計算を行うことができる多次元の環境
です。集計された企業データをリアル・タイムで分
析するユーザーが使用します。OLAP システムの機
アクティブ・サービス(active service) 実行タイプが保留
ではなく開始に設定されているサービスです。
ユーザーとして識別されるユーザーまたはユー
ザー・グループ。デフォルト・ユーザー・プリファ
レンス、動的オプション、アクセスおよびファイル
のアクセス権を決定します。アクティブ・ユーザー
を自分のユーザー名や属するユーザー・グループに
設定できます。
アプリケーション(application) (1)特定のタスクまたは
タスクのグループを実行するために設計されたソフ
トウェア・プログラムです(スプレッドシート・プ
ログラム、データベース管理システムなど)。(2)必
要とされる特定の分析およびレポートに対応するた
めに使用される、次元および次元メンバーの関連す
るセットです。
122 用語集
能には、ドリルダウン、データのピボット、複素数
計算、トレンド分析およびモデリングが含まれま
す。
加重(weight) スコアカードのアイテムに割り当てら
行ヘッダー(row heading) レポート・ページにメンバー
れた値です。スコアボード全体のスコアの計算にお
いて、そのアイテムの相対的な重要性を示します。
スコアカードのすべてのアイテムの加重を総計する
と 100%になります。たとえば、ある製品について
をリストするレポート・ヘッダー。メンバーは、各
行名の下にリストされます。
新機能を開発する重要性を認めるため、開発者のス
コアカード上の New Features Coded のメジャーに
クラスタ棒グラフ(clustered bar charts) カテゴリを横に
並べたグラフです。並列カテゴリの分析に便利で
す。垂直棒グラフでのみ使用されます。
Number of Minor Defect Fixes のメジャーよりも大き
グリッドの POV(grid POV) 行、列またはページの交差
な加重が割り当てられる可能性があります。
に次元を配置せずに、グリッド上で次元メンバーを
指定する手段です。レポート・デザイナはグリッ
ド・レベルで POV の値を設定し、ユーザーの POV
カスタム・カレンダ(custom calendar) システム管理者が
作成したカレンダです。
カスタム・レポート(custom report) 設計レポート・モ
がグリッドに影響を与えないように防ぐことができ
ます。次元に含まれるグリッドの値が 1 つのとき、
ジュールで作成する複雑なレポートです。コンポー
ネントの様々な組合せによって構成されます。
その次元は行、列またはページではなくグリッドの
POV に配置します。
カタログ・ペイン(Catalog pane) アクティブ・セクショ
グループ(group) 複数のユーザーに同様のアクセス権
ンで利用可能な要素のリストを表示します。クエ
リーがアクティブ・セクションの場合はデータベー
ス・テーブルのリストが表示されます。ピボットが
アクティブ・セクションの場合は結果列のリストが
表示されます。ダッシュボードがアクティブ・セク
ションの場合は埋込み可能セクションのリスト、グ
ラフィック・ツール、およびコントロール・ツール
が表示されます。
を割り当てるためのコンテナです。
計算(calculation) データを集約したり、データベース
で計算スクリプトを実行したりするプロセスです。
計算結果アイテム(computed item) データベースや
キューブに物理的に保管される列に対して、仮想の
列を指します。クエリー実行時にデータベースによ
り、または Interactive Reporting Studio の「結果」セ
ジョブの実行をスケジュールするための、時間ベー
スでないイベントです。
クションで計算されます。計算結果アイテムは、関
数、データ項目、およびダイアログ・ボックスで提
供される演算子に基づくデータ計算であり、レポー
トに含まれたり他のデータの計算に再利用されるこ
とがあります。
外部認証(external authentication) Oracle Hyperion アプリ
結合(join) 特定の列または行の共通のコンテンツに
ケーションの外部に保管されたユーザー情報を使用
して、アプリケーションにログオンすること指しま
す。ユーザー情報の保管場所は、通常は MSAD や
基づく 2 つのリレーショナル・データベース・テー
カテゴリ(categories) データの分類(例、月)
外部でトリガーされるイベント(externally triggered events)
NTLM などの企業ディレクトリとなります。
期末(ending period) チャートの日付範囲を調整できる
期間です。たとえば、月の期末の場合、当月末まで
の情報がチャートに表示されます。
キャッシュ(cache) データを一時的に保持する、メモ
リー内のバッファです。
キューブ(cube) 3 つ以上の次元を含むデータのブロッ
クです。Essbase データベースはキューブです。
兄弟(sibling) 他の子メンバーと同じ世代で、すぐ上
に同じ親を持つ子メンバーです。たとえば、メン
バー Florida とメンバー New York はメンバー East
の子であり、互いの兄弟です。
ブルまたはトピックの間のリンクです。通常、異な
るテーブルまたはトピック内の同一または類似する
アイテムの間で結合が起きます。たとえば、
Customer テーブルと Orders テーブルで Customer ID
の値が同一である場合、Customer テーブル内のレ
コードが Orders 内のレコードに結合します。
欠落データ(#MISSING)(missing data(#MISSING)) ラベル付
けされた場所のデータが存在しないか、値が含まれ
ていないか、データが入力されていないかまたは
ロードされていないことを示すマーカーです。たと
えば、勘定科目に当期ではなく過去または将来の期
間のデータが含まれている場合は、欠落データが存
在します。
原点(origin) 2 つの軸の交差です。
子(child) データベース・アウトライン内で親を持つ
メンバーです。
用語集 123
交差(intersection) 多次元データベース内の次元の交差
子孫(descendant) データベース・アウトラインで親の
を表すデータの単位で、ワークシートのセルです。
下に位置するメンバーです。たとえば、年、四半期
および月を含む次元では、メンバー Qtr2 およびメ
構造ビュー(structure view) トピックをコンポーネント
のデータ・アイテムの単純なリストとして表示しま
す。
個人の反復タイム・イベント(personal recurring time events)
再利用可能なタイム・イベントです。作成したユー
ザーのみがアクセスできます。
個人用変数(personal variable) 複雑なメンバー選択の特
定の選択ステートメントです。
個人用ページ(personal pages) リポジトリ情報を参照す
るための個人用ウィンドウです。表示する情報およ
びレイアウトと色を選択します。
コンテンツ(content) リポジトリに保管されたあらゆ
るタイプのファイルの情報です。
再構成 URL(reconfigure URL) ユーザーが Workspace にロ
グオンしているときに、サーブレット構成設定を動
的に再ロードするための URL です。
最上位メンバー(top-level member) 次元のアウトライン
で、階層ツリーの一番上に位置する次元メンバーで
す。次元メンバー間に階層の関係がない場合は、
ソート順で最初のメンバーを指します。階層の関係
がある場合、最上位メンバーの名前が次元名と同一
となるのが一般的です。
再生で開始(Start in Play) Web Analysis ドキュメントを
作成するための最も迅速な方法。再生で開始プロセ
スでは、データベース接続を指定する必要があり、
スプレッドシートのデータ・オブジェクトの使用が
想定されます。この方法では、時間次元とメジャー
次元の最上位の集約メンバーを使用して、スプレッ
ドシートの行軸と列軸が自動的に移入されます。
サブスクライブ(subscribe) アイテムまたはフォルダが
更新されるときに自動的に通知を受け取るように、
アイテムまたはフォルダにフラグを付けることを指
します。
サービス(services) ビジネス・アイテムを取得、変更、
追加、および削除するためのリソースです(権限付
与、認証など)。
サーブレット(servlet) Web サーバーが実行可能なコン
パイルされたコードです。
サーブレット・コンフィグレータ(Servlet Configurator)
ローカルにインストールされているすべてのサーブ
レットを構成するユーティリティです。
124 用語集
ンバー April がメンバー Year の子孫となります。
集約セル(aggregate cell) 複数のセルから構成されるセ
ルです。たとえば、Children(Year)を使用するデー
タ・セルは、Quarter 1、Quarter 2、Quarter 3 および
Quarter 4 のデータを含む 4 つのセルに展開されま
す。
集約制約(aggregate limit) 集約要求ライン・アイテムや
集約メタトピック・アイテムに設定する制約です。
詳細チャート(detail chart) 要約チャートで、詳細な情
報を提供するチャートです。詳細チャートは要約
チャートの下にある「調査」セクションに列で表示
されます。要約チャートに円グラフが表示される場
合、その下の詳細チャートには円の各区分が示され
ます。
シングル・サインオン(single sign-on) 外部のログイン情
報を使用するシングル・ログインにより、複数の
Oracle Hyperion 製品にアクセスできる機能です。
信頼できるパスワード(trusted password) ある製品につい
て認証されたユーザーが、パスワードを再入力せず
に他の製品にもアクセスできるようにするパスワー
ドです。
信頼できるユーザー(trusted user) 認証されたユーザー
です。
軸(axis) (1)測定と分類に使用されるグラフィックを
貫通する直線です。(2)多次元のデータを整理およ
び関連付けるために使用されるレポートのアスペク
トです(フィルタ、ページ、行、列など)。たとえ
ば、Simple Basic でデータ・クエリーを実行する場
合、軸では Qtr1、Qtr2、Qtr3 および Qtr4 の値の列
を定義できます。Market と Product の階層による合
計が行データとして取得されます。
次元(dimension) ビジネス・データを整理して値の取
得や保持のために使用されるデータ・カテゴリで
す。通常、次元には関連するメンバーをグループ化
した階層が含まれます。たとえば、Year 次元は多
くの場合四半期、月などの期間の各単位ごとのメン
バーが含まれます。
「次元」タブ(dimension tab)「ピボット」セクションで、
行と列の間でデータのピボットを実行するためのタ
ブです。
次元テーブル(dimension table) (1)特定のビジネス・プ
スコアカード(scorecard) 目標を達成する上での、従業
ロセスに関する多数の属性を含むテーブルです。
(2)Essbase 統合サービスでは、Essbase の潜在的な次
員、戦略要素、または責任要素の進行状況を示すビ
ジネス・オブジェクトです。スコアカードに追加さ
れた各メジャーおよび子スコアカードについて収集
されるデータに基づいて、進行状況が確認されま
す。
元を定義する 1 つ以上のリレーショナル・テーブル
のための、OLAP モデルのコンテナを指します。
実績の頻度(result frequency) 日付のセットを作成して
結果を収集および表示するために使用されるアルゴ
リズムです。
従業員(employee) 特定のビジネス・オブジェクトに
対して責任を負う(または関与する)ユーザーです。
従業員は組織に勤めている必要はありません(コン
サルタントなど)。従業員は、認証のためにユー
スコアカード・レポート(scorecard report) 従業員、戦略
要素および責任要素に添付されているスコアカード
に関する詳しい情報および実績を提示するレポート
です。
スナップショット(snapshot) 特定の時点の読取り専用
データです。
ザー・アカウントに関連付けられている必要があり
ます。
スポットライタ(Spotlighter) 選択された条件に基づく
重要事業領域(CBA)(critical business area(CBA)) 部門、地
スマート・カット(SmartCut) URL フォームのリポジト
域、工場、コスト・センター、プロフィット・セン
ター、プロジェクト・チームまたはプロセスに編成
された個人またはグループです。責任チームまたは
ビジネス領域とも呼ばれます。
リ・アイテムへのリンクです。
カラー・コーディングを可能にするツールです。
スーパー・サービス(super service) RSC サービスを開始
するために startCommonServices スクリプトによっ
て使用される専用のサービスです。
重要成功要因(CSF)(critical success factor(CSF)) 戦略目標
を達成するために確立および維持する必要のある能
力です。戦略目標または重要プロセスにより所有さ
れ、1 つ以上のアクションに対する親となります。
ズーム(zoom) レポートの倍率を設定します。たとえ
ば、ページ全体またはページ幅に合わせて倍率を変
更したり、100%を基準としてパーセントで倍率を
指定できます。
ジョブ(jobs) 出力生成のために起動できる特殊なプ
ロパティを持つドキュメントです。ジョブには
Interactive Reporting、SQR Production Reporting また
は汎用ドキュメントを含めることができます。
ジョブの出力(job output) ジョブの実行によって生成さ
れたファイルやレポートです。
ジョブ・パラメータ(job parameters) 再利用可能なタイ
ム・イベントです。作成したユーザーのみがアクセ
スできます。
ズームチャート(ZoomChart) チャートを拡大すること
により詳細情報を表示するために使用されます。
チャートに表示されるメトリックについて数値情報
を詳細に表示できます。
セカンダリ・メジャー(secondary measure) プライマリ・
メジャーよりも優先度の低いメジャーです。セカン
ダリ・メジャーには業績レポートがありませんが、
スコアカードで使用したり、次元メジャーのテンプ
レートを作成するために使用できます。
スケジュール(schedule) 実行するジョブと、ジョブを
実行する時刻やジョブ・パラメータ・リストを指定
します。
域とも呼ばれます)の責任、報告、および依存関係
スケール(scale) チャートの Y 軸の値の範囲です。
セキュリティ・エージェント(security agent) Web アクセ
責任マップ(accountability map) 責任チーム(重要事業領
の構造を視覚的、階層的に示します。
スコア(score) ターゲットを達成するレベルです。通
ス管理プロバイダ(Netegrity SiteMinder など)です。
常はターゲットのパーセンテージとして表されま
す。
企業の Web リソースを保護します。
セキュリティ・プラットフォーム(security platform) Oracle
Hyperion アプリケーションで外部認証とシングル・
サインオン機能を使用するためのフレームワークで
す。
用語集 125
セクション・ペイン(Section pane) 現在の Interactive
多次元データベース(multidimensional database) 3 つ以上
Reporting クライアント・ドキュメントで使用可能
の次元によってデータを整理、保存、参照する方法
です。個々の値は次元のセットに対する交差点に
なっています。
なすべてのセクションを示します。
設計レポート(Design Report) コンポーネント・ライブ
ラリを使用してカスタム・レポートを作成するため
の Web Analysis Studioのインタフェースです。
接続ファイル(connection file) Interactive Reporting 接続
ファイル(.oce)(Interactive Reporting connection
file(.oce))を参照してください。
セル(cell) (1)多次元データベースの次元の交差を表
すデータ値です。ワークシート上の行および列の交
差を指します。(2)管理ドメインに属するノードの
論理グループです。
選択リスト(choice list) レポート・デザイナがレポー
トの視点(POV)を定義する際に各次元に指定するメ
ンバーのリストです。定義されたメンバー・リスト
に指定されたメンバーを選択するか、または動的リ
ストの関数に定義された条件に一致するメンバーを
選択するだけで、選択リストを使用する次元の POV
を変更できます。
戦略マップ(Strategy map) 上位レベルのミッションお
よびビジョンのステートメントを、構成要素である
下位レベルの戦略的達成目標に組入れる方法を示し
ます。
戦略目標(SO)(strategic objective(SO)) 測定可能な結果に
よって定義された長期目標です。各戦略目標は、ア
プリケーション内の 1 つのパースペクティブに関連
付けられ、1 つの親(エンティティ)を持ち、重要成
功要因または他の戦略目標の親になります。
相関サブクエリー(correlated subqueries) 親クエリーの各
行で一度評価されるサブクエリーです。サブクエ
リーのトピック・アイテムを親クエリーのトピック
に結合することにより作成されます。
属性(attribute) 次元メンバーの特性です。たとえば、
Employee 次元のメンバーは名前、年齢、住所といっ
た属性を持ち、Product 次元のメンバーはサイズ、
味などの複数の属性を持つ可能性があります。
属性次元(attribute dimension) 次元の一種です。次元の
メンバーの属性や特質に基づいて分析できます。
タイム・イベント(time events) ジョブを実行するトリ
ガーです。
タイム・スケール(time scale) 指定された期間別(毎月、
四半期ごとなど)にメトリックを表示します。
126 用語集
ダッシュボード(dashboard) 業務の要約を対話的に示す
メトリックとインディケータの集まりです。ダッ
シュボードにより分析アプリケーションを構築して
配置できます。
チャート(chart) スプレッドシート・データをグラフィ
カルに表したものです。視覚的な表示により、分
析、カラー・コーディングおよび比較の手助けとな
るビジュアル・キューの効率が上がります。
チャート・テンプレート(chart template) ワークスペー
ス・チャートに表示するメトリックを定義するテン
プレートです。
調査(Investigation) ドリルスルー(drill-through)を参照
してください。
積重ねグラフ(stacked charts) 比較しやすいようにカテ
ゴリを上下に積み重ねたグラフ。現在のカテゴリを
サブカテゴリ化する場合に便利です。円グラフと折
れ線グラフを除き、Y 軸と Z 軸で積み重ねることが
できます。グラフを積み重ねた場合は Z 軸が、ファ
クトまたは値の軸になります。
定義済ドリル・パス(predefined drill paths) データ・モデ
ルでの定義に従って次の詳細レベルにドリルするた
めに使用されるパスです。
適応状態(adaptive states) Interactive Reporting Web
Client の権限レベルです。
データ関数(data function) データを集約する関数です。
データの平均、最大値、カウントを求めたり、他の
統計値によりデータのグループを集計します。
データの編集(Edit Data) 値の変更と Essbase への編集
内容の送信を行うためのインタフェースです。
データベース接続(database connection) データ・ソース
への接続に使用する定義とプロパティを保管し、
データベース参照を移動可能にして広く使用できる
ようにするファイルです。
データ・モデル(data model) データベース・テーブル
のサブセットを示します。
データ・レイアウト(data layout) データ・レイアウト・
インタフェースは、クエリーの編集、次元の配置、
別の次元のメンバー選択、または現在のセクション
やデータ・オブジェクトのクエリー・オプションの
指定を行う場合に使用します。
透過ログイン(transparent login) ログイン画面を起動せ
ずに認証されたユーザーをログインさせます。
トップ・ラベルとサイド・ラベル(top and side labels) 列
範囲(range) 上限と下限およびその間に含まれる値の
セットです。数字、金額または日付を含むことが可
能です。
と行の見出しです。ピボット・レポートの上部とサ
イドにそれぞれ表示されます。
反復タイム・イベント(recurring time event) ジョブの実
トラフィック・ライト(traffic lighting) 2 つの次元メン
汎用ジョブ(generic jobs) SQR Production Reporting また
バーの比較または一定の制限値に基づいて、レポー
トのセルまたはピンを色分けする機能です。
は Interactive Reporting 以外のジョブを指します。
トレース・レベル(trace level) ログ・ファイルで捕捉さ
れた詳細のレベルを定義します。
特定するためのラベルを含むボックスです。
トークン(token) 外部認証システム上の 1 つの有効な
バッチに含まれる各レポートおよびブックのすべて
の次元の集合です。バッチのスケジュールを立てる
際は、バッチ POV で選択されたメンバーを設定で
ユーザーまたはグループの暗号化された ID です。
動的レポート(dynamic report) レポートを実行するとき
に更新されるデータを含むレポートです。
ドリルスルー(drill-through) あるデータ・ソースの値か
ら別のソースの対応するデータに移動することで
す。
ドリルダウン(drill-down) 次元の階層を使用してクエ
リー結果セット内をナビゲートすることです。ドリ
ルダウンにより、ユーザーのパースペクティブが集
約データから詳細に移ります。たとえば、ドリルダ
ウンにより年と四半期の階層関係または四半期と月
の階層関係が明らかになります。
行開始点と実行頻度を指定するイベントです。
凡例ボックス(legend box) 次元のデータ・カテゴリを
バッチ POV(batch POV) ユーザーの POV において、
きます。
パフォーマンス・インディケータ(performance indicator)
ユーザーが指定した範囲に基づくメジャーおよびス
コアカード・パフォーマンスを示すために使用され
るイメージ・ファイルです。ステータス記号とも呼
ばれます。デフォルトのパフォーマンス・インディ
ケータを使用することもできますが、無制限に独自
のパフォーマンス・インディケータを作成すること
も可能です。
パブリック・ジョブ・パラメータ(public job parameters)
ムを管理するコア・サービスです。
管理者が作成する再利用可能な名前付きジョブ・パ
ラメータです。必要なアクセス権を持つユーザーが
アクセスできます。
ネイティブ認証(native authentication) サーバーまたはア
パブリック反復タイム・イベント(public recurring time
プリケーション内で、ユーザー名とパスワードを認
証するプロセスです。
events) 管理者が作成する再利用可能なタイム・イベ
認証サービス(authentication service) 単一の認証システ
ノート(note) ボックス、メジャー、スコアカードま
ントです。アクセス・コントロール・システムから
アクセスできます。
たはマップ要素に関連する補足情報です。
パレット(palette) JASC に準拠し、.PAL 拡張子を持つ
ハイパーテキスト・マークアップ言語(HTML)(Hypertext
ファイルです。各パレットには相互に補完し合う
16 色が含まれ、ダッシュボードの色要素の設定に
Markup Language(HTML)) Web ブラウザでのデータ表示
を指定するプログラミング言語です。
ハイパーリンク(hyperlink) ファイル、Web ページまた
はイントラネット HTML ページへのリンクです。
ハイライト(highlighting) 構成に応じて、チャートのセ
使用可能です。
パースペクティブ(perspective) スコアボードのメジャー
やアプリケーションにおける戦略目標をグループ化
するために使用されるカテゴリです。パースペク
ティブにより、主要な利害関係者(顧客、従業員、
ルまたはズームチャートの詳細がハイライトされ、
値のステータス(赤色は不正、黄色は警告、緑色は
株主、金融関係者など)またはキー・コンピテンシ
良好)が示されます。
す。
発行(publish) モデル所有者が、モデルまたはモデル
非アクティブ・グループ(inactive group) 管理者によりシ
変更をエンタープライズ・モデルに含めるために転
送できるようにするプロセスです。
ステムへのアクセスが非アクティブにされているグ
ループです。
領域(時間、コスト、品質など)を示すことができま
用語集 127
非アクティブ・サービス(inactive service) 稼動が一時停
ブックマーク(bookmark) ユーザー個人のページに表示
止しているサービスです。
されるレポート・ドキュメントまたは Web サイト
非アクティブ・ユーザー(inactive user) 管理者によりア
へのリンクです。ブックマークには、マイ・ブック
マークとイメージ・ブックマークの 2 つのタイプが
カウントが非アクティブにされているユーザーで
す。
表示タイプ(display type) リポジトリに保存された 3 種
類の Web Analysis フォーマット(スプレッドシート、
チャート、ピンボード)のいずれかを指します。
ピン(pins) ピンボードと呼ばれるグラフィック・レ
ポート上に配置される対話型アイコンです。ピン
は、基盤となるデータ値や分析ツールの基準に基づ
いて、イメージやトラフィック・ライトの色を変更
できます。
ピンボード(pinboard) 3 種類のデータ・オブジェクト
の表示タイプの 1 つです。ピンボードは、背景およ
びピンと呼ばれる対話型アイコンから成るグラ
フィックです。ピンボードを使用するにはトラ
フィック・ライトを定義する必要があります。
ファクト・テーブル(fact table) スター結合スキーマの
中心のテーブルです。外部キーおよび次元テーブル
から取得した要素により特徴付けられます。通常、
このテーブルにはスキーマの他のすべてのテーブル
に関連する数値データが含まれます。
フィルタ(filter) データ・セットで、特定の基準に従っ
て値を制限する制約です。たとえば、特定のテーブ
ル、メタデータまたは値を除外したり、アクセスを
制御したりする場合に使用されます。
あります。
プライマリ・メジャー(primary measure) 企業および事業
のニーズにとって重要な、優先度の高いメジャーで
す。コンテンツ・フレームに表示されます。
プレゼンテーション(presentation) Web Analysis ドキュ
メントのプレイリストです。レポートの分類、整
理、並べ替え、配布および確認を行うことができま
す。リポジトリ内のレポートを参照するポインタを
含みます。
プロキシ・サーバー(proxy server) セキュリティを保証
するために、ワークステーション・ユーザーとイン
ターネットの間で仲介を行うサーバーです。
プロット領域(plot area) X 軸、Y 軸および Z 軸で囲ま
れている領域です。円グラフの場合は、その周りに
表示される長方形の領域です。
プロパティ(property) アーチファクトの特性です(サイ
ズ、タイプ、処理手順など)。
変換(transformation) (1)アプリケーションの移行後も
移行先の環境で正しく機能するように、アーチファ
クトを変換します。(2)データ・マイニングで、
キューブおよびアルゴリズムのセルの間で(双方向
に)流れるデータを変更します。
別名(alias) 代替名です。たとえば、列をより簡単に
フォルダ(folder) 他のファイルを含んで階層を形成す
るファイルです。
特定する記述子として、メンバー名のかわりに別名
を表示できます。
フォーマット(format) ドキュメントやレポート・オブ
ページ・メンバー(page member) ページ軸を決定するメ
ジェクトの視覚的な特性です。
ンバーです。
フッター(footer) レポート・ページ下部に表示される
ホスト(host) アプリケーションとサービスがインス
テキストまたはイメージです。ページ番号、日付、
ロゴ、タイトル、ファイル名、作成者名など、動的
な関数や静的なテキストが含まれます。
トールされているサーバーです。
フリーフォーム・グリッド(free-form grid) 動的計算のた
めに、複数のソースからのデータを提示、入力およ
び統合するためのオブジェクトです。
ブック(book) 類似する財務レポートのグループを含
むコンテナです。ブックには、次元セクションまた
は次元の変更が指定されていることがあります。
ブックの POV(book POV) ブックが実行される次元のメ
ンバーです。
128 用語集
ホスト・プロパティ(host properties) ホストに関係する
プロパティです。ホストに複数の Install_Home が含
まれる場合は、いずれかの Install_Home に関係する
プロパティとなります。ホスト・プロパティは LSC
から構成されます。
棒グラフ(bar chart) 1-50 のデータ・セットを含むこと
ができるグラフです。各データ・セットには任意の
数の値を割り当てることができます。データ・セッ
トは、対応する棒のグループ、上下に積み上げた
棒、または別々の行に個別の棒として表示されま
す。
マスター・データ・モデル(master data model) 複数のク
モデル(model) (1)データ・マイニングで、アルゴリ
エリーによりソースとして参照される独立するデー
タ・モデルです。このモデルが使用される場合は、
「クエリー」セクションのコンテンツ・ペインに
「ロック済データ・モデル」と表示されます。デー
タ・モデルは「データ・モデル」セクションに表示
されるマスター・データ・モデルにリンクされてい
ます(管理者によって非表示になっていることがあ
ズムにより検査されたデータに関する情報の集合で
す。より広範なデータ・セットにモデルを適用する
ことにより、データに関する有用な情報を生成でき
ます。(2)アプリケーション固有の方法で示したデー
ります)。
マップ・ナビゲータ(Map Navigator) 戦略、責任および
因果関係の各マップに現在の位置を示す機能です。
赤色のアウトラインで示されます。
ミニレポート(minireport) レポートのコンポーネント
の 1 つです。レイアウト、コンテンツ、ハイパーリ
タが含まれるファイルまたはコンテンツの文字列で
す。モデルは Shared Services により管理される基本
データであり、次元と非次元のアプリケーション・
オブジェクトという 2 つの主要なタイプがありま
す。(3)Business Modeling で、検査対象の領域からの
業務および財務上のフローを示し、また計算するた
めに接続されたボックス・ネットワークです。
役割(role) リソースへのアクセス権をユーザーおよ
びグループに付与する際に使用される手段です。
ンク、およびレポートのロード用の 1 つまたは複数
ユーザー・ディレクトリ(user directory) ユーザーおよび
のクエリーを含みます。各レポートには、1 つ以上
のミニレポートを含めることができます。
グループの情報を集中管理する場所です。リポジト
リまたはプロバイダとも呼ばれます。
耳折れ(dog-ear) 折り曲げられたページの角です。
要約チャート(Summary chart)「調査」セクションで、
チャートのヘッダー領域の右上の隅に表示されま
す。
同じ列内で下に表示される詳細チャートをロール・
アップし、各チャート列最上位の要約レベルにメト
リックを描画します。
メジャー(measures) OLAP データベースのキューブに
含まれる数値です。利益幅、売上原価、売上数量、
予算など、分析に使用可能な数値を指します。ファ
クト・テーブル(fact table)も参照してください。
リソース(resources) システムにより管理されるオブ
メタデータ(metadata) データベースに保管された、ま
リレーショナル・データベース(relational database) 関連
たはアプリケーションにより使用されるデータのプ
ロパティと属性を定義および説明するデータ・セッ
トです。メタデータには、次元名、メンバー名、プ
ロパティ、期間、およびセキュリティなどが含まれ
ます。
する 2 次元テーブルにデータを保管するデータベー
メトリック(metric) ビジネス・データから計算される
数値測定単位です。業績評価や企業トレンド分析に
役立ちます。
メンバー(member) 次元内の個別のコンポーネントで
す。メンバーにより、類似する単位の集まりが個別
に特定および区別されます。たとえば、時間次元に
は Jan、Feb および Qtr1 などのメンバーが含まれる
ことがあります。
メンバー・リスト(member list) 次元のメンバー、関数、
ジェクトまたはサービスです(役割、ユーザー、グ
ループ、ファイル、ジョブなど)。
スです。多次元データベース(multidimensional
database)と対比してください。
リンク(link) (1)リポジトリ・オブジェクトへの参照
です。リンクはフォルダ、ファイル、ショートカッ
トなどの参照に使用できます。(2)タスクフローで、
あるステージのアクティビティが終了して次のアク
ティビティが開始するポイントです。
リンク・データ・モデル(linked data model) リポジトリ
のマスター・コピーにリンクされたドキュメントで
す。
リンク・レポート・オブジェクト(LRO)(linked reporting
object (LRO)) セル・ノート、URL またはテキスト付
他のメンバー・リストを示す名前付きのグループで
す。システムまたはユーザーにより定義されます。
きファイル、オーディオ、ビデオまたは画像などの
外部ファイルにリンクされたセルベースのリンクで
す。(Financial Reporting の Essbase LRO でサポート
目標(target) 指定された期間(日、四半期など)につい
されているのはセル・ノートのみです。)
てメジャーに期待される結果です。
用語集 129
隣接する四角形(bounding rectangle) Interactive Reporting
ドキュメントのセクションを個人用ページに埋め込
む場合に、Interactive Reporting ドキュメントのコン
テンツをカプセル化する必須のパラメータです。高
さと幅を表すピクセルまたは 1 ページ当たりの行数
により指定されます。
例外(exceptions) 事前定義済の条件を満たす値です。
フォーマット・インディケータを定義したり、例外
が生成されたときに登録ユーザーに通知したりでき
ます。
レイヤー(layer) (1)階層構造内で横並びにメンバーを
含む場所です。世代(上から下へ)またはレベル(下
から上へ)により指定されます。(2)他のオブジェク
トに対して相対的なオブジェクトの場所です。たと
えば、Sample Basic データベースでは Qtr1 と Qtr4
は同じ年に含まれるので、世代が同一であることに
なります。しかし、不均衡階層を含むデータベース
の場合、Qtr1 と Qtr4 は同一世代であっても同じレ
イヤーに位置しないことがあります。
列(column) グリッドまたはテーブルで縦方向に表示
される情報です。列には、特定のフィールドからの
データ、計算により得られたデータまたはテキスト
の情報が含まれます。
レベル(level) 階層ツリー構造において、データベー
ス・メンバーの関係を定義するレイヤーです。レベ
ルは一番下の次元メンバー(レベル 0)から上位の親
メンバーへと並べられます。
レポート・オブジェクト(report object) レポートの設計
において、テキスト・ボックス、グリッド、イメー
ジ、チャートなどの動作や外観を定義するプロパ
ティを持つ基本要素です。
ロック済データ・モデル(locked data model) ユーザーが
変更できないデータ・モデルです。
ローカル結果(local results) データ・モデルのクエリー
結果です。ローカルの結合で結果を使用する場合
は、結果をデータ・モデルにドラッグして挿入でき
ます。ローカルの結果を要求すると、カタログに表
示されます。
ローカル・レポート・オブジェクト(local report object)
Explorer で Financial Reporting レポート・オブジェ
クトにリンクされていないレポート・オブジェクト
です。リンク・レポート・オブジェクト(LRO)
(linked reporting object (LRO))と対比してください。
130 用語集
A - Z あ行 か行 さ行 た行 な行 は行 ま行 や行 ら行
索引
A-Z
BqyDocument オブジェクト
EPM Workspace, 113
Interactive Reporting Studio, 113
bqy の作成, 33
Dashboard Architect
アーキテクチャ, 16
オプション, 27
概念, 14
高度なスクリプト
スクリプトのカスタマイズ, 81
新規プロジェクト、作成, 19
情報, 15
ドキュメントを更新する高度なスクリプト,
81
プロジェクトを開く, 19
メニュー、ショートカットおよびボタン, 21
ユーザー・インタフェース, 19
Dashboard Architect インポート・ユーティリ
ティ
Unicode, 49
別の Interactive Reporting ドキュメントから
セクションをインポート, 48
Dashboard Development Services 更新ユーティリ
ティ, 73
Unicode, 74
更新プロセス, 74
リソース・マネージャの画像を連結, 74
Dashboard Development Services コンポーネント
固有の機能, 70
Dashboard Development Services コンポーネント
固有の機能、HTML ドキュメントにおける,
72
Dashboard Studio インスペクタ・ユーティリ
ティ(高度なスクリプト)
Document Object Model
コレクション, 94
調査, 93
プロパティ・タイプ, 94
プロパティへのアクセス, 94
Document Object Model。「DOM」を参照
DOM
XPath スタイル検索, 91
構造の調査、Impact Management Services、
EPM Workspace, 93
コレクション
Impact Management Services、EPM
Workspace, 94
Interactive Reporting Studio, 94
相違点
Impact Management Services、EPM
Workspace, 92
Interactive Reporting Studio, 92
ツリー構造, 89
トラバース, 90
ドキュメントの変換とロード戦略, 90
プロパティ・タイプ
Impact Management Services、EPM
Workspace, 94
Interactive Reporting Studio, 94
プロパティへのアクセス
Impact Management Services、EPM
Workspace, 94
Interactive Reporting Studio, 94
for パラメータ・デフォルト値, 45
Interactive Reporting Studio
対話, 57
同期, 18
Interactive Reporting Studio との同期, 18
Interactive Reporting ドキュメント
セクションのインポート, 48
Interactive Reporting ドキュメントからの新規プ
ロジェクトの作成, 16
Interactive Reporting ドキュメントの再作成, 18
Interactive Reporting ドキュメントの作成, 33
JavaScript
索引 131
A - Z あ行 か行 さ行 た行 な行 は行 ま行 や行 ら行
Interactive Reporting Studio, 9
JavaScript の定義, 9
概念, 9
宣言型, 52
ダッシュボード・セクション・レベルのカス
タマイズ, 10
手続き型, 52
ドキュメント・レベルのカスタマイズ, 10
編集, 17
javascriptupdate.js
EPM Workspace, 83
revertimageresources.js
Interactive Reporting Studio, 84
実行, 85
ファイルでの実行, 86
フォルダに実行, 85
scriptenvironment オブジェクト
EPM Workspace, 96
Interactive Reporting Studio, 96
sortdatamodeltopics.js
EPM Workspace, 83
tlb(タイプ・ライブラリ・ファイル)
リリースの同期, 26
Unicode
Dashboard Architect インポート・ユーティリ
ティ, 49
Dashboard Development Services 更新ユーティ
リティ, 74
updatedatamodels.js
EPM Workspace, 83
あ行
アウトライナを使用したナビゲーション, 36
アーキテクチャ, 16
一覧
env メソッド, 116
ドキュメント, 119
ノード・メソッド, 118
メソッドとプロパティ, 116
リポジトリ・メソッド, 117
リポジトリ・メソッド、EPM Workspace 固
有, 118
印刷, 41
引用
マクロ, 44
大文字と小文字の区別, 38
大文字と小文字を区別, 38
132 索引
オブジェクト
追加と削除, 57
例, 12
オブジェクト指向の概念, 11
オブジェクト, 11
プロパティ, 13
メソッド, 13
オブジェクトの削除, 57
オブジェクトの追加, 57
オブジェクト・ブラウザ、コード生成, 36
オブジェクト・ブラウザを使用したコード生
成, 36
オブジェクト、プロパティおよびメソッド、取
扱い, 13
「オプション」ダイアログ・ボックス, 27
か行
カスタム・スクリプト
EPM Workspace, 83
Interactive Reporting Studio, 83
javascriptupdate.js, 83
revertimageresources.js, 84
revertimageresources.js、実行, 85, 86
sortdatamodeltopics.js, 83
updatedatamodels.js, 83
カスタム・スクリプト環境
EPM Workspace, 81
カッコの照合, 41
検索, 37
大文字と小文字を区別, 38
オプション, 37
関数, 40
完全に一致する単語, 38
検索, 37
「検索」ダイアログ・ボックス, 37
すべて, 40
置換, 40
次, 40
パターン照合, 38
フローティング・メニュー, 40
「検索」フローティング・メニュー, 40
更新
「1 つを更新」の方法, 76
高度なスクリプトによるドキュメント, 81
コマンド・ライン, 78
コマンド・ライン、ドキュメントの選択, 78
ドキュメント, 76
A - Z あ行 か行 さ行 た行 な行 は行 ま行 や行 ら行
「複数を更新」の方法, 77
ユーティリティ, 73
構成
構成ファイル, 75
構成ファイル, 75
変更, 75
高度なスクリプト
addChild(), 109
addProperty(), 109
addVersion メソッド, 101
BqyDocument オブジェクト, 113
cloneNode(), 109
close(), 113
compressBqy(), 113
convertBqyFileToUnicode メソッド, 102
copy(), 114
Document Object Model
Dashboard Studio インスペクタ・ユーティ
リティ, 93
Impact Management Services、EPM
Workspace, 93
XPath スタイル検索, 91
コレクション, 94
説明済, 89
相違点, 92
トラバース, 90
ドキュメントの変換とロード戦略, 90
プロパティ・タイプ, 94
プロパティへのアクセス, 94
expandRequestAction(), 96
findFiles メソッド, 103
findNodeByPattern(), 110
findNodesByPattern(), 110
folderExists メソッド, 103
getBqyDocument(), 97
getChildren(), 110
getCurrentFolder メソッド, 104
getFileLines(), 97
getFileUuid メソッド, 104
getFolderContentsFor メソッド, 104
getFolderUuid メソッド, 105
getInitialTCSection(), 114
getMimeTypeUuid(), 98
getNameForUuid メソッド, 105
getNodeType(), 110
getParameterValue(), 98
getParameterValues(), 98
getPathForUuid メソッド, 105
getPathWithContext(), 110
getProperty(), 111
getRepository(), 99
getScriptUuid(), 99
getSubfolderPathsFor メソッド, 105
hasProperty(), 111
isBQYProcessable(), 114
isCompressed(), 114
isDashboard(), 115
isDesktopMode(), 99
isFile メソッド, 106
isFolder メソッド, 106
isServerMode(), 99
javascriptupdate.js, 83
Java コード, 95
loadScript(), 99
makeFolder メソッド, 106
publishBqyFile メソッド, 107
removeChild(), 112
removeProperties(), 112
replaceChildNode(), 112
retrieveFile メソッド, 108
retrieveVersionedDocument メソッド, 108
revertimageresources.js, 84, 85
scriptenvironment オブジェクト, 96
sectionOCEPairInfos(), 115
setParameterValues(), 100
sortdatamodeltopics.js, 83
updatedatamodels.js, 83
writeBqyDom(), 100
一覧
env メソッド, 116
ドキュメント, 119
ノード・メソッド, 118
メソッドとプロパティ, 116
リポジトリ・メソッド, 117
リポジトリ・メソッド、EPM Workspace 固
有, 118
カスタム・スクリプト, 83
カスタム・スクリプト環境、EPM Workspace,
81
スクリプト環境の監視, 83
スクリプトの一覧, 96
スクリプトのカスタマイズ, 81
スクリプトの呼出し, 82
索引 133
A - Z あ行 か行 さ行 た行 な行 は行 ま行 や行 ら行
Dashboard Development Services 更新ユー
ティリティ, 82
EPM Workspace, 82
スクリプト・パラメータ, 86
ドキュメント情報のログへの書込み, 88
ドキュメントの更新, 81
ノード・オブジェクト, 109
バッチ入力ファイル, 95
ファイル・システムへのアクセス, 95
リポジトリ・アーチファクト, 101
ロギング, 87
コントロール
削除, 59
作成, 59
追加, 58
名前変更, 59
複製, 58
コントロールの削除, 59
コントロールの作成, 59
コントロールの追加, 58
コントロールの名前変更, 59
コントロールの複製, 58
コードの生成、オブジェクト・ブラウザ, 36
コードのドキュメント化, 63
さ行
再同期, 57
ショートカット, 21
新規セクション・ファイル, 74
新規プロジェクト、作成, 29
新規プロジェクトの作成, 29
自動コード, 41
スクリプト
Java コード, 95
バッチ入力ファイル, 95
スクリプト、高度
スクリプトのカスタマイズ, 81
ドキュメントの更新, 81
スクリプト・アウトライナ、ナビゲーション,
36
スクリプト環境の監視
EPM Workspace, 83
Interactive Reporting Studio, 83
スクリプト内の Java コード, 95
スクリプトの一覧
addChild(), 109
addProperty(), 109
134 索引
BqyDocument オブジェクト, 113
cloneNode(), 109
close(), 113
compressBqy(), 113
copy(), 114
EPM Workspace, 96
expandRequestAction(), 96
findNodeByPattern(), 110
findNodesByPattern(), 110
getBqyDocument(), 97
getChildren(), 110
getFileLines(), 97
getInitialTCSection(), 114
getMimeTypeUuid(), 98
getNodeType(), 110
getParameterValue(), 98
getParameterValues(), 98
getPathWithContext(), 110
getProperty(), 111
getRepository(), 99
getScriptUuid(), 99
hasProperty(), 111
Interactive Reporting Studio, 96
isBQYProcessable(), 114
isCompressed(), 114
isDashboard(), 115
isDesktopMode(), 99
isServerMode(), 99
loadScript(), 99
removeChild(), 112
removeProperties(), 112
replaceChildNode(), 112
scriptenvironment オブジェクト, 96
sectionOCEPairInfos(), 115
setParameterValues(), 100
writeBqyDom(), 100
ノード・オブジェクト, 109
スクリプトのカスタマイズ, 81
スクリプトの呼出し, 82
Dashboard Development Services, 82
EPM Workspace, 82
スクリプト・パラメータ
EPM Workspace, 86
セクション
削除, 61
追加, 59
名前変更, 60
A - Z あ行 か行 さ行 た行 な行 は行 ま行 や行 ら行
複製, 59
セクションの削除, 61
セクションの追加, 59
セクションの複製, 59
セクション名の変更, 60
宣言型 JavaScript, 52
ドキュメントの生成, 71
た行
は行
ダッシュボード開発環境
情報, 14
ダッシュボード・セクション・レベルのカスタ
マイズ
ダッシュボード・グラフィック, 10
ダッシュボード・コントロール, 10
置換, 40
ツール、「オプション」ダイアログ・ボックス,
27
テスト
機能, 17
情報, 51
ルール, 51
テストとデバッグ, 51
手続き型 JavaScript, 52
デバッグ
機能, 17
情報, 54
ブレークポイント, 54
ドキュメント
@scope を使用したグループ化, 69
Dashboard Development Services コンポーネン
ト固有の機能, 70
HTML ドキュメントにおける Dashboard
Development Services コンポーネント固有の
機能, 72
エンティティのネームスペース・スコープと
@scope タグ, 67
コメント, 63
コメント・タグの参照, 69
スコープ外ドキュメントの包含と除外, 71
生成, 71
ドキュメント・グループの包含と除外, 71
ドキュメント化
Dashboard Development Services コンポーネン
ト, 66
関数, 64
クラス, 65
変数, 64
な行
ノード・オブジェクト
EPM Workspace, 109
Interactive Reporting Studio, 109
バッチ入力ファイル
使用, 95
スクリプト, 95
パターン照合, 38
ファイル・システム
スクリプト内でのアクセス, 95
ファイル・システムへのアクセス、スクリプ
ト, 95
ブレークポイント
情報, 54
プロジェクト
新規の作成, 29
複製, 31
プロジェクトの作成, 29
プロジェクトの複製, 31
プロパティ
例, 13
変更
構成ファイル, 75
編集
ad マクロ, 43
cn マクロ, 44
JavaScript, 17
アウトライナを使用したナビゲーション, 36
一般的な注意, 35
印刷, 41
オブジェクト・ブラウザを使用したコード生
成, 36
カッコの照合, 41
検索, 37
「検索」フローティング・メニュー, 40
自動コード, 41
セクションのインポート, 48
単純マクロ, 43
置換, 40
複数行マクロ, 44
マクロ, 43
マクロ、コントロール・コード, 47
マクロの定義, 43
索引 135
A - Z あ行 か行 さ行 た行 な行 は行 ま行 や行 ら行
マクロの呼出し, 46
マクロの呼出し、パラメータ値を設定しな
い, 46
マクロの呼出し、パラメータ値を設定する,
46
マクロ・パラメータ, 45
for パラメータ・デフォルト値, 45
ループ・インデックス・パラメータを持つ
マクロ, 45
別の Interactive Reporting ドキュメントからセ
クションをインポート, 48
ボタン, 21
ま行
マクロ, 43
ad, 43
cn, 44
引用, 44
コントロール・コード, 47
単純, 43
定義, 43
パラメータ, 45
for パラメータ・デフォルト値, 45
ループ・インデックス・パラメータを持つ
マクロ, 45
パラメータ値を設定しない呼出し, 46
パラメータ値を設定する呼出し, 46
複数行, 44
呼出し, 46
メソッド
例, 13
メソッドとプロパティ
一覧, 116
env メソッド, 116
ドキュメント, 119
ノード・メソッド, 118
リポジトリ・メソッド, 117
リポジトリ・メソッド、EPM Workspace 固
有, 118
メニュー
実行, 25
ツール, 25
デバッグ, 24
表示, 23
ファイル, 21
プロジェクト, 24
ヘルプ, 26
136 索引
編集, 22
メニュー・コマンド, 21
メニュー・コマンド、ショートカットおよびボ
タン, 21
や行
ユーザー・インタフェース, 19
ら行
リソース・マネージャの画像を連結
Dashboard Development Services 更新ユーティ
リティ, 74
リポジトリ
addVersion メソッド, 101
convertBqyFileToUnicode メソッド, 102
findFiles メソッド, 103
folderExists メソッド, 103
getCurrentFolder メソッド, 104
getFileUuid メソッド, 104
getFolderContentsFor メソッド, 104
getFolderUuid メソッド, 105
getNameForUuid メソッド, 105
getPathForUuid メソッド, 105
getSubfolderPathsFor メソッド, 105
isFile メソッド, 106
isFolder メソッド, 106
makeFolder メソッド, 106
publishBqyFile メソッド, 107
retrieveFile メソッド, 108
retrieveVersionedDocument メソッド, 108
アーチファクト, 101
EPM Workspace, 101
Interactive Reporting Studio, 101
リリースの同期
tlb(タイプ・ライブラリ・ファイル), 26
ループ・インデックス・パラメータを持つマク
ロ, 45
ロギング
EPM Workspace, 87
Interactive Reporting Studio, 87
ドキュメント情報の書込み
EPM Workspace, 88
Interactive Reporting Studio, 88
Fly UP