跳到主要内容

带层级的 Excel 报表

您可使用层级按维度在报表中将数据分组。可将层级应用至表格和图像。

层级将报表元素循环通过字段的值。每个层级字段值的结果依顺序显示。

例如,您具有带表格的 Qlik Sense 应用程序,该表格列出您在一年中售出的每种产品。表格非常长,并且不能在 Excel 工作表上很好地适配。您可将该表格添加至 Qlik NPrinting 报表,并为 Product Category 添加层级。您生成的报表将针对 Product Category 的每个值创建不同的表格,而不是创建一个大表格。

您可创建具有嵌套层级的复杂层次结构。例如,您可以创建年份 > 类别层次结构来生成具有每年每个产品类别销量的报表。您可根据需要嵌套任意数目的层级,但性能会随着每次添加层级而降低。

备注:

您可将具有计算维度的 QlikView 对象或空值用作层级。但是您不能在它们内部嵌套其他对象,但不包括来自该工作表对象的字段。Qlik Sense 具有计算维度的可视化无法用作层级。

性能

报表和预览生成的速度会随着层级的添加而变慢。对于层级字段中的每个值会单独提取图表和表格,因此导出的对象的数目可能明显增加。

规则

每个层级具有打开标签和关闭标签。这些标签并不一定位于同一行或列中,但其位置应遵守一些规则:

  • 打开标签必须在包含要循环的标签的所有行的上方一行中。它还必须在包含要在层级中循环的标签的任何列左侧的列或同一列中。
  • 关闭标签必须在包含要循环的标签的所有行的下方一行中。
  • 包含层级标签的行将不会存在于报表中。您不应当将内容放置在和层级标签一样的行中。
  • 包含在层级范围中的任何空行都必须存在于报表中。
  • 您可通过单击层级节点验证层级范围。将会概述并突出显示层级范围。

如果将层级标签拖动至错误的单元格中,可在其他地方剪切并粘贴它。

您将进行的操作

在本教程中,您将创建报表,其中在层级打开和关闭标签之间插入的 QlikView 对象将按两个字段组织。您将:

  1. 以表格形式嵌入一个对象,并以图像形式嵌入一个对象。
  2. 以层级形式添加两个字段,从而 Excel 报表呈现三层信息。
  3. 添加标题和表头。

本教程使用可在 示例文件 中找到的 QlikView 数据。您还可使用您自己的 QlikViewQlik Sense 数据。

添加图像和表格

备注: 您可通过在该选择期间按下 Ctrl 或 Shift 选择多个对象或值。例如,当从列表添加对象时,或者当拖放多个列到模板中时,可选择多个对象。

进行以下操作:

  1. 新建 Excel 报表,或打开现有模板。
  2. 右键单击图像节点,然后选择添加对象
  3. 从对象列表选择前 5 个销售员。单击确定

    在图像节点下方,您将看到 CH319 - 前 5 个销售员

  4. 右键单击表格节点,然后选择添加对象
  5. 选择前 5 个客户。单击确定

    在表格节点下,您将看到 CH318 - 前 5 个客户

  6. CH318 - 前 5 个客户CH319 - 前 5 个销售员令牌拖动到同一行中的空单元格上。

    确保它们之间有三个或四个空列。

    Excel report template with a table and image  added to the sheet.

添加第一个层级

层级具有您的表格和图像标签需要位于其内的打开和关闭标签。打开标签必须位于您要循环的对象上方的行中。关闭标签必须位于下面的一行中。

进行以下操作:

  1. 右键单击层级节点,然后选择添加层级
  2. 从列表选择 Year。单击确定
  3. 右键单击层级节点,然后选择添加层级
  4. 选择 CategoryName。单击确定
  5. 从左窗格将 Year_Level 令牌拖动到工作表中的空单元格上。
  6. 移动 <Year_Level> 打开标签,使其位于您要在循环中纳入的所有行上方的一行中。

    它也必须位于和要在循环中重复的所有列相同的列中(或在所有这些列的左侧)。

    层级范围中包含的空行将在循环中复现。

  7. 关闭层级标签 </Year_Level> 必须位于要纳入层级循环的所有行下方的行中。

    您可通过单击左窗格中的 Year_Level 节点,验证哪些元素包含在循环中。这样会突出显示层级范围。

    Excel report template with one level added to the sheet.

  8. 您可为层级循环纳入动态、可自定义的表头。展开 Year_Level 节点并单击 Year 节点令牌。在属性窗格中,清除保留源格式复选框。

    Excel report template showing that Keep Source Formats is turned off.

  9. Year 标签拖动到 Excel 工作表上,使其位于 <Year_Level> 打开标签下方的一行中。您可以设定 Year 标签格式,设定方式和您设定 Excel 中任何文本的格式时一样。

添加第二层级

我们将在 Year_Level 上方添加第二层级 CategoryName_Level。这意味着报表将按产品类别然后按年份组织。

Example: 产品类别 > 年份

  1. 婴儿服装
    1. 2012
    2. 2013
    3. 2014
  2. 男鞋
    1. 2012
    2. 2013
    3. 2014

您也可以进行相反的操作,并将 CategoryName_Level 嵌套在年份内。

Example: 年份 > 产品类别

  1. 2012
    1. 婴儿服装
    2. 男鞋
  2. 2013
    1. 婴儿服装
    2. 男鞋
  3. 2014
    1. 婴儿服装
    2. 男鞋

进行以下操作:

  1. 从左窗格将 CategoryName_Level 令牌拖动到工作表的空部分上。
  2. <CategoryName_Level> 打开标签置于 <Year_Level> 令牌上方。

    它还必须和 <Year_Level> 位于同一列,或其左侧的列。如果需要,在左侧添加新的列。

  3. 在所有其他对象下方的行中放置 </CategoryName_Level> 关闭标签。
  4. 如果您想纳入动态 CategoryName 表头:在左窗格中,通过单击 + 展开左窗格中的 CategoryName_Level 节点。

  5. CategoryName 节点令牌拖放到 <CategoryName_Level> 打开标签正下方的行中。

    您可以设定标签格式,设定方式和您设定 Excel 中任何文本的格式时一样。

    Excel report template with two levels added to the sheet.

预览报表

进行以下操作:

  1. 单击预览

    Excel 启动并显示您的报表。

  2. 您将得到按您的第一层级然后按您的第二层级组织的报表。

    Excel preview showing how generated report will look.

  3. 单击保存并关闭以保存模板,并关闭模板编辑器