[转摘] Reporting Service 200

在使用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,”N2”)。

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:日期,如:2006-10-13 T10:00:00

      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

作者:Novus
出处:http://www.cnblogs.com/novus/
本文版权归作者和博客园共有,欢迎任何形式的转载,但请务必注明出处。

原文地址:https://www.cnblogs.com/novus/p/1763496.html