Maximo シリーズ: Part 5 - Maximo BIRT Reporting

Maximoが持つレポート・帳票機能について紹介します。

Maximo Base Service(以下Maximo)*1はMaximo Asset Managementだけでなく、2008年5月にリリースされたIBM Tivoliブランド IBM Service Management (以下ISM) 製品群の基礎となるフレームワークです。このフレームワークの機能としてレポート機能は、Maximoの様々な機能の中で良く使用される機能の1つです。Maximo Asset Management等の資産管理製品やISM製品群では製品が活躍する場面は大きく異なりますが、どの場合でもレポート機能は業務を進めていく上では重要な要素です。
本稿では、このMaximo レポート機能についてBIRTを中心に紹介していきます。Maximoに組み込まれたBIRTレポート機能を理解することにより、強力なレポート機能をユーザーに提供することが可能になります。

赤松 猛, Tivoli 開発 / ソフトウェア開発研究所, IBM

赤松 猛(あかまつ たけし) 日本アイ・ビー・エム株式会社 ソフトウェア開発研究所 Tivoli開発 Tivoli AC & 先進技術推進
2003年4月入社。Maximo Enterprise Asset Managementを担当するセールスエンジニアとしてソフトウェア開発研究所からTivoli事業部へ出向し、Maximo関連のビジネスの立ち上げに従事した後、 WW Tivoli SWAT Teamの一員としてMaximo関連製品をはじめとしてISM製品群を担当している。IBMではこの他に、Tivoli Application Dependency Discovery Manager(TADDM)の国際化、Discovery Library Adapter(DLA)開発、Tivoli製品全般の国際化検証テスト・マルチバイト文字環境での統合テストを担当してきた。趣味はスキーで、SAJ公認正指導員の資格を持ち、シーズン中はIBM SKI部にて強化指定選手および講師として活動している。また、最近はウィンドサーフィンを始め毎週末海に通っている。



大門 昭, ソフトウェア開発研究所, IBM

大門 昭(おおかど あきら) 日本アイ・ビー・エムのソフトウェア開発研究所に勤務。
1983年入社。ファイル転送支援プログラム、OSI、CSP、ソフトウェア開発支援ツール、ポートレット開発ツール、ネットワーク検疫ソリューション等の開発、お客様システムの構築、Tivoli製品の品質検証等に従事。
現在は、ソリューションアーキテクトとして主にMaximo関連プロジェクトの支援を行っている。



2009年 4月 10日

はじめに

MaximoはMaximo Asset Management/Tivoli Asset Management for IT/Tivoli Service Request Manager/その他各種ISM製品の基本となるフレームワークです。このフレームワークに組み込まれ、様々な業務アプリケーションから使用される機能の1つにレポート機能があります。シリーズ Part 3Part 4ではMaximが提供するクエリー・スタートセンター・KPIといった機能を紹介しました。今回はMaximoに組み込まれたBIRT*2によるレポート機能を紹介します。

BIRTは、Maximoに組み込まれたレポートエンジンで、Eclipse Projectの1つとしてオープンソースで開発されています。BIRTデザイナーを使用することによりユーザーは好みのレポートを開発することができ、作成したレポートをMaximo上で実行することができます。Maximoが持つデータを自由に加工し目的のレポートを実行時点の状況で得ることが可能です。

図1 BIRT レポート
図2 BIRTレポートの実行

BIRTの用途

BIRTレポートの用途は、2つに大きく分かれます。まず1つは分析ツールとしての使用です。BIRTのレポート機能を使用すると、クエリーやKPI等ではできない複雑なレポートを作成することができます。KPIで作成しているグラフはもちろん、Maximo保存されている履歴データや外部データソースに保管されている履歴データを使用した各種グラフや独自ロジックを組み込んだ分析レポート自在に作成できます。

図3 BIRT グラフ

クリックして大きなイメージを見る

図3 BIRT グラフ

もう1つは帳票としての利用です。Maximoのデータをユーザーの要求に合わせたフォーマットで出力する場合、BIRTでのデザインにより要求を満たすことができます。Maximoのテーラリングで画面は自在に変更可能ですが、自在な罫線や項目の詳細な位置の調整など細かいフォーマットを合わせた帳票を作成することはできません。こういった要求にはBIRTが適しています。

図4 BIRT 帳票

クエリー・ベース・レポート

Maximoのレポート機能にクエリー・ベース・レポート*3があります。BIRTレポートをMaximo上から簡易に作成する機能です。Maximoのアプリケーションで扱っているデータ項目を選択し、一覧としてレポートを作成することができます。テーブル間にまたがるデータの一覧やグラフの作成、罫線を引くなど複雑なレポート作成はBIRTデザイナーにて作成する必要がありますが、簡易な一覧はこの機能で作成できます。テーブルのダウンロード機能ではダウンロードできる項目がテーブルに表示されている項目に限定されてしまいますが、この機能では表示する項目を該当のMBO項目からユーザーが自由に選択可能です。

選択した項目はBIRTレポートとして表示できるだけでなく、データとしてダウンロードする事や印刷する事ができます。一度作成したレポートは保存可能で、後述のBIRTレポートデザイナーで作成したレポートと同じくアイコンやアクションメニュー「レポートの実行」から呼び出すことが可能になります。また、作成したレポートは他のBIRTレポート同様に管理可能です。

また、クエリー・ベースという名前にもあるように、一覧画面での検索結果をそのままレポートへ引き継ぐ事もできます。これはBIRTで一覧を取得する際に、一覧画面で使用されたWhere節をレポートの作成時引き継ぎ可能な為です。つまり、なにも検索していなければ全体が対象となり、クエリーをすでに実行していればそのクエリーがレポートといっしょに保存できます。

クエリー・ベース・レポートの作成

作業指示書アプリケーションを例に一覧レポートを作成してみます。クエリー・ベース・レポートは作業指示書アプリケーションだけでなく他のアプリケーションでも使用可能です。

図5 レポート作成

クリックして大きなイメージを見る

図5 レポート作成

アクションメニューより「レポートの実行」を選択します。「レポートの実行」を選択すると“レポート”ダイアログが表示されます(図6)。このダイアログでは、既存のレポートを選択したりスケジュールを設定してレポートを実行することができます。また、“レポートの作成”ボタンを押す事によりクエリー・ベース・レポートを作成できます。

“レポートの作成”ボタンを押すと、“クエリー・ベース・レポート”ダイアログが表示されます(図7)。このダイアログ使用してレポート作成します。ダイアログの使用可能なフィールドテーブルには、作業指示書テーブルの項目がリストされています。リストされる項目はツリーの項目を選択することにより変化します。ツリーには作業指示書が関連として持っている項目がリストされています。

図6 クエリー・ベース・レポートの作成
図7 項目の選択

ここでは、“作業指示書”, “説明”, “ロケーション”, “資産”, “ステータス”等を選択しています。“すべてを追加”を押すことにより項目を全て追加することも可能です。また、テーブルではフィルター機能が使用できますので、フィルターを使用して項目を選択していくこともできます。使用したい項目は、フィールドの説明の左にあるボタンを押すことにより選択できます。

選択された項目は、選択済みテーブルに反映されます。不要な項目を選択した場合は、同様にボタンを押して解除することができます。

クエリー・ベース・レポートの実行

ここで、“送信”ボタンを押すと即時にレポートが実行できます。今後も同じレポートを実行したい場合は、保存することが可能です。“レポートの保存?”チェックボックスをチェックすることによりレポートが保存されます。また、”アプリケーションから現在のクエリーとフィルターを適用?”チェックボックスを選択すると、次回以降のレポート実行時に今現在のクエリー・フィルターが保存された状態でレポートが保存できます。

レポート・タイトルの入力はデフォルト値がありませんので、適当なタイトルを入力してください。

並べ替えタブでは、レポートを表示する際のグループ化と並べ替えを設定できます。それぞれ2つまで項目を選択することが可能です。虫眼鏡ボタンでそれぞれ設定する項目を選択できます。

図8 並べ替え

図9はレポートの実行結果です。表示されたレポートはフォルダーアイコン を使用してCSV形式でダウンロードすることができます(図11)。ダウンロードする際には、表示されている項目からどの項目をダウンロードするか選択することができます。(図10)

また、プリンターアイコン を使用するとレポートをPDF形式にすることができます(図12)。レポート作成時に保存を選択していると、このレポートはMaximoレポートして保存されています(図13)。他のレポートと同様に実行可能です。「レポート管理」にも登録されています。「レポート管理」でも他のレポート同様に管理され、オプションの設定を行うことができます。オプションについては、BIRTレポートのインポート・管理にて説明します。

図9 作成されたレポート

クリックして大きなイメージを見る

図9 作成されたレポート

図10 レポートのダウンロード
図11 ダウンロードされたデータ
図12 PDF形式のレポート
図13 保存されたレポート

BIRT レポートの作成

BIRTレポートはBIRTデザイナーを使用することで自在に作成できます。BIRTデザイナーはMaximoに付属していませんが、EclipseのProjectとしてダウンロードすることができます。また、参考文献にもあるようにOPALからもダウンロード可能です。こちらのパッケージは翻訳が含まれないため、翻訳パッケージは別途ダウンロードしてください。

Maximoのレポート開発環境としてのBIRTデザイナーはBIRT version 2.1.2を使用して構成します。ダウンロードしたBIRT デザイナーを展開した後、Maximoとの接続設定を行います。また、Maximoからレポートのデータをコピーし参考にすることができます。

BIRT デザイナーの準備

BIRTデザイナー環境の整備には、Eclipse BIRT ProjectからBIRT Designerをダウンロードする必要があります。また実行にはJavaが必要です。詳細情報は以下の通りです。

ここからの内容は、データベースとして製品に同梱されるDB2を使用した場合の内容になります。OracleやSQL Serverを使用した場合は内容を適宜読み替えてください。

  • Java 5
    • JDK 1.5がEclipseの実行に必要です。
  • Eclipse 3.2.2
    • 3.2.2以降ではなく3.2.2が必要です。
  • BIRT Report Designer 2.1.2
    • 2.1.2以降ではなく、2.1.2が必要です。
    • EclipseとのAll-In-Oneパッケージもあります。
    • 別途翻訳も用意した方が便利です。翻訳が必要な場合は、Eclipse及びBIRTのNL Packを用意してください。
    • All-In-Oneパッケージを使用しない場合は、BIRTの前提コンポーネントも用意してください。
  • 管理ワークステーションの内容
    • Maximoのインストールに使用したファイルを使用します。
    • 管理ワークステーションにレポート開発環境を作成することも可能ですが、Maximoのインストール環境を変更してしまうことがないよう、コピーの使用をおすすめします。コピーを使用する場合は、以下で「管理ワークステーション内のMaximo インストールディレクトリ」のように述べている部分は、コピー先のディレクトリーと読み替えてください。
  • Maximo DBへの接続情報
    • レポート開発時にMaximo DBを参照します。

BIRTデザイナーをダウンロードした後、パッケージを解凍し実行確認します。All-In-Oneパッケージを使用していない場合は、Eclipseの解凍後それぞれのパッケージを正しいPath上に解凍してください。その後Eclipseを起動しBIRTが組み込まれていることを確認します。

図14 BIRTの確認

次に必要なファイルをコピーします。手順は以下の通りです。

  • BIRT Designer インストールディレクトリ内の eclipse\plugins\org.eclipse.birt.report.viewer_2.1.2.v20070205-1728\birt\WEB-INF以下に“classes”を作成します。ここで“v20070205-1728”は製品のバージョンにより変更されている可能性があります。
  • 管理ワークステーション内のMaximo インストールディレクトリ(デフォルトでは、C:\IBM\SMP\maximo)内のreports\birt\scriptlibrary\classesにある“com”ディレクトリーを先ほど作成した”classes”にコピーします。
  • 同じく、mxreportdatasources.propertiesもコピーします。
  • JDBCライブラリーをコピーします。
    • Maximoインストールディレクトリ内のapplications\maximo\libからdb2jccで始まる2つのjarファイルをeclipse\plugins\org.eclipse.birt.report.viewer_2.1.2.v20070205-1728\birt\WEB-INF\libにコピーします。
    • db2jcc.jarおよびdb2jcc_license_cu.jar

コピーしたmxreportdatasources.propertiesを以下の通りに編集します。

  • コピーしたmxreportdatasources.propertiesの編集
  • ファイル下部に、#<DataSourceName>で始まる下記行があるのでこれを編集します。
    #<DataSourceName>.url=value
    #<DataSourceName>.driver=value
    #<DataSourceName>.username=value
    #<DataSourceName>.password=value
    #<DataSourceName>.schemaowner=value
  • #<dataSourceName>をすべてmaximoDataSourceに変更
  • 各“value”は対応する物に変更します。
    • url : DBへのURLです。通常は、“jdbc:db2://<サーバー名>:50005/maxdb71”です。
    • Driver : JDBC Driverを指定します。通常は、“com.ibm.db2.jcc.DB2Driver”です。
    • username/password/schemaownerは環境に合わせた物を入力します。
    • schemaownerは通常”maximo”です。
    • これらの情報は、Maximoインストールディレクトリ内 applications\maximo\properties\maximo.propetiesに記載されています。

編集後、Eclipseを再起動しリソースとテンプレートの設定を下記の通り行います。

  • Eclipseメニューバーから、ウィンドウ > 設定を選択し、レポートデザインを選択します。
  • レポートデザイン内のリソースを選択します。
  • リソースフォルダを選択ボタンを押して指定します。
    • Maximoインストールディレクトリ内の reports/birt/libraries を指定します。リモート環境を指定できない場合は、ディレクトリーをコピーしこれを選択します。
  • テンプレートにてテンプレートフォルダを指定します。
    • Maximoインストールディレクトリ内の reports/birt/templatesを指定します。ここもコピーして使用することも可能です。
図15 リソース・テンプレートの設定
図15 リソース・テンプレートの設定

レポートの作成

ここでは、作業指示書アプリケーションのデータを使用してレポートを作成してみます。レポート開発時には、アプリケーションのIDが必要になるので、事前に対象とするアプリケーションのIDをアプリケーションデザイナーで調べておきます。今回は、作業指示書アプリケーションですので、“WOTRACK”です。

今回作成するレポートは、作業指示書を作業タイプ毎にカウントし結果をグラフとして表示させます。BIRT Report DesignerにはSQL作成を支援する機能は無いため、BIRT Report Designerでの作業に移る前に、レポートで使用するSQLを作成しておきます。BIRTのベースとなるEclipseにSQL作成を支援するPlug-inを組み込むことによりSQL作成をレポート作成と同じ環境で行うことも可能です。

SQL文ですが、作業タイプ毎のカウントですので以下のようになります。

select worktype, count(worktype) as count from maximo.workorder group by worktype

ここで、“workorder”は作業指示書テーブルで、“worktype”は作業タイプです。作業タイプ毎のカウントを取るためにgroup byでまとめ、count()を使用して集計しています。参照のため、count(worktype)には“count”と名前を付けています。

レポート作成時に必要になるので、それぞれの型を調べておきます。

	worktype : VARCHAR
	count : INTEGER

BIRT Report Designerを起動し、レポートプロジェクトを作成します。

メニューバーより“ファイル > 新規 > その他”を選択します。新規ダイアログ内の“ビジネスインテリジェンスおよびレポーティングツール”を開き、“レポートプロジェクト”を選択し、次に進みます。

図16 レポートプロジェクトの作成 1

プロジェクト名を入力します。ここでは、”WOREPTEST”としています。入力した後、終了ボタンを押します。

図17 レポートプロジェクトの作成 2

これでレポートプロジェクトが作成できました。次に新規レポートを作成します。
メニューバーより“ファイル > 新規 > レポート”を選択します。ダイアログで先ほどのプロジェクト名を選択します。レポートファイル名が自動で入力されていますが、Maximo上でもここの名前が使用されますので、わかりやすい名前を入力します。入力後、次へボタンを押します。

図18 レポートの作成 1

レポートテンプレートから、“Tivoli Maximo”で始まる物を選びます。下記の例では、Tivoli Maximo List Chart Templateを選択しています。“終了”ボタンを押して完了します。

図19 レポートの作成 2

次に、作成したレポートに設定を行っていきます。まず、SQLをセットしデータを準備します。
“データエクスプローラ”ビューで、データセット > “dataSet”を選択します。
スクリプトタブを選択します。sqlText = 以下を先ほど作成したSQLで置き換えます。

図20 SQLのセット

今回はレポートパラメタを使用しないので、自動的に生成されているsqlTextはすべて削除し、先ほど作成したSQLで置き換えます。
“dataSet”をダブルクリックし、“データセットの編集”ダイアログを開きます。“出力列”を選択し、SQLに合わせて名前、型を入力します。

図21 出力列のセット

“スクリプト”タブでメソッド”fetch”を選択します。それぞれ定義に合うように入力します。getメソッドは用意されているメソッドを用途に合わせて選択します。

Table 1 データタイプ
データベース・タイプ BIRT データ型メソッド
ALN、CLOB、GL、LONGALN、LOWER、UPPERストリングgetString(String attributeName)
YORNストリングgetBooleanString(String attributeName)
DATE、DATETIME、TIME日時getTimestamp(String attributeName)
AMOUNT、DECIMAL、DURATION小数getDouble(String attributeName)
FLOAT浮動getFloat(String attributeName)
DURATIONストリングgetDuration(String attributeName)
INTEGER、SMALLINT整数getInteger(String attributeName)

データセットの「パラメーター」は使用しません。

ここでいったんレポートを保管します。

デバッグ情報の出力設定のために、“アウトライン”ビューでレポートを選択し、“スクリプト”タブを開きます。メソッドが“initialize”であることを確認し、以下の2行を最後に追加します。ログファイルの出力先は、環境に応じて適当に設定します。

	mxReportScriptContext.setDefaultLogLevel(“DEBUG”);
	mxReportScriptContext.setDefaultLogFile(“C:/reportdebug.log”);

プレビューでDB接続エラーなど、このログにしか出力されない情報もあるため、必ず設定を行います。

図22 ログの設定

次にレイアウトを整えます。画面を“レイアウト”タブに切り替えます。必要に応じて項目を削除、追加します。ここでは、タイトルと棒グラフを除き全て削除しました。

図23 レポートレイアウト

棒グラフの設定をします。
レイアウト内の棒グラフをダブルクリックしグラフ編集ダイアログを出します。
以下の設定をします。

  • データセット : dataSet
  • 値系列(Y) : row[“COUNT”]
  • カテゴリ系列(Y) : row[“STATUS”]

円グラフを使用する場合も同様です。

  • データセット : dataSet
  • スライスのサイズ : row[“COUNT”]
  • カテゴリ系列(Y) : row[“STATUS”]
図24 グラフ編集

“アウトライン”ビューでレポートを選択し、“プロパティエディタ”で“リソース”を選択します。“追加”をクリックし、“リソースファイルの参照”ダイアログで“リソースフォルダ”を選択します。対象のアプリケーションのファイルを選択します。

図25 リソースの設定

クリックして大きなイメージを見る

図25 リソースの設定

プレビューを選択し、レポートの表示を確認します。必要に応じて、レイアウト・文字列の変更を行います。プレビューを行うと作業指示書が作業タイプ毎に集計されていることが確認できます。

図26 プレビュー

作成したレポートファイルは、管理ワークステーション上の対象パスにコピーします。


BIRT レポートのインポート・管理

作成したBIRTレポートはMaximoのGUIからインポートすることができます。また、インポートツールを使用してインポートすることもできます。
インポートする際には、アプリケーション上にアイコンを表示させる事もできます。アイコンは有効範囲を設定でき一覧画面のみ、メイン画面のみ、全てと選択できます。
また、項目数を選択できる場合はその表示数をあらかじめ制限させることもできます。
ここからはツールを使用してレポートをインポートしてみます。

まず、インポートに使用する設定するreports.xmlを作成します。reports.xmlは下記の通り項目を指定します。詳細項目はレポートデザイナーガイドを参照してください。

図27 reports.xmlファイル
Table 2 パラメーターの説明
タグ属性値の説明必須
attributefilenameレポート・デザイン・ファイルの名前Y
descriptionレポートの選択ページに表示される名前
reportfolderレポート・デザイン・ファイルが置かれているディレクトリー名で、reportsディレクトリーより下の部分
toolbarlocationツール・バーのレポートアイコンから印刷する場合に使用N
toolbaricon
toolbarsequence
norequestpage
detail
reference リソースの名前(_jaのような言語のサフィックスは付けません)Y
filename リソース・ファイルのフォルダー名と名前Y

次に、管理ワークステーション上で、maximoインストールディレクトリ内の reports/birt/toolsに移動します。このパスにあるreporttools.propertiesファイルを編集します。編集する項目は下記の通りです。

  • maximo.report.birt.hostname : Maximoのホスト名
  • maximo.report.birt.port : Maximoが稼働しているポート
  • maximo.report.birt.ssl : Maximoへの接続方法
  • maximo.report.birt.username : MaximoのユーザーID
  • maximo.report.birt.password : 上記パスワード
  • maximo.report.birt.outputfolder

設定完了後、インポートを実行します。インポートは下記のコマンドにて実行できます。

  • Importreports.cmd app WOTRACK
    • 今回はWOTRACKに対して実行しています。
  • BUILD SUCCESSFULと表示されれば完了です。

インポートがMaximoの「レポート管理」にて作成したレポートが存在することを確認します。また、この画面の新規作成を使用すると上記のコマンドと同様作業が実行できます。

インポートのレポートは初期作業が終了していないため、下記の通り初期作業を実施します。

  • Maximoに管理者でログインします。
  • リンク先 > 管理 > レポート > レポート管理 に移動します。
  • インポートしたファイルを探し、ファイル名をクリックします。
  • “要求ページの生成”をクリックします。
  • “プレビュー”でレポートが表示されることを確認します。
  • 必要に応じてセキュリティの設定を行います。
図28 reports.xmlファイル
図29 BIRTレポート

まとめ

MaximoのBIRTレポート機能について紹介しました。BIRTによるレポート機能は非常に強力です。しかし、Maximoにはこれ以外にもスタートセンター・KPI等レポート機能を備えています。ログインしたと同時に表示されるスタートセンターのKPIで表示されるサマリー情報で十分と感じるかもしれません。また、BIRTのレポート機能は強力な機能ですが、Cognos等の専用ツールにはかなわない部分もあります。ユーザーの要求に応じて最適な方法でレポート機能を選択することが重要です。


注釈

*1 Maximo Base ServiceとはMaximo関連製品の共通部分を指しています。製品、ガイド、マニュアル等にはこれ以外にTivoli Process Automation Engine、Tivoli Process Automation Platformとなっている所もあります。2008年10月以降、IBMでは、このMaximo関連製品が持つ共通機能としてのフレームワークを指してTivoli Process Automation Engineと呼んでいます。

*2 BIRTとはBusiness Intelligence and Reporting Toolの略です。BIRTはEclipse Projectの1つでレポート・帳票開発プラットフォームです。

*3 クエリー・ベース・レポート機能を完全に使用するためには、Maximo Base 7.1.1のFP3以降を適用してください。

参考文献

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Tivoli (service management)
ArticleID=375584
ArticleTitle=Maximo シリーズ: Part 5 - Maximo BIRT Reporting
publish-date=04102009