SSRS 报表开发小技巧
说明:
开发工具为: SQL Server Data Tools (英文版) 开发环境为: SQL Server 2012 (英文版)
一. 饼图数据外部显示
首先我们来看3张效果图: 内部显示 、 外部显示 、 3D效果-外部显示
饼图的数据默认是内部显示的,当类别比较多的时候(上图只有 1,2,3,4 四种类别),数据内部显示就会很挤,看不清楚。此时我们应该将其它设置为外部显示, 如何设置为外部显示呢? 具体步骤如下:
1. 调出属性面板(按 F4 键)
2. 选中饼图中的数据标签
3. 在属性面板中找到 Position (位置) 属性, 将其设置为 Outside (外部显示)
经过上面的步骤,饼图的数据在外部显示了(也就是上面效果图中的第2张图)。虽然此时数据已经在外部显示了,但是当类别变得很多的时候,可能依旧会让人产生混乱,因为你不知道每个数据到底对应的是哪个类别色块。如果 数据 与 类别色块 之间有线条连接那就最好了。如何让其出现线条连接呢? 很简单,只要开启 3D 模式就行了,步骤如下:
1. 选中圆饼
2. 右键 -> 3D效果
3. 勾选 启用 3D
二. 将数值转为百分比显示
数值转为百分比,计算公式无非就是 percent = value / total 。 如上面示例一,四个类别的数值分别为:76,39,6,25 。 将它们转为百分比则为: percent1 = 76 / (76+39+6+25) , percent2 = 39 / (76+39+6+25) , percent3 = 6 / (76+39+6+25) , percent4 = 25 / (76+39+6+25) 。知道了这个,我们来看具体步骤:
1. 选中饼图中的数据标签 -> 右键 -> 选择标签属性(Series Label Properties)
2. 点击常规页 Label data 后面的 fx 按钮 进行表达式设置
3. 输入如下表达式
=FormatPercent(Fields!Percent.Value / Sum(Fields!Percent.Value, "PercentDS"), )
表达式的简单讲解, 首先是一个格式化函数 “FormatPercent()” , 通过名字就知道它是用来干嘛的了:将数字类型数据格式化为百分比,它会自动加上 % 符号。 它接收两个参数,第一个是要进行转换的数值,第二个则是要保留的小数位。我们这里第二个参数传入的是 2, 代表保留两位小数。 至于传入的第一个参数 Fields!Percent.Value / Sum(Fields!Percent.Value, "PercentDS") 。 很眼熟吧,这不就是我们上面所讲的百分比计算公式嘛,其中 “PercentDS” 是数据集名称。
4. 保存即可。 保存时可能会有一个小插曲,当 UseValueAsLabel 属性值为 true 时(其默认值就是为 true), 会弹出如下提示框:
这是什么意思呢? 是这样的,我们首先要分清 value 和 label 。 实际上饼图的 value 只接收 数字类型的数据(即:int , long, double ...) , 如果你的数据集返回给饼图的数据不是 数字 类型(如:string),则饼图不会显示。 label 是用来展示饼图的 value 的。属性 UseValueAsLabel 为true, 则是说:直接将 饼图的 value 进行显示,不做任何加工。 但是我们上面的一系列操作明显是对 显示结果进行了加工的,我们显示的不再是直接的 value:76,39,6,25 。而是带有 % 符号的百分比数据,因此我们要将 UseValueAsLabel 设置为 false, 不直接显示 饼图 value。也就是说,如果弹出此提示框,我们直接选择 Yes 就行了。
三. 表格奇偶行背景色的设置
表格奇偶行的设置,其实就是为了美观,让人看起来更加的舒服,具体实现步骤如下:
1. 调出属性面板
2. 选择数据行(非 Header,要整行选取)
3. 在属性面板中找到背景色属性
4. 输入如下表达式
=iif(RowNumber(nothing) mod = , "#DDDDDD", "White")
四. 打印导出的相关设置
我们在对报表进行导出或打印是经常会遇到格式错乱的现象,原因是我们的相关设置没有做好。 导出打印通常都是针对 A4 格式的纸张而言的,所以我们在进行打印或导出之前要先对报表进行大小的设置。具体步骤如下:
1. 在报表外部空白处单击右键 -> 选择报表属性
2. 在页面设置页设置页面大小为 A4 (至于 是纵向还是横向,以及外边距等,根据你自己的需求进行设置)
3. 设置为 A4 后, 后面的宽高会自动变成 A4 相应的大小, 记住此 宽高 数值
4. 调出属性面板(按 F4 键)
5. 在报表内部空白处单击,然后找到属性面板中的 Size,将其 宽高 设置为等于或小于 A4 的数值(不能大于 A4 的宽高,否则打印或导出会出现错乱现象)。
五. 表格行号的设置
表格行号的设置很简单,主要还是借助 Rownumber() 函数,具体实现如下图:
六. 自定义函数的使用
有些时候内置的函数方法并不能满足我们的需求,那么我们就可以自己实现一个方法,然后调用它。 举个实例: 在之前的一次报表开发中,有这样一个需求: 文本框的背景色必须是动态的, 其背景色根据数据库中存有颜色的RGB的字符串的值来动态指定(如: "255,255,123")。 虽说背景色也是可以应用表达式的,但它只识别颜色名(如: Gray )和 16进制格式(如: #DDDDDD)的颜色值,并不支持RGB的颜色数值。这个时候就只能自己来实现一个设置RGB颜色的函数。具体步骤如下:
1. 在报表外部空白处右键单击 -> 选择报表属性
2. 选择 Code 菜单
3. 填入我们的自定义函数代码 (SSRS里面应用的是VB语法,因此要想写自定义函数,必须先学习VB语法)
4. 函数的调用:因为自定函数都是挂在 Code 下面的,所以调用的时候必须是 Code.SetRGB()
SSRS 报表开发小技巧的更多相关文章
- Windows统一平台: 开发小技巧
Windows统一平台: 开发小技巧 技巧一: 在手机端拓展你应用的显示区域.(WP8.1中也适用) 对于Windows Phone系统的手机, 手机屏幕最上方为系统状态栏(System Tray), ...
- flex开发小技巧集锦
关于flex开发网上有非常多的相关信息介绍,因此我们要想学习关于flex开发的知识信息技能是一件非常简单和方便的事情.而针对于flex开发小编要告诉大家的是一些flex开发小技巧.利用这些小技巧能够有 ...
- TP开发小技巧
TP开发小技巧原文地址http://wp.chenyuanzhao.com/wp/2016/07/23/tp%E5%BC%80%E5%8F%91%E5%B0%8F%E6%8A%80%E5%B7%A7/ ...
- 移动Web开发小技巧
移动Web开发小技巧 添加到主屏后的标题(IOS) name="apple-mobile-web-app-title" content="标题"> 启用 ...
- BizTalk开发小技巧
BizTalk开发小技巧 随笔分类 - Biztalk Biztalk 使用BizTalk实现RosettaNet B2B So Easy 摘要: 使用BizTalk实现RosettaNet B2B ...
- Java开发小技巧(三):Maven多工程依赖项目
前言 本篇文章基于Java开发小技巧(二):自定义Maven依赖中创建的父工程project-monitor实现,运用我们自定义的依赖包进行多工程依赖项目的开发. 下面以多可执行Jar包项目的开发为例 ...
- iOS开发小技巧 - UILabel添加中划线
iOS开发小技巧 遇到的问题: 给Label添加中划线,然后并没有效果 NSString *str = [NSString stringWithFormat:@"合计金额 ¥%.2f&quo ...
- PHP开发小技巧②—实现二维数组根据key进行排序
在PHP中内置了很多对数组进行处理的函数,有很多时候我们直接使用其内置函数就能达到我们的需求,得到我们所想要的结果:但是,有的时候我们却不能通过使用内置函数实现我们的要求,这就需要我们自己去编写算法来 ...
- PHP开发小技巧③—实现多维数组转化为一维数组
在平常的项目开发中我们多会用到让多维数组转化为一维数组的情况,但是很多Programmer不会将其进行转化,也有些没有想到很好的算法然后经过乱起八糟的运算方式将其勉强转化好,但是所写的程序代码冗余非常 ...
随机推荐
- 【xsy1230】 树(tree) 点分治+线段树
题目大意:有一棵$n$个节点的树,点的标号为$1$到$n$.树中的边有边权.给你$m$个询问,每个询问包含三个参数$l,r,pos$,你要求出标号在$l$到$r$之间的所有点中,到节点$pos$距离最 ...
- 【xsy1122】 路径 点分治+trie
题目大意:给你一棵n个点的树,树边上有边权,对于每一个点,你要求出经过该点的所有的路径中,路径异或和最大的值. 数据范围:$n≤10^5$,边权$≤10^9$. 我们考虑枚举每一条路径,显然这个是会T ...
- 一个用JS数组实现的队列
一个用JS数组实现的队列 /*一个用数组实现的队列*/ function Queue(){ this.dataStore = [];//存放队列的数组,初始化为空 this.enqueue = enq ...
- JavaScript 闭包解决计数器问题
JavaScript 闭包解决计数器问题 var add = (function () { var counter = 0; return function () {return counter += ...
- zookeeper知识点学习
单机模式配置: Zookeeper 的启动脚本在 bin 目录下,Linux 下的启动脚本是 zkServer.sh 在你执行启动脚本之前,还有几个基本的配置项需要配置一 下,Zookeeper 的配 ...
- windows本地调试安装hadoop(idea) : ERROR util.Shell: Failed to locate the winutils binary in the hadoop binary path
1,本地安装hadoop https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/ 下载hadoop对应版本 (我本意是想下载hadoop ...
- Tomcat 基本配置
1.配置虚拟目录映射 推荐在 /conf/Catalina/localhost 下新建rand.xml方式建立虚拟目录 其中rand将会被当作映射对象,即外部访问路径. 例子:blog.xml < ...
- SpringMVC路径匹配规则AntPathMatcher
前言 本文是基于Spring Framework 4.3.3分析. 正文 SpringMVC的路径匹配规则是依照Ant的来的. 实际上不只是SpringMVC,整个Spring框架的路径解析都是按照A ...
- Chapter 3 Phenomenon——14
They wheeled me away then, to X-ray my head. 他们把我移到了一边用X光照射我的头. 他们把我放到轮椅上,推着我去做头部X光检查. I told them t ...
- LDAP落地实战(四):Jenkins集成OpenLDAP认证
前几篇分文章分别介绍了OpenLDAP的部署管理和维护以及svn.git的接入,今天我们再下一城接入jenkins. 前情提要:LDAP系列文章 LDAP落地实战(一):OpenLDAP部署及管理维护 ...