说明:

开发工具为: 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 报表开发小技巧的更多相关文章

  1. Windows统一平台: 开发小技巧

    Windows统一平台: 开发小技巧 技巧一: 在手机端拓展你应用的显示区域.(WP8.1中也适用) 对于Windows Phone系统的手机, 手机屏幕最上方为系统状态栏(System Tray), ...

  2. flex开发小技巧集锦

    关于flex开发网上有非常多的相关信息介绍,因此我们要想学习关于flex开发的知识信息技能是一件非常简单和方便的事情.而针对于flex开发小编要告诉大家的是一些flex开发小技巧.利用这些小技巧能够有 ...

  3. 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/ ...

  4. 移动Web开发小技巧

    移动Web开发小技巧 添加到主屏后的标题(IOS) name="apple-mobile-web-app-title" content="标题"> 启用  ...

  5. BizTalk开发小技巧

    BizTalk开发小技巧 随笔分类 - Biztalk Biztalk 使用BizTalk实现RosettaNet B2B So Easy 摘要: 使用BizTalk实现RosettaNet B2B ...

  6. Java开发小技巧(三):Maven多工程依赖项目

    前言 本篇文章基于Java开发小技巧(二):自定义Maven依赖中创建的父工程project-monitor实现,运用我们自定义的依赖包进行多工程依赖项目的开发. 下面以多可执行Jar包项目的开发为例 ...

  7. iOS开发小技巧 - UILabel添加中划线

    iOS开发小技巧 遇到的问题: 给Label添加中划线,然后并没有效果 NSString *str = [NSString stringWithFormat:@"合计金额 ¥%.2f&quo ...

  8. PHP开发小技巧②—实现二维数组根据key进行排序

    在PHP中内置了很多对数组进行处理的函数,有很多时候我们直接使用其内置函数就能达到我们的需求,得到我们所想要的结果:但是,有的时候我们却不能通过使用内置函数实现我们的要求,这就需要我们自己去编写算法来 ...

  9. PHP开发小技巧③—实现多维数组转化为一维数组

    在平常的项目开发中我们多会用到让多维数组转化为一维数组的情况,但是很多Programmer不会将其进行转化,也有些没有想到很好的算法然后经过乱起八糟的运算方式将其勉强转化好,但是所写的程序代码冗余非常 ...

随机推荐

  1. 深入理解Java接口和抽象类

    对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用, ...

  2. linux安装应用程序

    实验:为 Linux 主机安装应用程序   环境:vmware workstation 14  . redhad-server-6.4 需求:1.使用 RPM 包的方式安装 Mozilla Firef ...

  3. leetcode-64-最小路径和

    题目描述: 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 示例: 输入: [  [1,3,1], [1 ...

  4. POJ 1023

    #include <iostream> #include <string> #include <cmath> #define MAXN 65 int op[MAXN ...

  5. Spring 事务传播行为实验

    一.Propagation : key属性确定代理应该给哪个方法增加事务行为.这样的属性最重要的部份是传播行为.有以下选项可供使用: PROPAGATION_REQUIRED--支持当前事务,如果当前 ...

  6. Java的简单计算运用

    上课的时候写的博客,哈哈哈哈没事情做了,明天就要放假了所以有点点按捺不住自己所以想到来写写程序,今天我发的是我们Java上课老师讲的代码,好像是Java的计算运用,但是这个代码有缺点,只能够输入的打出 ...

  7. Java之IO(十三)File、Filter、Piped、String和InputStreamReader与OutputStreamWriter

    转载请注明原出处:http://www.cnblogs.com/lighten/p/7264196.html 1.前言 断更一段时间,计划果然赶不上变化(还是太懒...).这次一次性将剩余的5组字符流 ...

  8. [webrtc] RTX的处理

    以前笔记,整理 webrtc中默认开启rtx用于丢包重传,rtx的介绍可以参考rfc4588,https://tools.ietf.org/html/rfc4588#section-4 rtx使用额外 ...

  9. php如何使用rabbitmq实现发布消息和消费消息(一对多)(tp框架)(第二篇)

    一个publisher发布消息  多个个customer接受消息 1:准备工作参照: http://www.cnblogs.com/spicy/p/7886820.html 2,:路由: 3: 方法: ...

  10. .Net WEB 程序员需要掌握的技能

    原文链接:http://deshui.wang/%E6%8A%80%E6%9C%AF/2015/05/12/net-study-road 基础部分 C# 基础语法 OOP的概念,面向对象的理解 继承 ...