Reporting Service Visual Stduio
▌背景
It's
never too late to learn!
在此紀錄一下SSRS的入門開發過程。
▌環境
|
在最後一個步驟,輸入報表名稱並選擇預覽。
結果:
▋建立進階報表
假設我們以呼叫Stored Procedure,且須提供參數當作查詢條件;
改以【加入】→【新增項目】加入一個新的報表。
在報表資料手動加入DataSource:右鍵點選【資料來源】→【加入資料來源…】
直接選擇共用的資料來源。
建立新的DataSet:右鍵點選【資料集】→【加入資料集…】
在「查詢」頁籤,設定要使用哪個DataSource的Sql查詢或Stored Procedure (後文簡稱SP)。
備註: 此範例測試的SP如下
CREATE PROCEDURE
[dbo].[sp_jb_test]
@QueryName NVARCHAR(50)
AS
SELECT *
FROM
(
SELECT 'JB'
AS NAME, 'karatejb@blogspot.com'
as Blog, '0933-XXX-XXX' as TelPhoneNumber
UNION SELECT
'Lily' AS NAME, 'karatejb@blogspot.com' as
Blog, '0910-XXX-XXX' as TelPhoneNumber
UNION SELECT
'Leia' AS NAME, 'karatejb@blogspot.com' as
Blog, '0921-XXX-XXX' as TelPhoneNumber
) x
WHERE NAME
LIKE '%'+@QueryName+'%'
GO
|
在「參數」頁籤,可以看到SP的參數,在後面輸入 “[@參數名稱]”,表示這個參數的值是從報表的操作介面讀入使用者輸入的參數值。
建立DataSet後,接下來只要設計報表就可以了。
l 格式及字體: 自己調
XD
l 下方的明細只要從剛才建立的DataSet中,直接拖曳欄位過去即可。
l 查詢名字:
在右鍵運算式中,選擇參數中的QueryName (使用者輸入的查詢條件)。
l 列印日期:
直接使用內建的函式,取得目前的系統日期和時間。
建置後,可按下【預覽】來執行SSRS囉!
▋以其他DataSet的查詢結果作為報表的輸出欄位值
在報表會有一些固定欄位值要輸出,例如上例的列印日期和查詢者,
當然SSRS內建的運算式在一般情況下已經夠用了,但是如果是特別的值,如果可以用Sql語法查詢是不是比較方便呢? 這時候我們就可以用新增另一個DataSet的方式來達到這個目的。
以列印日期為例,我們改以從Sql Server查詢回來地系統的日期時間作為其輸出值。
在報表資料加入第二個DataSet 如下
報表 - 列印日期的運算式改為以DataSet2的結果為主。
PS. 在非明細的輸出欄位,必須做”彙總”資料! 否則會出現錯誤,在這邊SSRS已經幫我們加上First()以查詢結果第一個值作為輸出。
預覽結果
▌Reference
沒有留言:
張貼留言