【HOWTO】 System Center Configuration Manager 2007 R2/R3 のレポートで利用するレポート モデルの作り方
SCCM 2007 R2 以降で SQL Server Reporting Services を活用できることは、前回のポストでも触れましたが、実際のところ Reporting Services ポイントを構成した後にカスタマイズするレポートについては、いくつか考慮する必要性があります。
その中で、一番ポイントとなってくるのが、レポート モデルになります。
既定で利用できるレポート モデルは、2つしか存在しておらず、その情報だけではカスタマイズしたレポートの幅も限られてきます。
勿論、既存のレポートモデルを利用したカスタム レポートは最大限に活用できるものと思いますが、必ずしもお客様の用途を満たすとは限りません。
そこで、環境で必要とされるレポートを作成することを簡易化するために、レポートモデルを作成していきましょう。
基本、レポートモデルの作成は SQL Server Business Intelligence Development Studio で作成します。Shell は Visual Studio 2008 なのが、チョット残念ですが、用途は確実に満たせます。
VS のプログラムの作成と同様、レポート モデルを作成するにも同じようにプロジェクトを作成します。
作成するプロジェクトは「レポート モデル プロジェクト」です。
プロジェクトが出来上がると、ソリューションの中に、「データソース」、「データソースビュー」と「レポート モデル」が表示されます。
レポートモデルを作っていくにあたって、どのデータベースから (データソース)、どのテーブルやビューから必要情報を引っ張ってきて (データソースビュー)、必要な情報だけをひとつのデータのモデルとして構築するか (レポート モデル) と言うことになります。
なので、定義していく情報も、上から順に、「データソース」を追加し、「データソースビュー」を追加し、「レポート モデル」を作成する・・・と言う流れになります。
データソースの追加と言う点では、当然ながら SCCM のデータを利用するので SMS_<サイト コード> となるものを指定して、そのコネクションを確立します。
その後、データ ソース ビューを作っていくところでは、SCCM のデータベースの中に格納されている大量のデータの中から、どのテーブルに格納されているビューを利用するかを指定します。
既に SQL View のスキーマを理解されている場合は、フィルタなどを利用して適切なビューを選択してください。
簡単なサンプルとして、ここでは v_R_System のビューと、v_GS_OPERATING_SYSTEM のビューを利用します。
そのまま、両方のビューをレポートモデルとしても特にいけないことはありませんが、各ビューの中には、レポートの中では特に必要としないデータや列も沢山存在しています。
なので、どちらかと言うと、必要なビューやテーブルから必要なデータだけを読み取る、レポート モデルを作った方が、実際にカスタム レポートを作っていくにあたって有効活用しやすくなると言う考えです。
名前つきクエリの作成をする時には、上記のようなパネルが表示され、どのビューを利用しているか・・・その中に含まれるデータの情報、そしてそれらのデータを引きだすための SQL 構文が表示されます。
複数のテーブルやビューをひとつのクエリを利用してモデルを構成するには、ハイライトしているボタンをクリックし、参照するテーブルやビューをこのパネルの中で追加していきます。
ここでは、v_R_System のビューと v_GS_OPERATING_SYSTEM のビューを結合して、必要なデータのみを読み込むレポートモデルを作成します。
GUI の中で、各ビューの中から利用するであろうデータ列のみを選択することと、最終的には2つのビューを InnerJoin (結合) するために、これらのビューの場合は ResourceID を利用してつなげます。
すると、上記のように2つのビューから必要なデータだけを引き出すクエリが自動的に作成され、それをベースに1つのレポート モデル用のテーブルが構成されます。
こんな感じに。この段階で、1つのデータベースだけで用途は済むので、v_GS_OPERATING_SYSTEM のテーブルはこのレポートビューソースからは削除しちゃって大丈夫です。
最後に、レポート モデルを追加し、そこで利用するデータソースビューを上記で作成したものを指定…
名前をつけて、実行すると、下記のようなレポート モデルが作成されます。
作ったレポート モデルは、「配置」することで、Reporting Services に発行されます。
その後は、カスタム レポートを作成する際に、利用するレポート モデルとして参照できるようになります。ただ、この段階では SQL Server Report Builder からのレポートモデルの参照しかできませんので、管理コンソールからレポート モデルを利用したい場合は、管理者UIを読み込む XML ファイルの編集が必要になります。
上記含め、諸々の詳細を聞きたい場合は、是非、プレミアで呼んで下さいっ!!
か・・・ご自身で、色々と情報に目を通して下さいませ・・・