Reporting Service

Reporting Service製作群組分頁報表

陳淑敏 2017/12/30 15:27:05
5953

Reporting Service製作群組分頁報表


簡介

介紹如何利用Reporting Service製作群組分頁報表

作者

陳淑敏


1. 前言

報表在企業內部程式功能也是很常產出的資料來源分析的媒介,而此次介紹的 Reporting Services 是一個伺服器架構的報表平台,它可以用來建立和管理包含來自關聯式與多維度資料來源之資料的表格式、矩陣、圖形和自由形式報表、 PDF Excel 檔,所以就讓我們用此工具練習如何做一份群組分頁的報表。

2. 開始前準備

2-1 實作此報表是建立於以下版本的環境:
  • SQL Server Data Tools for Visual Studio 2013
  • SQL Server 2016

2-2先建立資料表[Score],執行以下語法即可:

USE [Test]

GO

/****** Object:  Table [dbo].[Score]    Script Date: 2017/12/27 上午 11:24:38 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Score](

       [ClassID] [varchar](10) NULL,

       [StuID] [varchar](20) NULL,

       [StuName] [nvarchar](20) NULL,

       [StuGender] [char](1) NULL,

       [MATH] [int] NULL,

       [ENGLISH] [int] NULL,

       [COMPUTER] [int] NULL

) ON [PRIMARY]

 

GO

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-1', N'923101', N'魏小平', N'1', 98, 99, 78)

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-1', N'923102', N'連小景', N'1', 78, 96, 78)

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-1', N'923103', N'吕小賀', N'1', 84, 87, 63)

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-1', N'923104', N'周小進', N'1', 76, 92, 98)

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-2', N'923201', N'游小康', N'1', 98, 99, 88)

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-2', N'923202', N'林小雨', N'2', 78, 92, 92)

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-2', N'923203', N'楊小群', N'1', 73, 93, 68)

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-2', N'923204', N'陳小恩', N'2', 89, 87, 98)

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-2', N'923205', N'谢小静', N'2', 95, 72, 92)

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-2', N'923206', N'陳小芳', N'2', 93, 78, 68)

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-3', N'923301', N'歐小侃', N'1', 92, 71, 62)

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-3', N'923302', N'趙小剛', N'1', 90, 72, 79)

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-3', N'923303', N'黄小瀟', N'2', 80, 93, 93)

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-3', N'923304', N'程小龍', N'1', 81, 87, 89)

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-3', N'923305', N'盧小城', N'1', 62, 88, 92)

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-3', N'923306', N'董小偉', N'1', 82, 80, 80)

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-3', N'923307', N'王小源', N'1', 85, 90, 92)

INSERT [dbo].[Score] ([ClassID], [StuID], [StuName], [StuGender], [MATH], [ENGLISH], [COMPUTER]) VALUES (N'3-3', N'923308', N'周小希', N'2', 99, 100, 92)

 

撈取已建立完成的資料表[Score ]

SELECT * FROM [dbo].[Score]

3. 實作演練

3-1 建立報表伺服器專案
開啟 SQL Server Data Tools for Visual Studio 2013 ,選擇檔案 -> 專案 -> 商業智慧 ->Reporting Services-> 報表伺服器專案 ( 如下圖紅框所示 ) ,即可建立完成。
3-2 建立共用資料來源:
設定報表資料來源,開啟方案總管->共用資料來源按右鍵點加入新的資料來源->一般頁面填寫下圖紅字資訊->認證選擇不要使用認證,即可建立完成。
3-3 建立報表
建立報表,開啟方案總管->報表上按右鍵點加入->新增項目->填寫報表名稱,即可建立完成。
3-4定義資料表報表的資料來源
定義報表的資料來源,在報表反灰處點選一下 ( 下圖紅字處 ) -> 再選擇檢視 -> 選擇報表資料 -> 跳出報表資料視窗 -> 在資料來源按右鍵點加入資料來源 -> 設定資料來源屬性 一般頁面 ( 如下圖紅框 ) ,即可定義完成
3-5 定義資料表報表的資料集
定義報表的資料集,報表所用的資料是包含在「資料集」中,在報表反灰處點選一下 ( 下圖紅字處 ) -> 再選擇檢視 -> 選擇報表資料 -> 跳出報表資料視窗 -> 在資料集按右鍵點加入資料集 -> 設定資料集屬性 查詢頁面 ( 如下圖紅框 ) ,即可定義完成。
3-6開始製作報表 
  • 3-6-1編輯報表相關資訊:打開報表檔(rdl),在空白處點選右鍵選擇插入->首頁,並拉取文字方塊編輯標題,頁數,日期,時間等資訊,上述資訊可拉取內建欄位(如下圖紅框所示),即可編輯完成。
  • 3-6-2將資料表加入至報表:在空白處點選右鍵選擇插入->資料表,並拉取資料表欄位資料放置對應的位置內(如下圖紅字所示),即可編輯完成,之後可點選預覽頁籤查看資料呈現的結果。 
  • 3-6-3將群組新增至報表:在資料列群組視窗的詳細資料按右鍵選擇加入群組->父群組,此次實作是要依據ClassIDStuGender作群組 (如下圖所示),另再針對ClassID作分頁,即可完成群組分頁,之後可點選預覽頁籤查看資料呈現的結果。
  •  3-6-4將總計新增至報表:分別在ClassIDStuGender上按右鍵選擇加入總計->後方(如下圖所示),即可完成群組總計,之後可點選預覽頁籤查看資料呈現的結果。

4. 參考來源

l   https://docs.microsoft.com/zh-tw/sql/reporting-services/lesson-1-creating-a-report-server-project-reporting-services

陳淑敏