设为首页 收藏本站
查看: 991|回复: 0

[经验分享] ***S 2012 Report Items -- 独立报表单元

[复制链接]

尚未签到

发表于 2018-6-16 09:39:54 | 显示全部楼层 |阅读模式
***S 2012 Report Items -- 独立报表单元
  数据区域会与数据集细节以显示数据内容,独立报表单元则与数据集无关(文本框仅能显示单笔数据内容),但是却与报表排版与美观息息相关。
文本框
  有别于“数据表”呈现多笔数据的特性,当我们想要加入标题或是制作报表的表头中的文字,“文本框(Textbox)”可说是最好的选择,“文本框”不但可显示报表中的数据(一次只能显示一笔),同时也可以显示参数,内置字段甚至于表达式的计算结果。前面介绍的数据表或矩阵,其实都可以视为一连串的文本框的组合,更不用提列表了,文本框是列表构成弹性报表结构的重要基本单元。
  在操作方面,一样也是从工具箱拖拉至报表设计区,以刚才的缴费单为例,我们先输入缴费单的学校名称,请将文本框内的文字输入“某某大学”,接下来,在下方再拖放一个文本框,点击此框,选择“表达式”,并输入以下表达式内容:
  <Fields!SchoolYear.Value+”学年度第”+Fields!SchoolSemester.Value+”续期注册缴费单”>
  基本上,这个表达式的意思是将自定义文本以及数据列的文字相加,请记得,***S表达式中的字符串都需要以“双引号”标注。同理,各位可以将原来[SchoolCollege]字段改为“=”学院:”+Fields!CollegeName.Value”,其余字段依次类推。
  在“文本框”中还提供许多属性可以用来变更内容的格式。
  例如,我们将缴费单的学校名称等文本框的“TextAlign”设为“Center”,如此即可将文字内容放在中间。此外,也可以利用字型属性来设置显示的字体以及颜色格式。
DSC0000.jpg

DSC0001.jpg

  需要注意的是,若是文本框内输入的是数字或是日期,可以利用格式化字符串的方式来更新文本框的“Format”属性,以转换成指定数字或日期的格式。这个部分想必各位并不陌生,因为之前的范例中已经利用“C0”字符串格式来调整销售金额的显示格式了,以下我们针对字符串格式做更深入的介绍。
  格式化字符串
  说明
  C或c
  显示操作系统中地区选项所设置的货币格式,包含千分位以及小数点
  D或d
  显示十进制数字,不包含千分号。位数不足前方补零,只支持整数格式
  E或e
  以科学计数显示数字,可指定小数位数
  F或f
  显示十进制数字,不包含千分号,可以指定小数位长度,不足者补零
  G或g
  以科学计数显示数字,不可指定小数位数
  N或n
  数字,包含千分位符号
  P或p
  百分比,可指定小数位数,含千分位
  X或x
  十六位数字,只支持整数数据
  除了少数像是D、G或是X这类只支持整数格式的字符串之外,大多数的字符串格式同时可以指定小数点的精确位数。指定小数位数的方法很简单,只需要在字符串后直接接上要指定的小数位数即可。举例来说,我们希望数值变成小数下两位的货币格式,那么就只要将Format属性设为C2即可。
  关于数值格式的设置,可以参考如下:
  格式化字符窜
  原始数据
  结果
  d8
  1234
  00001234
  f4
  1234.56
  1234.5600
  除了以上的常用字符串格式之外,也可以定制字符串:
  定制数值字符串格式化
  格式
  #
  代表数值位数
  0
  代表数值固定位数
  .
  小数点
  ,
  千分号
  %
  百分比符号
  举例来说,如果我们希望数值保留千分位符号,且小数点下两位,则此时就要在Format属性中填入=”#,###.##”,此时,原来数值“1233.567”就会被格式化为“1,233.57”。格式化字符串“#”与“0”之间最大的差别在于,如果使用“#”,当位数不足时,并不会自动补齐,而如果使用“0”,则会在不足位数之处补零。举例来说,数值“1233.5”的Format设为=”#,###.###”时,则呈现结果为“1,233.5”;但若是Format设为=”0,000.000”时,则呈现结果为“1,233.500”。此外要注意的是,如果是使用默认常见字符串格式,只要直接在Format属性输入格式化字符串即可,如果是使用定制字符串格式时,必须在开头加上等号,同时字符串前后加上双引号。
  日期的格式化就显得更加复杂,因为涉及以符号显示还是以文字显示的问题。以下是默认常用的日期字符串格式。
  日期格式化字符串
  说明
  d
  简单日期
  D
  完整日期(完整年月日)
  t
  简单时间(时分)
  T
  完整时间(时分秒)
  f
  完整日期时间(完整年月日)
  F
  完整日期时间(完整年月日,时间到时分秒)
  g
  一般日期时间
  G
  一般日期时间(时间到时分秒)
  R或r
  RFC1123格式
  日期格式化字符串呈现的结果:
  格式化字符串
  原始数据
  结果
  d
  2004/7/19 下午 10:07:21
  2004/7/19
  D
  2004/7/19 下午 10:07:21
  2004年7月19日
  t
  2004/7/19 下午 10:07:21
  下午10:07
  T
  2004/7/19 下午 10:07:21
  下午10:07:21
  f
  2004/7/19 下午 10:07:21
  2004年7月19日 下午10:07
  F
  2004/7/19 下午 10:07:21
  2004年7月19日 下午10:07:21
  除了使用基本的日期格式化字符串之外,还可以使用定制日期字符串格式来显示时间。
  定制日期字符串格式
  格式
  D
  日期
  Dd
  日期,不足二位数者前方补零
  Ddd
  星期几
  Dddd
  星期几完整名称
  M
  月份
  MM
  月份,不足二位数者补零
  MMM
  完整月份名
  Y
  年份
  Yyyy
  完整公元年份
  举例来说,我们希望日期格式显示“2011-01-01”的话,就只要在Format属性处输入=”yyyy-MM-dd”即可。如果要显示的是“2004/1/1”,则要将Format的表达式改写为=”yyyy/M/d”。
  除此之外,还有两个文本框属性会影响到日期格式的显示,那就是Calendar以及Language。Calendar属性是会自动将日期转换成指定国家历法的对应年份。而Language影响的范围则是使用者操作系统的地区设定,来显示地区定制的格式。
  请注意,Calendar的设置会受到Language所影响。举例来说,当Language设为“中文(简体)”时,Calendar属性就不得设为“Japan”。如果希望设置特殊国家的历法时,必须事先将Language设置为正确的语言。
  在新增“文本框”时,我们会发现默认的大小是固定的,若想改变“文本框”的大小,可直接拖放“文本框”的边框来调整,或是利用属性窗口的“Size”属性的“Width”与“Height”来设置,使用属性设置比较可以确保文本框的大小以便排列整齐。
  当文本框内呈现的是数据库字段内容或计算后产生的结果时,通常都无法预期数据内容的长度是否会超过“文本框”的大小,此时,可将“CanGrow”属性设置为“True”,“文本框”会随着其中的内容横向扩展,而高度将会保持原状不会改变。相反的,也有可能显示的文字内容小于“文本框”,大部分情况下,都会让“文本框”维持原状。但如果在特别的情况下,将“CanShrink”属性设为“True”,可达到自动缩小“文本框”宽度的效果。
线条
  线条(Line)可说是在报表单元中最单纯,容易上手的,除了可以放置在页面上任何地方,还可以随心所欲的拖放,斜放、垂直或水平的形式来梅花报表或用作为报表标题与正文的分割线,但比较遗憾的是目前***S还无法画出弯曲的线条。
  与一般绘图工具相同的是,“线条”是由“起点(Location)”和“终点(EndPoint)”属性来定义它的位置,并且可以通过“LineColor”、“LineWidth”、“LineStyle”外观属性改变线条的颜色、粗细、样式,例如:实线(Solid)、虚线(Dashed)或点(Dotted)让线条更为活泼美观。
  此外,“线条”的长度无法随着报表大小的改变而动态延伸,必须再以手动方式做调整,因此,如果想要使用“线条”做为报表标题的底线,建议设定“文本框”的“BorderStyle”属性,会比使用“线条”来得方便许多。
  以刚才的徐杂费缴费单为例,我们可以利用虚线来设定缴费单的分割线,同时搭配文字方块以呈现缴费单所需的各项说明信息。
矩形
  在***S中,矩形(Rectangle)除了作为装饰报表的图形元素外,还可以用来放置其他报表单元,不仅可将单元组化,当多个文本框或其他报表单元同时需要在报表中变换位置时,只需要移动一个“矩形”就能达到此效果,更有助于版面的编排。
  “矩形”的属性中大多属于外观设置,其中“PageBreak”属于比较特殊的属性,利用其“Start”、“End”或“StartAndEnd”属性,可强制在报表中加入换页的效果。例如,我们在刚才的学杂费缴费单的矩形(列表一定会伴随着矩形)中设置“PageBreak”属性为“End”,就可以让学杂费单一张变成一页。
图像
  在制作商务报表时,除了会使用文字内容之外,图形内容也是不可或缺,尤其是大多数的企业报表都希望能放入公司Logo或是说明图片,除了单纯的图像之外,也可以用来作为背景图或水印。因此,***S贴心地提供了“图像(Image)”报表单元,让报表可以经由图片使得内容更为丰富、生动。
  ***S的“Image”支持.BMP、.JPEG、.GIF和.PNG四种图像格式,并且提供多种图像来源,包括:
  n 内嵌在报表中的图像(Embedded Image)。
  n 从数据库读取的图像(Database Image)。
  n 外部的图像URL。
  以下将针对各种图像模式的操作过程进行说明。
  内嵌
  内嵌(Embedded Image)顾名思义是将图像嵌入报表中。使用内嵌图像时,报表设计器会以MIME(Multipurpose Internet Mail extension)的形式来编码图像,并且在报表定义文档(.rdl)将“Image”储存为文字。如此即可将所有图像的数据储存在报表定义中。使用内嵌图像的好处是,可以确保报表随时都能使用图像,但缺点是该图像文件只有这个报表可以使用,无法和其他报表共享,并且也会使报表定义的大小增加。
  设置内嵌图像的步骤很简单,首先,从工具箱中拖拉“Image”至报表设计区域,此时,弹出的对话框中的“General”标签页将“select the image source”选择“Embedded”选项,可在“Use this image”处指定图像的路径,或是利用“Import…”功能将图像导入项目中,即可完成设置。
DSC0002.jpg

DSC0003.jpg

  单击“OK”按钮,即可在报表数据窗口中的“Image”目录中看到刚才加入的图像,同时报表设计区域中也可以看到此图像内容,设计者可以自行调整图像大小以及摆设位置。
  外部图像
  外部图像可以利用两种模式来使用,第一种是将图像储存于报表单元中,第二种方式则是利用URL来引用图像。
  相对于将图像嵌入在报表内,将图像储存在报表单元中的最大好处在于,当部署项目时,图像会被当成独立数据,会与报表定义文件分开放置在报表服务器上。假若有许多报表需要使用到相同的图片文件(如企业商标),使用者储存于报表单元的方式,即可让图像文件能够跨报表共享,且当图像文件更换时,只需要重新部署项目内的图像,不必重新部署报表,只需按下重新整理报表,即可查看更新后的图像。
  如果希望将图像加入项目,只需在方案资源管理器中右击“Reports”图示,选择“Add”、“Existing Item…”,将文件类型切换为所有文件,即可将图像加入项目之中。
DSC0004.jpg

  当项目加入图像之后,待拖拉新的图像之后,将“Select the image source”设为“External”,即可在“Use this image”的下拉菜单中看到刚才加入项目的图像名称,选择此图像即可引用到项目内。
DSC0005.jpg

  另一种外部图像使用方式则是使用URL存取网络服务器上的图像文件。在报表中希望使用网络上的图像时,只需在“Use this image”区域直接输入链接到图像的URL地址(例如:/image1.jpg">http://<servername>/image1.jpg)即可,不过请注意,有些网站会设置安全性策略禁止外部盗链图片,如果有限制其实会造成引用图像失败。
  数据库
  前面介绍了内嵌与外部两种图像来源的使用方式,这两种图像来源比较适合在加入少量的图片文件到报表时使用,但是当文件数量较多,或是希望利用参数动态修改对应图片内容时,比较建议将图片先以二进制的方式储存到数据库中。
  如何将图像存储到数据库中?
  可以使用以下语法来将图像更新至图像列:
  UPDATE 表
  SET 图像列 =(
  SELECT * FROM OPENROWSET(
  BULK ‘图像路径’, SINGLE_BLOB)AS A)
  WHERE …
  当拖拉图像至报表设计区时,首先,将“Select the image source”改为“Database”,并在“Use this field”下拉菜单选择要使用的二进制字段,接下来,请指定该二进制编码的MIME类型,如image/jpeg。
DSC0006.jpg


  接下来,请切换至“Size”标签页,勾选“Original>
DSC0007.jpg

  在此使用了“List”来编排书籍的封面文件、书名、作者以及出版社信息。
  以上是加入图像文件的三种模式,此外,图像也可以利用属性来调整相关格式。
  当图像文件放入报表时,会发现“Image”报表单元的大小不一定会等于原图片文件的尺寸,此时,可通过图像的“Sizing”属性的四种不同设置方式,依原图片比例调整、缩放,或以“Image”项目所设置的大小为基准对原图片进行切割。
DSC0008.jpg

  图像的“Sizing”属性有“AutoSize”、“Fit”、“FitProportional”、“Clip”四种设置方式。***S默认“图像”的属性为“FitProportional”。
  设置完成图像文件后,还可以为其他报表单元设置“BackgroundImage”属性,此属性是用来设置背景图像,这是一个属性集合。
DSC0009.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-524458-1-1.html 上篇帖子: ***S 2012 建立图表 -- 图表区属性 下篇帖子: System Center 2012R2之SCVMM的管理操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表