为 Power View 报表配置表行为特性(SSAS 表格模型)

如果将表格模型用作 Power View 的数据模型,则可以设置表行为属性,以更精细的级别公开详细信息行。 设置表格行为属性会更改详细信息行的分组方式,并在磁贴、卡片和图表布局中生成放置识别信息(如姓名、照片 ID 或徽标图像)的默认位置。

Power View 与其他报表应用程序的不同之处在于,它会在报表设计期间自动对项目进行分组,通过评估在报表字段列表中放置的列与当前使用的演示格式进行比较来实现。 在大多数情况下,默认分组生成最佳结果。 但对于某些表(主要是包含详细信息数据的表)而言,默认分组行为有时会对不应分组的行进行分组。 对于此类表,可以设置属性以更改组的评估方式。

对于那些单独行数据是主要关注点的表格(例如员工或客户记录),建议设置表格行为属性。 相比之下,不受益于这些属性的表包括那些充当查阅表的表(例如,日期表、产品类别表或部门表,其中表由相对较少的行和列组成),或者包含仅在汇总时才感兴趣的行的汇总表(例如, 按性别、年龄或地理汇总的人口普查数据。 对于查找表和摘要表,默认分组行为产生最佳结果。

注释

表行为属性仅影响在 Power View 中用作数据模型的表格模型。 Excel 数据透视报表不支持表格行为属性。

表行为属性包括:

  • 行标识符 ~ 指定仅包含唯一值的列,允许该列用作内部分组键。

  • 保留唯一行 — 指定哪些列提供应视为唯一的值(例如,员工名字和姓氏),以防两名或更多员工共享同名的情况)。

  • 默认标签 ~ 指定哪个列提供显示名称来表示行数据(例如,员工记录中的员工名称)。

  • 默认图像 — 指定哪个列提供表示行数据的图像(例如,员工记录中的照片 ID)。

注释

请参阅以下部分,从特定呈现格式的角度接近布局优化: 针对特定布局进行优化

打开“表格行为”对话框

  1. 在 SQL Server Data Tools (SSDT)中,单击要为其配置默认字段列表的表(选项卡)。

  2. “属性” 窗口中的 “表行为” 属性中,单击 单击以进行编辑

  3. 在“ 表行为 ”对话框中,设置 行标识符,然后在此对话框中指定其他属性。

设置行标识符属性

在表中,行标识符指定仅包含唯一值且不包含空值的单个列。 行标识符属性用于更改分组,以便组不再基于行的字段组合,而是基于一个固定的列来唯一标识行,无论特定报表布局中使用的字段如何。

设置此属性会将默认的分组行为从基于画布上现有列的动态分组更改为基于行标识符进行汇总的固定分组行为。 更改默认分组行为对于报表布局(如矩阵)是相关的,否则这些布局会将行中的每一列分组(或显示分类汇总)。

在 Power View 中,设置行标识符可启用以下附加属性: 保留 Unique Rows 属性、 默认标签 属性和 默认图像 属性。

还可以单独使用 行标识符 作为独立属性来启用以下内容:

  • 在报表中使用二进制图像。 通过删除有关行唯一性的歧义,Power View 可以确定如何为给定行分配默认图像和默认标签。

  • 从矩阵报表中删除不需要的分类汇总。 字段级别的默认分组会生成字段的分类汇总。 如果您只需要在行级别计算的单个小计,则设置行标识符即可实现该功能。

不能为标记为日期表的表设置行标识符。 对于日期表,在标记表时指定行标识符。 有关详细信息,请参阅“标记为日期表”对话框(SSAS)。

设置“保留唯一行”属性

此属性允许你指定哪些列以区分一行与另一行的方式传达标识信息(如员工姓名或产品代码)。 如果某些行似乎是相同的(例如两个客户重名),您为此属性指定的列将会在报表中的表格重复出现。

根据向报表添加的列,在某些情况下你可能会发现这些行被视为相同行,因为每行中的值看起来相同,比如两个都叫 Jon Yang 的客户。 可能会发生这种情况,因为提供区分的其他列(例如中间名、地址或出生日期)不在报表画布上。 在这种情况下,默认行为是将明显相同的行分组到一行中,将任何计算值汇总为合并行的单个较大结果。

通过设置 “保留唯一行 ”属性,可以指定一个或多个应始终重复的列,即使存在重复的实例,只要将该列添加到报表画布。 与该行关联的计算值现在将基于每个单独的行进行分配,而不是汇总到单个行。 为 “保留唯一行 ”属性选择列时,请选择包含唯一或几乎唯一值的列。

注释

由于最终用户选择的列可能会影响分组,这会更改表达式计算的筛选器上下文,因此模型设计器必须注意创建返回正确结果的度量值。 有关详细信息,请参阅 Power View 常见问题解答

设置默认标签

此属性指定显示在磁贴报表导航条中的标签。 与默认图像一起使用时,默认标签将显示在图像下。 如果没有图像,默认标签将单独显示。 选择默认标签时,选择传达有关行的最多信息的列(例如,名称)。

在磁贴布局中,默认标签显示在图像下方的标题区域中,由默认图像属性定义。 例如,如果你有一个员工列表,你可以将员工信息排列显示,使用员工照片 ID 作为默认图像,并用员工姓名作为默认标签。 在磁贴中,默认标签显示在默认图像下。 即使未在报表字段列表中显式选择这些列,这些列也始终显示在磁贴中。

设置默认映像

此属性指定显示在磁贴报告的导航栏或卡片正面的图像。 在报表中,选择包含默认图像的列时,默认图像将显示在磁贴报表布局的导航条中或卡片的前面。 默认图像应为视觉内容。 示例包括员工表中的照片 ID、客户表中的客户徽标或地理表中的国家/地区形状。

注释

图像可以从指向 Web 服务器上图像文件的 URL 地址获取,或者作为嵌入工作簿中的二进制数据。 如果图像基于 URL,请务必将列设置为图像类型,以便 Power View 检索图像,而不是在报表中将 URL 显示为文本数据。

针对特定布局进行优化

本部分介绍从数据的特定呈现格式和特征的角度设置表行为属性的效果。 例如,如果尝试微调矩阵报表的布局,则可以使用此信息了解如何使用模型中的表行为属性改进矩阵呈现。

缺少图像

在模型中设置的属性决定了图像是在报表中可视化还是表示为报表中的文本值。

图像 URL 在报表中显示为文本

默认情况下,模型中的文本解释为报表中的文本。 如果文本列是报表图像的 URL 地址,请记得设置 图像 URL 属性,以便 Power View 检索图像文件。 对于二进制图像,请记得设置 行标识符 属性。

表缺少一行或多行

有时,默认分组行为会导致结果与预期相反;具体而言,模型中存在的详细信息行不会显示在报表中。 默认情况下,Power View 会按您添加到画布上的列进行分组。 如果将 国家/地区名称 添加到报表,则每个国家/地区在画布上显示一次,即使基础表可能包含包含每个国家/地区名称的多个实例的数千行。 在这种情况下,默认分组行为将生成正确的结果。

但是,请考虑一个不同的示例,其中可能需要显示行的多个实例,因为实际上基础行包含有关不同实体的数据。 在此示例中,假设你有两个名为 Jon Yang 的客户。 使用默认分组行为,报表中只显示一个 Jon Yang 实例。 此外,由于列表中只显示一个实例,因此 度量年度收入 是两个客户的该值的总和。

默认组将 2 合并为 1

若要更改默认分组行为,请设置 行标识符保留唯一行 属性。 在 “保留唯一行”中,选择“姓氏”列,以便对行重复此值,即使它已出现在其他行中也是如此。 更改属性并重新发布工作簿后,可以创建同一报表,这一次你会看到两个名为 Jon Yang 的客户,年收入 已正确分配给每个客户。

基于行 ID 具有重复项的行数据

矩阵布局过于拥挤

在矩阵中显示详细信息表时,默认分组为每个列提供汇总值。 根据你的目标,这可能比你想要的摘要要多。 若要更改此行为,可以设置 行标识符。 无需设置其他属性;只需设置行标识符即可更改分组,以便根据每一行的唯一行标识符计算汇总。

比较以下图像之前和之后的图像,这些图像显示为矩阵布局设置此属性的效果。

之前:基于矩阵中的字段的默认分组

按行标识符分组的矩阵布局

之后:对行标识符进行分组

按行标识符分组的矩阵布局

轴上项目和级别过多的图表

显示详细信息数据的图表报表应使用行标识符作为轴。 如果没有行标识符,轴是不确定的,导致未必合理的基于猜测的布局。 若要更改此行为,可以设置 行标识符。 无需设置其他属性;只需设置行标识符即可更改分组,以便根据每一行的唯一行标识符计算汇总。

比较以下图像之前和之后的图像,这些图像显示为图表布局设置此属性的效果。 它是同一报表,具有相同的字段和演示文稿。 唯一的区别是底部的图片显示“项”表上设置了 行标识符 后的报告。

之前:基于图表中的字段的默认分组

基于字段级别默认分组的图表

之后:按行标识符分组(行标识符成为轴)

基于行 ID 分组的图表

后续步骤

评估模型中的表并设置包含应始终显示为单个项的详细信息行的表行为属性后,可以通过其他属性或设置进一步优化模型。