設定報告查詢的格式

報告查詢包含結構資訊,其會顯示報告產生器中的報告,以及從 SQL 資料庫擷取資訊的一或多個 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] 會在報告產生器中顯示為使用者指示

    報告查詢可以有多個引數。

    引數的所有元件都必須在一行上。
    範例:
    §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 檔案輸入至報告產生器,執行報告。

報告查詢範例

以下報告查詢是來自 Report Examples 1.crp,它會安裝到 install_dir (預設位於 C:\Program Files\SOLIDWORKS PDM)。

@[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 ]

此檔案包含使用者可以輸入至報告產生器的其他報告查詢。