充分利用 SQL Server Reporting Services 图表
2008-09-09 10:03:01 来源:WEB开发网打开数据标签时,默认情况下,每个数据点将显示一个标签。数据点标签将自动定位以避免重叠标签。如果数据点标签重叠,图表控件会将重叠标签移至图表绘图区的空闲空间中(并画出轮廓以将数据点标签与数据点值相连)。如果太多标签重叠,图表控件将删除个别数据点标签,直至有足够的空间可放下其余标签而不会重叠。
除了自动定位外,还可使用显式“手动标签定位”(顶部、靠左、居中等)。不过,视数据值以及数据点标签的长度和大小而定,这可能导致重叠标签。
默认情况下,数据点标签将显示数据点的 y 值。也可指定显式数据点标签表达式和数字或 DateTime 格式字符串来自定义标签。通常,会使用类似于用于计算数据点值表达式中 y 值的表达式执行数据点标签计算。例如,要在该部分所占的相对份额大于总量的 5% 时只显式数据点标签,可使用类似以下步骤中代码的数据点标签表达式。
对于数据点标签表达式,请使用以下表达式:=Code.GetLabel(Sum(Fields!Sales.Value), Sum(Fields!Sales.Value,"SalesChart"))
打开“报表属性”对话框,然后单击“代码”选项卡。在“自定义代码”选项中添加以下 GetLabel(…) 自定义代码函数。Public Function GetLabel(ByVal currentValue As Double, ByVal totalValue As Double) As String
If currentValue / totalValue < 0.05 Then
Return " "
Else
Return Format(currentValue / totalValue, "P1")
End If
End Function
代码解释
GetLabel() 函数有两个参数。第一个参数提供该特定数据点的当前值。第二个参数提供总量计算。此函数计算相对百分比。如果它小于 5% (0.05),将返回一个具有空格的字符串。
赞助商链接