在使用Reporting Service 2000过程中,对一些特殊的地方做了一些总结,下子把它贴出来,供大家参考:
1.IIF表达式如何使用?
在很多地方,都可以使用IIF表达式来实现一些特定的操作,比如图片的隐藏与显示,数据的条件显示等等。
IIF表达式的语法为:IIF(Expression,value when true,value when false),IIF表达式可以嵌套使用。
2.Reporting Service支持多语言吗?
支持,可以参见Language属性。该属性可以确定报表的一些基本格式,如货币符号,数字格式等。
如果Language确定该报表是美国的语言,那么它的货币符号是:$,数字格式:20,000.00;而如果Language确定该报表是欧洲的语言时,那么它的货币符号是:€,数字格式:20.000,00。
那么如何动态设定报表的语言呢?报表的语言必须放在参数中,而不能来自于DataSet
3.报表表头/脚可以处理DataSet中的数据吗?
不可以。可以通过参数来间接处理。
4.如何设置混合内容脚本的格式呢?
如€ 20.000,00,那么可以这么写:” €” & “ “ & Format(number,”N
5.报表导出到pdf文件时,为什么中间会有空页出现呢?
是由于报表的宽度过宽或长度过长所引出的问题。报表的页边距可以在报表属性中设置。
6.报表部署到Report Server上时,打开报表为什么会出错呢?
有可能是因为报表模板的数据源没有设置正确的原因。
7.如何让报表的参数不显示出来呢?
将参数的Prompt设置为空。
8.报表的参数可否依赖于其他参数呢?
可以,比如有两个参数:LANGUAGE,LOGO,LANGUAGE来自于客户输入,LOGO的内容可以是根据LANGUAGE取出的数据。也可以说,在输入LANGUAGE前,LOGO参数还没有数据可以供选择。
9.建立存储过程数据源有哪些方法?
有两种方法,一种是存储过程,另一种是TEXT。两种方法基本一样。但是在创建数据源的时候,有可能会出现一种情况,那就是输入了存储过程的名字,然后点 来更新字段,结果字段为空,这种情况极有可能是vs.net2003的一个bug,解决办法有:手动增加Fields。
10.报表文件可以分文件夹存放吗?
不可以。你即便添加了已存在的.rdl文件,那么它会在项目根目录下重新加一条.rdl文件。
11.报表中的数据格式有哪些?
Cnum:C=金额,num为小数位数,如C3=¥12,345.679
Dnum:D=整数,num为整数的位数,如D5=01234
Enum:E=科学记数法格式,num为E前面数字的小数位数,如E3=1.235E+004
Fnum:F=浮点数,num为浮点数的小数位数,如F2=12345.68
Gnum:G=数字,num为精确位数,如G2=1.2E004,G3=1.23E004,G5=12346…
Mnum:M=月日,num不太清楚
Nnum:N=Numeric,num为小数位数,如N2=12,345.68
Pnum:P=百分比,num为百分比的小数位数,如P3=1,234,567.890%
R:数字
S:日期,如:
T:小时分钟,如:16:19
U:通用时间,如:2006-10-13 10:00:00Z
X:
Y:年月,如:2006年10月
12.Report中有哪些内置函数可以使用?
First,Sum,Count,Format,RowNumber,RunningValue等。
Reporting Service 是Microsoft提供的整合在Microsoft SQL Server中的一款报表开发工具。由于一直使用SQL Server 2000,所以Reporting Service 2000也就是理所当然的选择。而Reporting Service 2000是Reporting Service的第一个版本,所以里面仍然存在一些bug,以及使用不是很爽的地方,下面我就在我自己开发过程中,所遇到的问题,做个基本的整理,以及相关的对策。
1.提示一些GDI+,#TMP(临时表名)不存在等错误。
这是Reporting Service在预览报表,以及执行数据源,尤其当以用到临时表的存储过程作为数据源时,会出现这个问题。
对策:置之不理,因为部署到服务器上后,可以正常浏览。
2.以存储过程作为数据源时,更新Fields,有时会清空所有Fields.
有时,以存储过程作为数据源的时候,打开Fields,并更新fields,发现fields里面是空的。
对策:打开数据源的编辑界面,进入Fields面板,手动增加。
3.Reporting项目中,不可以建立文件夹,也就是不能把报表按照文件夹进行归类,只能全部放在根目录下。
对策:没有好的解决办法。
4.使用存储过程作为数据源时,存储过程内不能引用使用临时表的存储过程,否则会出现错误。
如报表存储过程A,在A中调用了存储过程B,而在存储过程B中存在临时表,那么在查询分析器中执行一切都正常,但是把A作为报表的存储过程,那么在里面查询数据,或者浏览报表时,就会出现问题。
对策:把存储过程B的内容拷贝到A中(权宜之计)。
5.含有中文的Reporting Service报表导出成pdf格式文件时,会出现乱码。这个问题在reporting service 2000中无法解决。
转摘自:http://blog.csdn.net/hcjy0826/archive/2008/04/24/2322785.aspx