图表控件基于类别组表达式值,将类别在多个系列中匹配(例如,2006 系列中类别为一月的数据将与 2007 系列中类别为一
月的数据处于同一集合。
只有类别组表达式(或如图 4 中的标签表达式)的计算结果为数字或 DateTime 数据类型时,X 轴选项卡上的格式字符串设置
才有效。通常使用类别模式时,类别组表达式的计算结果为字符串对象,因此随后应用的格式代码无效。可添加或更改类别组
标签表达式,或直接通过标签表达式应用格式设置,如图 4 所示。
注意 在类别模式中,最小值、最大值和间隔的语义均基于“类别索引”。例如,将 x 轴最小值设置为 2 意味着不会显示第一个类
别的数据。将主要间隔设置为 5 意味着在 x 轴上仅每隔 4 个类别显示标签。这在 x 轴有很多类别(和标签)且类别的底层语
义实际为数字时很有用。
注意 Reporting Services 2005 也允许在“X 轴”和“Y 轴”选项卡中显示的所有输入字段(“标题”、“最小值”、“最大值”、“主要间
隔”、“次要间隔”等)中使用表达式。
图 4 如果显式定义标签表达式,则显示在 x 轴(类别轴)上的结果是标签表达式的结果,而不是组表达式的结果。
轴标签格式设置问答
问(Y 轴):如何可在 y 轴上实施“准确的”基于整数的标签?
答:如果未指定轴设置,则图表控件将基于数据点 y 值自动确定这些值。如果数据点的最小值/最大值不是整数,y 轴标签则可
能使用双精度值。
不过,如果至少有一个轴设置(如“最小值”或“交点”)被报表作者显式指定为整数值,则图表控件会将自动检测到的值圆整为
最接近的整数值,然后显示“准确的”标签。例如,可动态设置 y 轴的最小值,并如此进行圆整:
=Floor(Min(Fields!Freight.Value))。
问(标量 x 轴):启用“数值或时间刻度值”导致在运行时图表未显示任何数据点。哪里出现了问题?
答:很可能是因为类别组表达式的计算结果为字符串而不是数值。相应更改类别组表达式。如果不想更改获取标量数据值而不
是字符串值的查询,还可在报表中使用 Microsoft Visual Basic 函数(如 CInt()、CDbl() 或 CDate())执行类型转换。
问(类别 x 轴):如果类别数量增加,x 轴将变得拥挤,最终将不再绘制轴标签。如何能够控制类别模式下 x 轴的标签
数量?
答:图表控件会尝试自动定位 x 轴标签以避免重叠标签文本。默认情况下,每个类别在 x 轴上均具有一个标签。可显式设置 x
轴主要间隔设置以覆盖此默认行为。例如,将主要间隔设置为 5 将仅每隔 4 个类别显示标签。
问(X 轴):X 轴标签是如何自动定位的?
答:当前,内置的 Reporting Services 图表仅允许自动定位以避免覆盖 x 轴标签。轴标签的标签方向(水平/垂直)取决于标
签字符串大小和可用空间。X 轴标签可以一行水平显示、以能够换行的多行水平显示或垂直显示。当前并不支持以某一角度显
示 x 轴标签或对单个 x 轴标签位置显式手动控制。
注意 有多个第三方图表加载项,能够对轴标签进行更多控制。这些加载项可安装在 Reporting Services 2005 上。
数据点标签和图例标签数据点标签和图例标签
数据点标签可专用于指出图表中所有可见数据点中的某些值(如总体最小值或最大值)。
要启用数据点标签,请在“图表属性”对话框中编辑图表值。这将打开“编辑图表值”对话框,其中含有“点标签”选项卡,该选项卡
具有“显示点标签”选项。
定位数据标签定位数据标签