Power BI 报表生成器中的表、矩阵和列表

适用于: Power BI Report Builder Power BI Desktop

在报表生成器中,表、矩阵和列表都是数据区域,它们在按行和列整理的单元格中显示分页报表数据。 单元格通常包含文本、日期和数字等数据,但它们也可以包含仪表、图表或图像等报表项。 表、矩阵和列表通常称为 tablix 数据区域。

下图显示包含表、矩阵或列表的简单报表。

Screenshot of Report Builder table, matrix, and list reports.

表、矩阵和列表模板是在 Tablix 数据区域的基础上建立的,Tablix 数据区域是可以在单元中显示数据的灵活的网格。 在表和矩阵模板中,单元将组织成行和列的形式。 由于模板是基础通用 tablix 数据区域的变体,因此可以不同模板格式的组合显示数据,并在开发报表时更改表、矩阵或列表以包含其他数据区域的功能。 例如,如果添加了表且发现它不能满足需求,则可以添加列组以使表成为矩阵。

通过添加嵌套表、矩阵、列表、图表和仪表,表格和矩阵数据区域可以显示复杂的数据关系。 表和矩阵都有表格布局,其数据来自单个数据集,并且在单个数据源的基础上构建。 表和矩阵之间的主要区别在于,表只能包含行组,而矩阵可以包含行组和列组。

列表则稍有不同。 它们支持自由格式的布局,并且可以包括多个对等表或矩阵,每个对等表或矩阵使用来自不同数据集的数据。 列表也可以用于发票之类的表单。

使用表显示详细信息数据、组织行组中的数据,或者同时用于两种目的。 表模板包含三列,并带有一个表标头行和数据详细信息行。 下图显示了在设计图面上选择的初始表模板:

Screenshot of table template on the design surface.

可以按单个字段、多个字段或通过编写自己的表达式来对数据进行分组。 可以创建嵌套的组或独立的相邻组和显示分组数据的聚合值,或将合计添加到组。 例如,如果表有名为“类别”的行组,则可以为每个组添加小计以及报表的总计。 为了改进表的外观和突出显示要强调的数据,可以合并单元并将格式应用于数据和表标题。

可以在开始时隐藏详细信息数据或分组数据,并包括明细切换以使用户能够交互选择要显示的数据量。

矩阵

使用矩阵显示按行和列进行分组的聚合数据汇总,类似于数据透视表或交叉表。 组的行数和列数由每个行组和列组中的唯一值的个数确定。 下图显示了在设计图面上选择的初始矩阵模板:

Screenshot of new matrix added from Toolbox.

您可以按行组和列组中的多个字段或表达式对数据进行分组。 在运行时,当组合报表数据和数据区域时,随着为列组添加列和为行组添加行,矩阵将在页面上水平和垂直增长。 矩阵单元显示仅限于单元所属行组和列组的交集的聚合值。 例如,如果您的矩阵具有一个行组(类别)和两个显示销售额之和的列组(区域和年份),则报表中将显示两个单元,其中对于“类别”组中的每个值都显示销售额之和。 两个交集处的单元格范围分别是:“Category”和“Territory”,以及“Category”和“Year”。 矩阵可以包含嵌套组和相邻组。 嵌套组具有父子关系,相邻组具有对等关系。 您可以添加矩阵内嵌套行组和列组的任何级别和所有级别的小计。

为使矩阵数据的外观更具可读性和突出显示要强调的数据,可以合并单元或者水平和垂直拆分,并将格式应用于数据和组标题。

您也可以包括最初隐藏详细信息数据的明细切换,然后用户便可单击该切换以根据需要显示更多或更少的详细信息。

列表

使用列表创建自由格式布局。 不用局限于网格布局,可以在列表中自由放置字段。 可以使用列表设计用于显示多个数据集字段的表单,也可以将其用作容器以便并排显示分组数据的多个数据区域。 例如,您可以为列表定义组;添加表、图表和图像;并显示每组值的表和图形表单中的各个值,正如对雇员或病人记录所执行的操作一样。

Screenshot of a blank free-form layout area for a list report.

准备数据

表、矩阵和列表数据区域显示来自数据集的数据。 您可以在检索数据集数据的查询中准备数据,也可以通过设置表、矩阵或列表中的属性来准备数据。

可用于检索报表数据集数据的查询语言(如 Transact-SQL)可以准备数据,方法是使用筛选器以仅包含数据的子集,用使报表更具可读性的常数替换 NULL 值或空值,并对数据进行排序和分组。

如果您选择在报表的表、矩阵或列表数据区域中准备数据,则可以对数据区域或数据区域内的单元设置属性。 如果要筛选数据或对数据进行排序,则对数据区域设置属性。 例如,若要对数据进行排序,则可以指定要依据其进行排序的列以及排序方向。 如果要为字段提供替代值,请设置显示该字段的单元格文本的值。 例如,要在字段为空或 NULL 时显示空值,请使用表达式设置值。

构建和配置表、矩阵或列表

向报表添加表或矩阵时,可以使用“表和矩阵向导”,也可以从 Report Builder 提供的模板中手动构建。 而列表是根据列表模板手动生成的。

Screenshot of table, matrix, and list buttons in Report Builder.

该向导将指导您一步步地快速生成并配置表或矩阵。 在您完成该向导或从头开始生成 Tablix 数据区域后,可以进一步配置和优化它们。 在数据区域的右键单击菜单上提供的对话框可便于您为分页符、页眉和页脚的可重复性和可见性、显示选项、筛选器和排序设置最常用的属性。 但是,Tablix 数据区域提供大量的附加属性,这些属性只能在报表生成器的“属性”窗格中设置。 例如,如果要在表、矩阵或列表的数据集为空时显示消息,需在“属性”窗格的 NoRowsMessage tablix 属性中指定消息文本。

更改 Tablix 模板

不用局限于初始 tablix 模板选择。 添加组、总计和标签时,您可能希望修改 Tablix 设计。 例如,您可能会从表开始,然后删除详细信息行和添加列组。

通过添加任何 Tablix 功能,可以继续开发表、矩阵或列表。 Tablix 功能包括显示行和列中的分组数据的详细信息数据或聚合。 可以创建嵌套组、独立的相邻组或递归组。 可以对分组数据进行筛选和排序,并通过在组定义中包括多个组表达式来方便地组合组。

您还可以为组添加总计,或者为数据区域添加总计。 可以隐藏行或列以简化报表,并允许用户切换隐藏数据的显示,就像向下钻取报表中显示的那样。