レポート クエリのフォーマット(Formatting a Report Query)

レポート クエリは、レポートを表示するレポートジェネレーターと SQL データベースから情報を検索する1つ以上の SQL クエリの構造化された情報を含みます。

ノートパッド等のテキスト エディターでクエリを作成し、それらを Unicode 形式の .crp ファイルとして保存します。

レポート クエリをフォーマットするには:

  1. ノートパッド等のテキスト エディタを開きます。
  2. 次の要素を使用してレポート クエリを作成します:
    @[query_identifier]

    例:@[GroupMembers]

    §Name [display_name]

    例: §Name [選択されたグループのユーザーの詳細]

    §Company [company_name]

    例: §Company [SOLIDWORKS]

    §Description [description]

    例: §Description [選択されたグループのすべてのメンバーをリストします。]

    §Version [version_number]

    例: §Version [1.1]

    §Arguments [ type
                                     name[count] [instruct] ]

    ここで、

    • type : 事前に定義された引数タイプ

    • name : SQL クエリの WHERE 要素で使用される変数

    • [count] : どのように値が SQL クエリに戻されるかを定義

    • [instruct] : レポート ジェネレーターでユーザー インストラクションとして表示

    レポート クエリは、複数の引数を持つことができます。

    引数のすべてのコンポーネントは1行でなければなりません。
    例:
    §Arguments [ GroupID TheGroupID[N] [Select groups] ]
    §Sql [ ]
    例:
    §Sql [ ]
  3. Microsoft SQL Server Management Studioで、T-SQL クエリを作成し、SQL データベースから情報を取得します。
  4. SQL クエリをレポートクエリの §Sql [ ] セクションにコピー&ペーストします。
  5. オプション: レポート ジェネレーターでレポートが実行されるとき、引数が直接評価されるようにしたい場合、SQL クエリの WHERE 要素を変更します。
    ステップ 2で、引数は、[GroupID TheGroupID[N] [Select groups]] です。 レポートが実行されるとき、ユーザーによって選択されたグループに基づくデータを返すために、変数名 TheGroupID を使用できます。

    これを達成するために、次の T-SQL クエリシンタックスで、G.GroupID = 2{G.GroupID, TheGroupID, =, OR} で置き換えます。

    T-SQL クエリ シンタックス
    WHERE G.GroupID = 2 AND G.GroupID = M.GroupID AND U.UserID = M.UserID
    レポート クエリ シンタックス
    WHERE {G.GroupID, TheGroupID, =, OR} AND G.GroupID = M.GroupID AND U.UserID = M.UserID]
  6. クエリを .crp ファイルとして保存します。
  7. .crp ファイルをレポート ジェネレータにインポートし、レポートを実行します。

レポート クエリの例

次のレポート クエリは、デフォルトで C:\Program Files\SOLIDWORKS PDM にある install_dir にインストールされた Report Examples 1.crp にあります。

@[GroupMembers] §Name [選択されたグループのユーザーの詳細] §Company [SOLIDWORKS] §Description [このクエリは、選択されたグループのすべてのメンバーをリストします。] §Version [1.1] §Arguments [ GroupID	TheGroupID[N] [Select group(s)] ] §Sql [ SELECT U.Username, G.Groupname, G.Description FROM Users U, Groups G, GroupMembers M WHERE {G.GroupID, TheGroupID, =, OR} AND G.GroupID = M.GroupID AND U.UserID = M.UserID ]

このファイルはユーザーがレポート ジェネレーターの中にインポートすることができる追加のレポート クエリを含みます。