跳到主要内容

使用 Excel 公式创建计算的列和行

Excel 公式让您可以添加您的初始 QlikView 文档或 Qlik Sense 应用程序中所没有已计算列和行总计。

您将进行的操作

您将:

  1. 使用 SUM 函数添加行总计。
  2. 添加计算的列。您可以两种不同方式进行该操作:
    1. Excel 表格:使用 Excel 表格工具创建表格。通过该方法可得到更好的报表创建性能,但是它需要更加高阶的 Excel 技巧。我们建议使用该方法。

    2. 层:您将字段标签插入层级,然后添加 Excel 公式。这样易于实施,但使用层级可能影响报表生成性能。

    该页面显示如何使用两种方法创建计算的列。为进行示范,将通过从一列中的值减去另一列中的值来计算第三列。然后得到的第三列的值将除以来自初始两列中一列的相应值。

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

关于计算

如果您希望最大程度缩短报表创建时间,可将所需的计算添加至 QlikViewQlik Sense 重新加载脚本。

该示例使用简单的 Excel 公式,但是您可根据需要插入更加复杂的公式。您还可插入 Qlik 公式。请参阅:Qlik Sense 和 QlikView 公式

添加具有计算的列和总计的 Excel 表格

这是创建计算的列的第一种方式。您将把源 QlikView 对象添加至表格节点,然后创建 Excel 表格。

添加表格

进行以下操作:

  1. 新建 Excel 报表,或打开现有报表。

  2. 右键单击表格节点,然后选择添加对象
  3. 从列表选择图表。例如,添加前 10 个产品。单击确定

    Add table object window

  4. 单击左侧的 + 以展开 CH184_Table - 前 10 个产品表格节点。
  5. CH184_Table - 前 10 个产品下一次一个选择每个列,并清除保留源格式
  6. 按住 CTRL 并选择您要添加到工作表的表格字段。

    例如:产品名称总销量总利润。将它们拖动到空的单元格行。

    Excel template with table added column by column

  7. 选择含表头的单元格、字段标签以及下方的一个空白行。
  8. Excel 功能区中,单击插入选项卡,然后单击表格
  9. 确保启用表包含标题标签,然后单击确定

  10. 在左窗格上,单击附加功能。将 deleterow 标签拖动至表格下方空行中的一个单元格上。

    Excel template with delterow feature added.

    由此将从最终报表删除空行。

添加计算的列

进行以下操作:

  1. 选择字段标签右侧的第一空单元格。
  2. 插入公式 =[@[Total Sales]]-[@[Gross Profit]]

    Excel 将自动把该新列添加至表格。

    Excel template with with formula added to table

  3. 键入列表头。例如:成本
  4. 然后使用 Excel 表格设计工具应用格式设定。

添加总计

进行以下操作:

  1. 选择表格下方的空单元格。例如,D8
  2. 在单元格中输入 SUM 公式。SUM 函数的范围需要包括:

    • 含有层级打开标签的行中单元格的地址。
    • 含有字段标签的单元格。
    • 刚好在其下方的至少一个空单元格的地址。

    在本例中,函数将名为:=SUM(D4:7)

  3. 单击并拖动该公式至 E8F8
  4. 对行中的元素应用 Excel 格式设定工具。

    例如:Total SalesGross Profit 总计可具有货币格式。

    Excel template with SUM formula added

预览报表

进行以下操作:

  1. 单击预览

    Excel 启动并显示您的报表。

  2. 您将看到的表格具有两个新列,其中包含您的计算结果。底部行将包含列总计。

    Excel preview with one table showing column totals.

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

使用层级构建具有计算的列和总计的表格

这是添加计算的列的第二种方式,要使用到层级。要了解层级,请参阅:带层级的 Excel 报表

添加层级

进行以下操作:

  1. 新建 Excel 报表,或打开现有报表。
  2. 右键单击层级节点,然后选择添加层级
  3. 从列表选择图表。例如,添加前 10 个产品。单击确定

    The Add Levels window

  4. 单击 CH184_Level - 前 10 个产品节点,并将其拖动至三个垂直对齐的空单元格上。

  5. 单击左侧的 + 以展开 CH184_Level - 前 10 个产品层级节点。
  6. CH184_Leve - 前 10 个产品下一次一个选择每个列,并清除保留源格式
  7. 按住 CTRL 并选择您要添加到工作表的层级字段。

    例如:产品名称总销量总利润。将它们拖动至层级标签之间的空单元格行上。

    Excel template with level added.

  8. 根据偏好设定这些字段的格式。例如,您可以将 Total Sales 的格式设定成货币。

添加公式和表头。

  1. 选择字段标签右侧的第一空单元格。在本例中为 F4
  2. 单击单元格,键入 =,然后单击Total Sales单元格。
  3. 键入 -,单击 Gross Profit 单元格并按 Enter。这样将计算成本。

    当您在层级标签之间插入公式时,Qlik NPrinting 将把其复制到最终表格的每个行中。

    您可忽略模板中的 error #VALUE!。发生该情况是因为 Excel 公式引用含有字段标签的单元格。

  4. 在单元格 G4,键入 =F5/D5。这样将把成本除以销量。
  5. 使用 Excel 格式设定能根据自己的偏好设定公式单元格的格式。

    例如将成本的格式设定为货币,并将成本/销量的格式设定为百分比。

  6. 对含有前 10 个产品打开层级标签的行上方一行或两行位置处行中的每列键入表头。

    根据需要设定这些表头的格式。

    Excel template with SUM added.

  7. 选择 </Top 10 Products_Level> 层级关闭标签下方的单元格,从而至少有一个介入的空单元格。
  8. 在单元格 D8 中,输入 Excel SUM 公式来创建列总计行。总和范围应当包括:

    1. 字段标签单元格地址。
    2. 其下方的空单元格的地址。

    在本例中,函数将名为:=SUM(D4:D6)

  9. 单击并拖动该公式至 E8F8
  10. 对行中的元素应用 Excel 格式设定工具。

    例如:Total SalesGross Profit 总计的格式可设定成货币。

    Excel template with column totals added.

预览报表

进行以下操作:

  1. 单击预览

    Excel 启动并显示您的报表。

  2. 您将看到表格,具有包含您计算的结果的两个新列。底部行将包含列总计。

    Excel template preview showing table with two new columns and column totals.

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