(2)簡単なクライアントアプリケーション開発
(ア)開発モジュールの起動とデータベース作成
CubeWalkerは開発モジュールと実行モジュールの2つで構成されています。開発者は開発モジュールを使用してアプリケーションを構築します。開発モジュールは各種設定情報やMDX文などをリレーショナルデータベースに登録します。実行モジュールはそれら設定情報とMDXをデータベースから読みながら動作します。ではまず、開発モジュール(CW Conductor.exe)を起動しましょう。
最初にCubeWalkerの設定データ格納用のリレーショナルデータベースに接続します。初回接続時には次のようなメッセージが表示されます。[はい]をクリックすると接続先データベース内にプロジェクトを作成します。
CubeWalkerの試用版を使う場合は、次のような「プロダクトキー入力」画面では何も入力せず[OK]ボタンを押下します。
(イ)キューブへのセッション追加
ログインすると、次のような画面が表示されます。
右上の[接続先]に現在ログインしているリレーショナルデータベースが表示されます。ここに、SQL Server Analysis Servicesへの接続を追加します。
右クリックで[接続先の追加]を選択すると、「接続先の編集」画面が表示されます。
「接続先の編集」画面で任意の名称を入力し、DB種類に[SQL Server Analysis Services]を選択、Data Sourceにキューブが作成されているマシン名、Initial Catalogに多次元データベース名を入力して[OK]ボタンを押下すると、接続が登録されます。[接続テスト]ボタンを押下することで接続の確認ができます。
(ウ)画面の作成と検索条件項目の作成
キューブへの接続が追加できたら、画面プログラムの作成です。開発モジュール左上の[メニュー]エリアにて右クリックし、[メニュー項目の追加]を選択してください。
次のような画面が表示されるので、任意のメニュー名称を入力し、[スタイル]項目で[ダブルクリックでフォームを開く]を選択して[OK]ボタンを押下します。
すると、メニューエリアに、登録したメニューが表示されるので、当該メニューを必ずチェックしてください。[フォーム未設定]を選択し、右クリックで[新規作成]-[リストフォーム]を選択します。
次のような「新規作成フォーム」の画面が表示されます。[キャプション]欄が新規作成するフォームのキャプションになりますので、任意の名前を入力します。このとき[検索対象接続先]を「現在のデータベース」ではなく、「接続先の編集」画面で追加したSQL Server Analysis Servicesへの接続を選択してください。
CubeWalkerで作成するフォームの基本は下図です。上部に検索条件項目を配置するエリアがあり、下部は検索結果を表示するグリッドエリアになっています。
検索条件項目は開発モジュール右側の[検索条件]エリアで作成します。ここでは最も簡単に、検索対象の年度を文字入力する検索条件を追加してみます。[スタイル]-[文字]を選択し、右クリックで[追加]を選択すると、次のような画面が表示されます。
ひとまずこのまま[OK]ボタンを押下します。すると、下図のような画面が表示されます。
DB項目名が、MDXが受け取るパラメータになります。MDXは2バイトコードをパラメータとして受け取れないため、この欄は半角英数字で入力してください。
ここでは年を指定させるため、DB項目名を「NEN」、スタイル欄を「数字のみ」、前キャプションのテキストを「年」、最大文字数を「4」にして[OK]ボタンを押下します。
検索条件エリアに新規検索条件項目が追加されたのが確認できるので、その項目をフォーム上の検索条件エリアにドラッグ&ドロップします。
検索条件項目がフォームに配置されます。フォーム上検索エリアの空いている部分(検索条件項目が配置されていない部分)で右クリックし、[保存]を選択します。
(エ) 画面の検索MDX作成
次に、この画面が発行するMDXを記述します。作成中のフォームの右側に、既に[検索]ボタンが配置されています。これを押下すると、次のような画面が表示されます。
この画面がMDXの編集画面です。先ほど画面に配置したパラメータが既にパラメータ欄にありますので、[処理]欄に、このパラメータを使用したMDXを記述します。
CubeWalkerは、ADOMD.Netを使用し、プロシージャ化したMDXを発行します。そのため、記述するMDXがパラメータを受け取る場合、そのパラメータは「StrToMember
」などの関数を使用してMDX内にて使用します。
SELECT { [Measures].[URIKINGAKU] } ON COLUMNS, { StrToMember(‘[URIAGE DATE].[YYYY-MM-DD].[‘
+ @NEN +’]’).Children } ON ROWS FROM [Sales]
MDXを記述し[OK]ボタンを押下すると、クライアントアプリケーションが完成します。
(3)実行モジュールによる動作
(ア)ライセンスファイルの作成
CubeWalkerの実行モジュールを動作させるためには、専用の接続情報ファイルを生成し、同じフォルダに配置する必要があります。接続情報ファイルは開発モジュールの[ツール]メニューから生成できます。
上図の[システム名]は、実行モジュール起動時、メニュー画面の上部に表示される「システムの名前」です。ただし、試用版の場合はかならず「試用版」と表示されるので、この欄に入力した名前は表示されません。
(イ) 実行モジュールの起動
作成した接続情報ファイル(BloLicense)を実行モジュール(CW.exe)と同じフォルダに配置し、実行モジュールを起動します。
このように、CubeWalkerでは、多次元データベースにMDXを発行するクライアントアプリケーションを、とても簡単に作成できます。
CubeWalkerでは、このほかにもさまざまな機能を持ったアプリケーションも開発可能です。詳しくは試用版とともにダウンロードされるマニュアルを参照ください。
まとめ
本連載の最終回である今回は、MDXを発行するクライアントアプリケーション、特に開発ツール「CubeWalker」を使用したアプリケーションの作り方について解説しました。SQL Server Analysis Servicesを使用したBIシステムの構築の際には、ぜひ検討ください。
参考資料
- 『SQL Server Books Online - Microsoft』
- 『MDX Solutions』George Spofford・Sivakumar Harinath・Christopher Webb・Dylan Hai Huang・Francesco Civardi著、Wiley社、2006年3月