SQL-Server2008-Reporting-Service开发经验分享.docx
- 文档编号:14662307
- 上传时间:2023-06-25
- 格式:DOCX
- 页数:45
- 大小:6.30MB
SQL-Server2008-Reporting-Service开发经验分享.docx
《SQL-Server2008-Reporting-Service开发经验分享.docx》由会员分享,可在线阅读,更多相关《SQL-Server2008-Reporting-Service开发经验分享.docx(45页珍藏版)》请在冰点文库上搜索。
第1节SQLServer2008ReportingService开发经验分享
1.报表服务器的参数配置
1).打开报表服务配置管理器
单击”开始”—“所有程序”---“MicrosoftSQLServer2008”,然后单击”配置工具”
再双击”ReportingService配置管理器”
2).设置报表服务器的登陆帐户和密码
服务帐户最好默认使用报表服务器的本地管理员用户或局域网的管理员用户和密码
3).设置报表服务器的报表目录和服务器IP地址以及网络端口
4).设置报表服务器的数据库名称
5).报表服务器URL管理和编辑
通过后更改服务器IP地址,服务名称,网络端口,来修改服务的报表服务器的网络地址
2.创建报表服务器项目(ReportingServices)
1).打开SQLReports编辑器
单击“开始”,依次指向“程序”和MicrosoftSQLServer2008,
然后单击BusinessIntelligenceDevelopmentStudio。
2).新建报表项目
在“文件”菜单上,指向“新建”,再单击“项目”。
在“项目类型”列表中,单击“商业智能项目”。
在“模板”列表中,单击“报表服务器项目向导”。
3).报表服务器项目向导,单击”下一步”
4).配置SQLServer数据源连接
a.确认数据源名称b.确认数据库类型c.编辑数据源连接d.选择服务名称,可以手输入
e.数据库连接的身份认证,可以选择Windows身份认证和SQLserver身份认证
f.选相应的数据库g.测试连接是否成功h.单击”确认”完成连接编辑
连接字符串:
DataSource=ROSSV7;InitialCatalog=fin_demo
数据连接的类型选择如下图示:
5).配置Orcale数据源连接
a.确认数据源名称ORCLb.确认数据库类型ORACLEc.编辑数据源连接
d.选择服务名称,可以手输入
e.数据库服务器登陆,用户名和密码
f.测试连接是否成功g.单击”确认”完成连接编辑
连接字符串:
DataSource=ORCL
6).报表查询设计
可以导入已经编辑好的SQL文件,可以直接在这里设计查询
7).SQLserver数据库环境下表之间的左关联设计如下:
POP_HEADERSALEFTOUTERJOINPURCHASE_INVOICESIHON
A.DIVISION=IH.DIVISIONAND
A.COMPANY_CODE=IH.COMPANY_CODEAND
A.PO_NUMBER=IH.PO_NUMBER,
表之间的等连接设计如下:
WHEREA.DIVISION=B.DIVISION
ANDA.COMPANY_CODE=B.COMPANY_CODE
ANDA.PO_NUMBER=B.PO_NUMBER
8).Oracle数据库环境下表之间的右关联设计如下:
WHEREA.COMPANY_CODE=B.COMPANY_CODE(+)
ANDA.PART_CODE=B.PART_CODE(+)
ANDA.COMPANY_CODE=C.COMPANY_CODE(+)
ANDA.PART_CODE=C.PART_CODE(+)
ANDA.WAREHOUSE=C.WAREHOUSE(+)
9).SQLServer数据库环境下的查询设计中的参数设置
SQL环境下参数前用”@”表示
((CASEWHENA.COMPANY_CODE='1'THEN'VGM'
WHENA.COMPANY_CODE='2'THEN'VFL'
ELSE'VSL'END)IN(@COMPANY)ORUPPER(ISNULL(@COMPANY,'ALL'))='ALL')
AND(A.PO_NUMBERIN(@PO_NUMBER)ORISNULL(@PO_NUMBER,'ALL')='ALL')
AND((A.ORDER_DATEBETWEEN@BDateAND@EDate)OR(ISNULL(@BDate,'DD')='DD'ANDISNULL(@EDate,'DD')='DD'))
AND(DATEDIFF(DD,GETDATE(),B.REQUIRED_DATE)<=@DiffDayORISNULL(@DiffDay,'N')='N')
**********************************************************************
(1).SQLServer环境下的条件判断语句
CASEWHENconditionexpress1THENresult1
WHENconditionexpress2THENresult2
ELSEresult3
END
(2).SQLServer环境下的空判断语句
ISNULL(express,result)
10).Oracle数据库环境下的查询设计中的参数设置,单击”下一步”
Oracle环境下参数前用”:
”表示
AND(DECODE(A.COMPANY_CODE,'1','VGM','2','VSL','3','VFL',NULL)IN(:
COMPANY)ORNVL(:
COMPANY,'ALL')='ALL')
AND(A.PART_CODEIN(:
PARTCODE)ORNVL(:
PARTCODE,'ALL')='ALL')
AND(A.WAREHOUSEIN(:
WAREHOUSE)ORNVL(:
WAREHOUSE,'ALL')='ALL')
AND(A.DOCUMENT_NUMBER=:
DOCNOORNVL(:
DOCNO,'ALL')='ALL')
***********************************************************************
(1).Oracle环境下条件判断函数使用
DECODE(express,condition,result(conditiontrue),result(conditionfalse))
(2).Oracle环境下空判断函数使用
NVL(express,result)
11).SQL查询的参数输入框
查询设计完成单击”下一步”,出现参数输入框,可以输入参数值查询结果;
可以直接单击”确定”
12).选择报表的类型
表格就是一般的数据列表
矩阵可以做成交叉表的格式,单击”下一步”
13)报表的分页分组及报表详细信息字段的设置,单击”下一步”
分页:
COMPANY_CODECOMPANY_NAME
分组:
PO_NUMBER
详细信息:
PCOSTCENTER,PREQUIREDDATE,REQUISITION_NUMBER,PUSERNAME
APPROVER,PO_NUMBER,ORDER_DATE,BUYER_CODE,USERNAME,POP_ORDER_TYPE
14).报表布局的选择
渐变和块两种,是否小计和启用明细选项(即可折叠报表明细资料),单击”下一步”
15).选择报表样式,即表头的风格,单击”下一步”
16).报表部署设置,设置报表服务器和项目文件夹目录,单击”下一步”
17).报表名称和是否预览报表设置,设置好单击”完成”
报表名称:
PurchaseOrderInformation
预览报表:
18).预览报表,首先要求输入参数值,因为在查询设计时加入了条件参数
19).报表预览结果,报表结果需要进行调整
20).报表调整后条件输入画面如下图示
21).调整后报表预览结果如下:
3.SQLReports报表编辑和调整
1).报表的行添加父组和子组
2).添加父组操作
选择需要添加父组的组,单击右键出现”添加组”,单击”击父组”
添加父组:
PART_CODE
3).添加子组操作
选择需要添加子组的组,单击右键出现”添加组”,单击”子组”
选择子组字段PART_CODE
4).删除组,选择需要删除的组,单击右键出现删除组对话框
删除选项:
删除组以及相关的行和列,即把报表中的该组对应的行和列全部删除
仅删除组,即保留报表中的该组对应的行和列
5).组属性设置,选择需要设置属性的组,单击右键,选择“组属性”
(1).组常规属性选项
(2).用表达式设置组成员
(3).组的分页属性设置
如果该组需要分页则勾对“在组的各实例之间(B)”
(4).组的排序属性设置
设定排序表达式和排序方式
(5).组的可见属性设置
基于表达式的显示设置,当单击表达式对应的字段时就会显示,否则隐藏
(6).组的筛选属性
筛选属性需要设置表达式,运算符以及表达式的值选项
6).设置组成员在分页之后的重复显示
单击组右边的下拉框勾对”高级模式”
选择组成员(静态)
打开组成员属性
选择其他选项
设置属性值:
KeepWithGroupAfter
RepeatOnNewPageTrue
7).单元格合并、拆分及表字段达式的设置
(1).单元格的合并
选择需要合并的单元格,单击右键出现单元格操作选项,单击”合并单元”
(2).单元格的拆分
选择需要拆分的单元格,单击右键出现单元格操作选项,单击”拆分单元”
(3).单元格的字段表达式设置
当鼠标放置该单元格上,在单元格的右下方会出现表达列表图标
单击列表图标,出现字段列表,选择需要设置的字段表达式。
4.单元格的属性设置
选择需要设置的单元格,单击右键出现单元格操作列表框,单击“文本属性…”选项
1).单元格的常规属性设置
常规属性选择:
单元格名称,单元格值(可以是字段也可以使表达式),单元提示,单元的是否允许根据单元格内容进行大小自动调整的设置。
2).单元格数字属性设置
数字类别有默认,数字,货币,日期,时间,百分比,科学型,自定义
(1).数字型
(2).货币型
(3).日期型
(4).时间型
(5).百分比
(6).科学型
(7).自定义格式
3).单元格对齐属性设置
选项:
默认,常规,左对齐,居中,右框线
4).单元格的字体属性设置
可以设置字体格式,大小,颜色,风格及效果等
注意:
单元中有中文字,则应选择中文字体格式.例如:
楷体
5).单元格的边框属性设置
主要有边框的线样式,宽度,颜色等
6).单元格的填充属性设置,主要单元格背景颜色等
7).单元格的可见属性设置
正常显示,隐藏,基于表达式显示等
8).单元格的交互式排序属性设置,排序设置依据组或表达式
9).单元格的操作属性设置
10).单元格的表达是编辑
=IIF(Fields!
DIFF_QTY.Value=0,"5.完成",IIF(Fields!
DIFF_DAYS.Value>7,"1.有效",IIf(Fields!
DIFF_DAYS.Value>0
ANDFields!
DIFF_DAYS.Value<=7,"2.近期",IIF(Fields!
DIFF_DAYS.Value=0,
"3.到期",IIF(Fields!
DIFF_DAYS.Value<0,"4.过期","")))))
5.SQLReportService系统自带的变量及函数
1).内置字段
ExecutionTime()返回报表的执行时间例如:
2012-12-0716:
12:
28
PageNumber()返回报表的当前页码例如:
ReportName()返回当前报表的名称
ReportServerUrl()返回运行报表的报表服务器的URL
TotalPages()返回当报表的总页码例如:
UserID()返回当前登录用户例如:
FSVITASOY\100761
Language()运行报表的客户端的语言ID
2).参数,为用户在SQL查询里设计的参数
3).字段(DataSet1),为用户在SQL查询里定义的字段
4).数据集,数据源集合,数据组集合等
数据组COMPANY组的成员:
COMPANY_CODE,COMPANY_NAME
5).算术运算符
6).比较运算符
7).串联运算符
8).逻辑运算符
9).移位运算符
10).文本函数
11).日期时间函数
12).数学函数
13).检查函数
14).流程函数
15).聚合函数
16).财务函数
17).转换函数
18).杂项函数
6.报表参数属性设置
报表参数集,参数变量以@为标识符
1).参数属性
打开参数目录,选择需要编辑的参数,单击右键点击“参数属性”选项
2).参数的常规属性设置
主要设置参数的名称,保证和SQL查询中的参数名称一致;参数提示名称;
参数的数据类型,和表中字段的数据类型保持一致;参数是否允许为空,在SQL查询中需要进行判空处理;参数是否多选,在SQL查询中要相应运算符;参数是否看见等
3).参数的可用值属性设置
无可用值,指定可用值,从查询中获取值(G)
以下为选择从查询中获取值(G),数据集为POP_NO
引进新的参数数据集POP_NO,因为在DataSet1数据源在未执行查询前无数据可以用.
选择值字段,以下选择POP_NUMBER字段
4).参数的默认值属性设置
默认值即在开始查询报表的该参数所自动带出的值
可以选择无默认值,指定默认值,从查询中获取值(G)
指定值时,单击“添加”按钮,赋指定值或用采用表达式计算值
5).参数的高级属性设置,主要设置参数是否刷新
7.报表的数据集
数据集DataSet1,作为报表的数据集
数据集COMPANY,POP_NO,REQUESTNO,PARTCODE,VENDORS全部为查询条件参数的数据集
1).数据集的建立
选择数据源单击右键,选择“添加数据集”选项
2).建立数据集的SQL查询
设置数据集的名称,选择数据源,编辑SQL查询
作为查询参数的数据集,建议不要再用参数
SQL查询语句
SELECT(CASEWHENCO.COMPANY_CODE='1'THEN'VGM'
WHENCO.COMPANY_CODE='2'THEN'VFL'
ELSE'VSL'END)ASCOMPANY_CODE,
CO.COMPANY_NAME
FROMCOMPANY_CONTROLSCO
UNION
SELECT'ALL','ALL'
3).数据集的参数
以下为数据集DataSet1参数列表
a.参数已经在SQL查询中编辑,系统会自动识别生成数据集的参数列表.
b.可以在参数目录下先创建好参数并设置参数属性,然后再引用到SQL查询中,
SQL查询中也可以不引用参数。
很显然后者的方法效率比较低,但适用于初学的SQLReport开发者。
4).数据集的字段
数据集的字段,来源于SQL查询中的字段
5).数据集的选项属性设置
选项属性,主要是设置排序规则,笔者建议不要在这里设置,可能会影响到报表的速度,
可以直接在SQL查询中用Orderby设置;但此方法适用初学者,或者有必要时用。
6).数据集筛选器属性设置
筛选器主要是设置查询后的过滤条件,笔者建议不要在这里设置,可能会影响到报表的速度,
可以直接在SQL查询中用Where条件增加筛选;但此方法适用初学者,或者有必要时用。
8.报表的预览与调试
1).报表预览
输入查询条件
报表预览结果
2).报表的编辑
(1).根据表达式的显示不同颜色的编辑
(2).表达式的数据类型转换编辑
(3).表达式逻辑判断处理编辑
(4).报表页脚的页码编辑
运行结果如下:
3)报表增加行或删除行
选择需要操作的行,单击右键,“插入行”,“上方”,“下方”
4).设置行的可见性属性
报表运行结果:
订单未展开时行未出现
报表运行结果:
订单展开时行也显示出来
5).报表的属性设置
在报表的边框空白处,单击右键出现报表操作菜单,显示视图标尺,页眉,页脚,报表属性等选项
(1).设置标尺,在报表的上方和左方出现标尺,以便控制报表的尺寸大小
(2).报表页面属性设置,主要有页面尺寸单位,纸张方向,纸张大小和页边距
(3).报表其他属性参数可以不用设,如过有需要时可以设置。
6).报表中插入对象
文本框,折线,表,矩阵,列表,图片,子表,图表,仪表等对象
7).报表的图表展现格式
列柱状图,曲线图,形状图,条形图,面积图,范围图,散点图,极坐标图。
我们可以根据实际工作需要对报表的展现风格进行调整。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL Server2008 Reporting Service 开发 经验 分享