SSRS(RDLC)报表开发的一点小技巧

说明:

开发工具为: SQL Server Data Tools     开发环境为: SQL Server 2012

一. 饼图数据外部显示

首先我们来看3张效果图:  内部显示 、 外部显示 、 3D效果-外部显示

  

默认是内部显示, 如何设置为外部显示呢?如下图:

设置好后数据是显示在外部了,但并没有出现数据和图之间的连接线条。想要显示线条,那么就要开启3D效果,步骤如下:

二. 将数值转为百分比显示

如示例一中的数值分别为: 76 , 39 ,  6 , 25 。 如果将其转为百分比则为: 76 / (76+39+6+25) , 39 / (76+39+6+25) , 6 / (76+39+6+25) , 25 / (76+39+6+25) 。 也就是说我们要先得到总和,然后再用单个值去除以总和。具体实现如下:

步骤一 >  我们要修改 Series Label 的属性, 而不是去修改饼图的 Values。  因为饼图的Values是只接受数字类型的值,如果你设置的值是字符类型,那么图饼将不会显示。 而百分比形式的数据带有 % 号,肯定是字符类型的。因此要手动设置展示的 Label, 而不是去设置Values。

步骤二 > 表达式的书写。

此时你点保存按钮会弹出一个提示框,如下图:

这个提示框的意思就是要将 UseValueAsLabel 属性设置为False, 我们上面Label Data 里面写的表达式才会生效。 因为默认是直接将从数据库中取出的值进行展示的(数字类型),而现在我们手动设置了展示的 Label Data, 所以要将UseValueAsLabel 设置为False, 不使用直接从数据库中取出的值。

步骤三 >  把数据设置为百分比格式。

其实我们也可以省略步骤三, 直接将步骤二中的表达式写成如下形式就行了

=FormatPercent(Sum(Fields!Percent.Value) / Sum(Fields!Percent.Value, "PercentDS"), 2)

三. 表格奇偶行背景色的设置

实现步骤如下:

=iif(RowNumber(nothing) mod 2 = 0, "#DDDDDD", "Transparent")

四. 打印导出的相关设置

我们在对报表进行导出或打印是经常会遇到格式错乱的现象,原因是我们的相关设置没有做好。 导出打印通常都是针对 A4 格式的纸张而言的,所以我们在进行打印或导出之前要先对报表进行大小的设置。

步骤一 >

步骤二 >

步骤三 >

五. 表格行号的设置

实现如下图:

六. 自定义函数的使用

有些时候内置的函数方法并不能满足我们的需求,那么我们就可以自己实现一个方法,然后调用它。  举个实例: 在之前的一次报表开发中,有这样一个需求: 文本框的背景色必须是动态的, 其背景色根据数据库中存有颜色的RGB的字符串的值来动态指定(如: "255,255,123")。 虽说背景色也是可以应用表达式的,但它只识别颜色名(如: Gray )和16进制格式(如: #DDDDDD)的颜色值,并不支持RGB的颜色数值。这个时候就只能自己来实现一个设置RGB颜色的函数。

我们的自定义函数写在哪?

步骤一 >

步骤二 >

因为SSRS里面应用的是VB语法,因此要想写自定义函数,必须先学习VB语法。 实现 RGB 颜色设置的函数代码如下:

Public Function SetRGB(paramValue As String) As String

    Dim StrRGB() As String

    StrRGB = Split(paramValue , ",")

    SetRGB = String.Format("#{0:x6}", RGB(CInt(StrRGB(0)), CInt(StrRGB(1)), CInt(StrRGB(2))))

End Function

函数定义好后,我们该如何调用呢?

因为自定函数都是挂在 Code 下面的,所以调用的时候必须是 Code.SetRGB() 。  运行之后的效果如下图:

时间: 2024-09-30 15:54:00

SSRS(RDLC)报表开发的一点小技巧的相关文章

ssm开发的一点小技巧

一般使用反转工作生成基础bean如Items然后我们使用的实体类一般是基础bean的拓展类ItemsCustomer,继承自基础类,这个是为了方便对于表字段的更改生成的bean影响减低我们查询一般是使用一个ViewObject VO类 配置文件的话一般是同名前缀,然后web.xml中配置使用通配符方式,这样便于管理,不需要一个一个include dao层中我们只需要写接口,impl由mybatis的mapper代劳就是dao层返回的是基于数据表的数据 然后service是业务层,一系列的逻辑都在

在ASP.NET使用javascript的一点小技巧

我们在进行ASP.NET开发时,经常会用到一些javascript脚本,比如: private void Button1_Click(object sender, System.EventArgs e) { Response.Write( "<script language='javascript'>alert('OK');</script>") ; } 经常是重复的书写这些脚本,如果我们能做成一个相应的函数就好了,直接就可以拿来使用.很多人都有自己的一些jav

Android 高效开发的一些小技巧总结

Android 高效开发的一些小技巧总结 善用快捷键 关于快捷键的使用,请戳这里 经常看到有人在一行一行的手工复制粘贴代码,或者一个变量一个变量的改名称.每次看到,心里都会一个劲的在吐槽:不要这么鸡肋好吗. 善用批处理(命令行) adb shell 命令大家应该都是会用的吧,比如 adb uninstall com.xxx.xxx 用来卸载程序,但是很少有人把他写到批处理里面吧. 日常Android开发中,我们经常需要卸载已安装的应用,或者清除应用的缓存等等,如果应用的缓存目录保存在内存卡中的话

程序开发的一点小总结

程序开发的一点小总结, 给要学习一门新语言的朋友一些帮助, :P 1.多项条件下的处理 第一种方法: 每个需要执行A函数的条件下都写一边A函数调用, 这种方式也是最中规中矩的写法, 代码相对臃肿, 如果A有任何变动, 就要修改多处, 这种代码块写多了, 容易漏掉 if(b==1) a() else if(b==2) else if(b==3) a() else a() 第二种写法: 在B条件筛选前, 创建一个临变量布尔c, 用来监控需要A函数需要的条件, 需要就为true, 不需要就不写(默认初

Linux以及Android开发中的小技巧和长繁命令记录收集

不断更新收集中.... 2014071743 ssh以nx_guest的身份登录到172.24.221.137,然后在172.24.221.137与172.24.61.252的8080端口建立网络连接,同时创建端口为5678的本地代理服务 ssh -C -f -N -o 'TCPKeepAlive=yes' -L 5678:172.24.61.252:8080 [email protected] 反编译android下的二进制程序 ./prebuilts/gcc/linux-x86/arm/ar

对于shell脚本参数获取时的一点小技巧

问题如下: 根据脚本参数的个数$#进行一个循环,在依次输出每个参数$1 $2 $3...... 我有一个循环变量i $i 取到这时的i为1,我想使用这个1再去调用$1,也是就是打印出第一个参数 就是$($i)的意思来取到第几个参数,当然$($i)是不好用的 当时纠结了好久,最后上百度提问,两位高手给出了答案: 1) #!/bin/sh NUMBER=$# echo $NUMBER i=1 while [ $i -le $NUMBER ] do a[$i]=$1 #将数组a[i]赋值为$1,即取得

知识点回顾-27个iOS开发中的小技巧

★27个iOS开发中的小技巧 1.不想让TableView显示无用的Cell分割线怎么办? self.tableView.tableFooterView = [[UIView alloc] init]; 2.自定义了leftBarbuttonItem左滑返回手势失效了怎么办? self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:img style:UIBarButtonItemStylePl

提高eclipse使用效率(二) 提高Android开发效率的小技巧

2013-09-04 22:49:33cnblogs.com-sw926-点击数:214 XML文件的代码提示 adt中也有xml文件的代码提示,为了让提示来的更加猛烈,我们还要设置一下 打开eclipse - Window - Preferences,在右边的目录树中切换到XML - XML Files - Editor - Content Assist,是不是很熟悉,没错,就是Content Assist 接下来就简单了,延迟设为50ms,提示字母把能填的都填上去,设置完之后可以试一下.输入

如何在u不能图上搭配android开发环境——ubuntu小技巧4

如何在linux下用eclipse配置android开发环境 好长时间没有搭配android开发环境了,前几天在win下配了一个用了一下,开始经常使用linux系统的我无法满足于win,今天在ubuntu下试了下,配置了linux下的android环境,在这里分享给想学安卓 的朋友!在另外一篇博客里面介绍了如何搭配win下的android开发环境,有兴趣的朋友可以看一看! 搭配android环境有两种方法:第一种使用集成开发包,第二种自己下载配置插件. 至于是否方便,当然第一种比较容易,省时,合