说明:
开发工具为: 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() 。 运行之后的效果如下图: