【TechTarget中国原创】虽然我们已经添加了一个矩阵表到报表中 —— 但这还不够。本部分阐述了一些使用 Report Builder 3.0 配置矩阵的技巧,以保证数据是以预期的方式显示。
现在我们已经添加组到矩阵了,我们可以调整单元格的大小和配置属性了。我们可以在任何时间进行修改,但是我发现在矩阵填充了所有数据后进行配置效率会更高。当然,我们可以在需要时添加和删除组,但是至少我们已经能够开始创建了。
【TechTarget中国原创】虽然我们已经添加了一个矩阵表到报表中 —— 但这还不够。本部分阐述了一些使用 Report Builder 3.0 配置矩阵的技巧,以保证数据是以预期的方式显示。
现在我们已经添加组到矩阵了,我们可以调整单元格的大小和配置属性了。我们可以在任何时间进行修改,但是我发现在矩阵填充了所有数据后进行配置效率会更高。当然,我们可以在需要时添加和删除组,但是至少我们已经能够开始创建了。
选择矩阵,这样上边和左边的屏幕的边框变成加粗灰色(如图6所示),现在我们就可以修改单元格的大小了。移动鼠标到边框的适当位置,然后根据需要修改单元格大小。我们通过修改单元格来练习修改单元格大小,然后再预览这个报表。这样我们就能够确定以我们想要的方式显示数据。
现在让我们看一下如何重新配置属性。对于本例,我们一次只修改一行。{dy}行显示列标题。根据我们添加列和行组的顺序,标题可能不会总是显示在{dy}行。然而,我们的这个报表的{dy}行就是标题。列标题应该对应于数据。所以{dy}列是“Order Year”,第二列是“Order Quarter”,而第三列是“Order Month”。第四列实际上是一个表达式 —— [SalesGroup]。这表示销售团队的名称将会作为标题插入。第五列应该是“Total”。
接下来,选择{dy}行的所有单元格,然后点击“Home”菜单的“Center ”和“Bold ”按钮。现在,保持单元格的选择,在屏幕右边的“Properties”面板设置“BackgroundColor”属性。我们可以选择喜欢的颜色。我这里选择的是黄绿色,代码是:f7fccf。我们的{dy}行现在应该类似于图8所显示的样子。(注意图8显示的是我们完成所有格式修改后矩阵的外观。您也可以使用这个图来指导完成本文后面所有的配置。)
矩阵中的第二行应该在其中一个单元格中显示标签 —— [SalesCountry]单元格。和{dy}行一样,文本的格式是居中和粗体。如果其它单元格还有标签,我们必须删除它们。
在第三行上,选择除[OrderYear]之外的所有单元格。接着,在“Properties”面板上点击与“BackgroundColor”属性相关联的向下箭头,然后选择“Expression”。在“Expression”对话框中输入下面的表达式:
=Iif(Fields!OrderQuarter.Value = 1 Or Fields!OrderQuarter.Value = 3, "Cornsilk", "Ivory")
这个表达式使用“Iif ”函数来设置行的颜色。如果“OrderQuarter”字段的值是1或3,它的颜色会被设为“Cornsilk”。否则,颜色是“Ivory”。结果,偶数季度的行颜色将与奇数的不同。这使报表更具可读性。我所做的另一个修改是居中显示[OrderQuarter]单元格的文本。
在第四行,选择除[OrderYear]之外的所有单元格,然后将类型设置为斜体。然后右击[OrderQuarter]单元格,选择“Expression”。在“Expression”对话框中,输入下面的表达式:
=Fields!OrderYear.Value & " Total"
这个表达式修改文本框的“Value”属性,这样年份会包含单词“Total”。在添加表达式后,居中显示文本。
对于第五行,直接选择所有单元格并将文本设为粗体。同时也将“Total”字段的所有单元格设置为粗体。
现在我们应该配置数据值显示为货币形式。对于每一个包含美元数额的单元格,右击单元格,然后选择“Test Box Properties”。在“Number”页,选择“Currency ”作为分类,后面是“Use 1000 separator”选项。
如果不希望单独配置数字单元格,我们可以将它们作为一个组进行配置(我们需要知道正确的格式)。首先,选择所有数字单元格。在“Properties”面板中,点击与“Format”属性关联的向下箭头,然后选择“Expression”。在“Expression”对话框中,输入以下内容:
'$'#,0.00;('$'#,0.00)
这个表达式指定这个值将显示为货币值,保留两位小数,使用逗号分隔数字。
我们应该做的另一个修改是设计月份名称的排序方式。在设计界面底部的“Row Groups”面板,点击“OrderMonth”组旁边的向下箭头,选择“Group Properties”,然后选择“Sorting”页面。在“Sort by”下拉列表中,选择“MonthNumber”字段。这样,月份将根据数字,而不是名称进行排序。
我所做的{zh1}一个格式化修改是添加一个标题“AdventureWorks Sales”,并修改页脚,所以我会它会使用下面的表达式:
[&ReportName] report: [&ExecutionTime]
这样,每次报表渲染时,报表名称旁边同时会显示执行时间。现在,当我们预览报表时,它应该类似与图9所示效果。
这个图只显示部分结果。我们可以看到,现在各行都根据季度显示不同颜色,汇总销售额显示为货币格式,年度总量是斜体的,而“Total”列是加粗的。当然,我们可以进行其它的格式修改,如增加或减少组。
矩阵是一个以一种容易定制和高效渲染的方式显示汇总数据的强大工具。虽然本文只是作了基本的介绍,但是如果我们使用矩阵次数越多,它会体现越多的价值。