このようにあるMicrosoft SQL データベース(SLDemoJPN01)がローカルに存在します。
このデータベースにSharperlightを接続してデータの抽出を行います。
データモデルを作る
Sharperlightアプリケーションメニューから「スタジオ」を選択します。
スタジオ
ダイアログが表示されます。新規作成なので、Newアイコンをクリックします。
(スタジオは日本語化されていません。)
新しい製品(New Product)ダイログが表示されたら、説明とコード、対象データベースエンジンを選択し、OKをクリックします。
コードは、既存の製品と重ならないようにします。またレポート等を作成した後は変更できないので、あらかじめよくお考えのうえ、短くてもこの製品を認識し易いコードを設定しましょう。
データベースの接続用ダイアログが表示されるので、対象データベースを設定して接続の正常動作を確認しましょう。確認が済んだらOKを押します。
メッセージが表示されるのでYesをクリックします。
オブジェクトのインポートダイアログが開くので、フィルター条件等は初期状態のままでテーブルの取得(Get Tables)ボタンをクリックします。
接続しているデータベースからテーブルとビューが取得されます。
今回は全て必要ということで、すべてのオブジェクトが選択されている状態でOKをクリックします。
n個のテーブルが作成されましたというメッセージが表示され、データモデルへのスキーマ情報の作成が完了します。
上記メッセージでOKをクリックすると、作成されたテーブルおよびフィールド情報が拝見できます。
Sharperlightエンジンは、この情報を元に動的にクエリ文を作成し発行します。これらは基本的な初期設定ですが、より高度なレポーティングや分析を行う場合は、各種プロパティを設定することで対応できるようになっています。
ではこのデータモデルを保存します。保存(Save)アイコンから保存を実行することができます。
通知ではOKを押して次に進みます。
C:\ProgramData\Sharperlight\MetaData\QiitaDemo.metaがSharperlightデータモデルの所定の保存場所です。保存(Save)ボタンを押して保存しましょう。
保存が終了すると、”クライアントのセットアップ”でデータベースへの接続設定を行ってくださいというメッセージが表示されます。Yesをクリックして次に進みます。
クライアントのセットアップ
が開くので接続詳細を設定します。接続テスト行いOKをクリックして終了です。
スタジオは開いたままですが、保存済なので閉じて大丈夫です。
保存の確認メッセージが再度表示されますが、YesでもNoでも大丈夫です。
新しい製品でクエリを作成
Sharperlightアプリケーションメニューから「クエリビルダ」を選択します。
クエリビルダ
ダイアログは開きます。先ず製品を選択しましょう。
次にテーブルを選択します。ここでは、プロダクト(Products)テーブルを選択します。
選択
階層表示にプロダクトテーブルのフィールド一覧が表示されます。ここではすべてのフィールドを単純に出力するということで、右クリックメニューから”すべてを出力”を選択します。
出力
領域にフィールドが設定されました。
では早速、プレビューをしてみましょう。プロダクト(Products)テーブルからデータが返ってきました。
Sharperlightエンジンが、データモデルを元にどのようなSQL文を作成し実行したのか見てみましょう。左から2番目のアイコンのサブメニューから、”SQLステートメント”を選択します。
このようにSQL文が確認できると思います。この機能は、データモデル設計時などのデバッグツールとしても活用できます。
尚、別の記事で紹介しますが、このようにデザインしたクエリはファイルに保存でき、SharperlightのパブリッシャーやExcekアドイン等で使用することが可能です。
保存機能は、クエリータブのフィルター領域の右クリックメニューからアクセスできます。