数据透视表

数据透视表允许您组织、汇总和分析大量数据,而无需复杂的公式。通过将数据分组和分段为 :ref:`dimensions <spreadsheet/pivot-tables/dimensions>`(即,添加为列和行的字段)并定义 :ref:`measured <spreadsheet/pivot-tables/measures>`(例如,订购的总金额或数量),自动计算每个相交数据点的相应值。

可以执行各种操作以从不同角度查看同一数据集,例如 rearranging or sorting dimensionschanging how measures are aggregated or calculated

Example

在示例中,数据透视表显示每个销售人员每季度的 Total 销售订单数量。 Salesperson 字段以行表示,:guilabel:`Order Date`(按季度和年份分组)以列表示,而值表示给定销售人员和季度的总金额。

显示每个销售人员每季度销售额的数据透视表

使用 Odoo 电子表格,可以:

当在 Odoo 电子表格中插入数据透视表时,会创建一个 data source,它将数据透视表连接到基础数据库数据或电子表格范围。

从一系列数据插入数据透视表

小技巧

在从一系列数据插入数据透视表之前:

  • 按列而不是行组织数据,即每列应包含一类信息,而每一行应包含一条记录。

  • 确保所有列都有唯一的标题;避免双行标题或合并单元格。

  • 通过选择范围内的任意单元格,单击工具栏中的 Insert table ,然后选择一种样式,将数据格式化为表格。这可确保对表的任何更新都反映在数据透视表中。

要根据一系列数据创建数据透视表:

  1. 打开相关的 Odoo 电子表格。

  2. 选择要分析的数据范围内的任意单元格,然后从菜单栏中单击 Insert ‣ Pivot table From range

将打开一个新工作表,该工作表的左上角有一个空的数据透视表;工作表名称是 pivot table ID,例如 Pivot #2。默认情况下,数据透视表是 dynamic pivot table,其中左上角单元格包含 Odoo-specific array function,它从数据范围中检索数据一次 columns, rows, and measures have been added

电子表格右侧的面板显示 properties of the pivot table

数据透视表属性

将数据透视表插入 Odoo 电子表格时,电子表格右侧会打开一个属性面板。

小技巧

可以随时通过 Data 菜单打开数据透视表的属性面板,方法是单击相关数据透视表(以 (pivot) 图标开头),或者右键单击相关数据透视表上的任意位置并单击 See pivot properties

根据数据透视表的插入方式,会显示以下属性,其中一些属性可以编辑:

  • Pivot #:数据透视表 ID。

    注解

    数据透视表在电子表格的生命周期内保留其 ID。除了在属性面板顶部引用之外,此 ID 还标识 Data 菜单中的数据透视表。当其他数据透视表插入到电子表格中时,数据透视表 ID 会按顺序分配。

  • Name:数据透视表的名称。如果需要,编辑名称。请注意,在数据透视表属性中编辑名称不会修改工作表名称,反之亦然。

  • Range:对于从一系列数据创建的数据透视表,使用的范围。如果需要,编辑范围。

  • Model:对于引用从 Odoo 数据透视视图插入或直接从电子表格插入的 Odoo 数据的数据透视表,从中检索数据的模型。

  • Domain:对于引用从 Odoo 数据透视视图插入或直接从电子表格插入的 Odoo 数据的数据透视表,用于确定显示哪些 Odoo 记录的规则。单击 Edit domain 添加或编辑规则。

    注解

    当在数据透视表中引用动态 Odoo 数据并使用 global filters 时,该域会在数据加载到电子表格之前与全局过滤器的选定值组合。

ColumnsRows 是用于对数据进行分组或分段的 dimensions,而 Measures 根据所选维度定义正在测量或分析的内容。

要在构建或操作数据透视表时 prevent real-time updates,请启用 Defer updates

要复制或删除数据透视表的*数据源*,请单击属性面板顶部的 (gear) 图标,然后根据相关情况单击:icon:fa-clone Duplicate Delete

构建或操作数据透视表

将数据透视表插入 Odoo 电子表格后,可以:

重要

从 Odoo 数据透视视图插入的数据透视表必须首先为 converted to a dynamic pivot table 才能操作维度和度量。

小技巧

默认情况下,数据透视表的大多数操作都会实时反映在数据透视表数据中。为了防止在进行更改时进行更新(例如,如果数据集非常大),请启用属性面板底部的 Defer updates。完成更改后,单击 Update (Apply all changes) 或:icon:fa-undo (Discard all changes)

禁用 Defer updates 将应用自启用该选项以来所做的所有更改并恢复实时更新。

尺寸

数据透视表的维度(即添加为列和行的字段)表示用于对数据进行分组或分段的类别。列通常用于可以提供比较视图的字段,例如按季度分组的 Order Date,而行通常用于将返回许多值的字段,例如 CustomerProduct

有可能:

添加或删除尺寸

添加或删除维度允许您根据需要定制数据透视表并控制数据的粒度级别。

要将维度添加到数据透视表:

  1. 打开 pivot table’s properties panel

  2. ColumnsRows 部分中,根据相关情况,点击 Add

  3. 选择适当的字段。

  4. 如果需要,更改 sorting

小技巧

  • 对于基于日期或时间的维度,从下拉菜单的选项中选择所需的 Granularity

  • 在引用从 Odoo 数据透视视图插入或直接从电子表格插入的 Odoo 数据的数据透视表中,单击字段名称旁边的 (right arrow) 可在添加列或行时访问相关字段的列表。

要从数据透视表中删除维度,请单击维度卡片上的 (delete) 图标。

嵌套尺寸

添加多个行或列维度会创建嵌套层次结构。要更改维度的层次结构,请将维度卡拖动到其部分中的所需位置。

Example

在示例中,除了 Saleperson 之外,还添加了字段 Product 作为行维度,以显示每个销售人员的产品。切换维度的顺序即可显示每个产品的销售人员。

创建维度的嵌套层次结构

要折叠或展开数据透视表中的嵌套层次结构,请单击相关的 (expand) (collapse) 图标。

重新排列尺寸

重新排列数据透视表的维度,即将字段从列移动到行,反之亦然,可以让您从不同的角度查看相同的数据集,并可能获得新的见解。

要更改显示单个尺寸的轴:

  1. 打开 pivot table’s properties panel

  2. 将维度卡从 Columns 部分拖动到 Rows 部分,反之亦然。

要将列中表示的*所有*维度移动到行,反之亦然,同时:

  1. 打开 pivot table’s properties panel

  2. 单击:icon:fa-cog (gear) 图标。

  3. 单击:图标:fa-exchange Flip axes

注解

根据数据量,翻转数据透视表的轴可能会导致 #SPILL 错误。当公式尝试输出一定范围的值,但某些因素(例如其他数据、合并的单元格或当前工作表的边界)阻止填充单元格时,就会发生这种情况。

将鼠标悬停在包含 #SPILL 的单元格上可提供错误的详细信息。

排序维度

通过对维度进行排序,您可以组织数据透视表数据并更轻松地发现所需的见解。任何维度都可以排序 by dimension value,而行维度也可以排序 by measure

按尺寸值

默认情况下,维度值通常按字母、时间或数字升序排序。

要更改维度按维度值排序的方式:

  1. 打开 pivot table properties

  2. 在相关维度的卡片上的 Order by 字段中,选择 AscendingDescendingUnsorted

按措施

行维度可以按度量排序,例如,根据总额按升序查看每个销售人员每季度的销售订单总额。

要按度量对行维度进行排序:

  1. 打开 pivot table’s properties panel

  2. 右键单击相关列中的任意值,然后单击 Sort pivot 并选择 AscendingDescending

要返回默认顺序,请执行相同的步骤,然后从下拉列表中选择 No sorting

组维度值

对维度值进行分组允许您通过将多个维度值合并到一个可折叠的组中来整理数据透视表。例如,这对于创建 Others 类别以对不太重要的值进行分组并允许将焦点放在更重要的数据上很有用。

对维度值进行分组并创建 Others 类别:

  1. 打开 pivot table’s properties panel

  2. 按住 Ctrl,然后选择应分组的行或列维度值的单元格。

  3. 右键单击选定的单元格之一,然后单击:icon:fa-plus-square-o Group pivot dimensions。新维度将添加到相关的 ColumnsRows 部分。将排序更改为 AscendingDescending

  4. 在新维度的卡片上:

    • 根据需要,将 Order by 字段从 Unsorted 更改为 AscendingDescending

    • 单击:icon:fa-angle-right Groups 展开子部分。

    • (可选)通过单击 Group 并输入新名称来重命名它。

    • 单击 + “Others” 组将未选定的尺寸值添加到单个组中,然后将该组放置在选定值之后。

要折叠或展开数据透视表中的维度组,请单击相关的 (expand) (collapse) 图标。

Example

在示例中,西班牙、法国、爱尔兰和意大利二级市场的每位销售人员数据已分组为 Others 类别,然后可以折叠该类别,并在比利时和美国主要市场的数据旁边查看其数据。

对维度值进行分组以创建“其他”类别

测量

数据透视表的度量表示正在测量或分析的内容,通常是 TotalQuantity ordered 等字段。

小技巧

如果原始数据源中不存在所需的度量,请创建 calculated measure,例如,以显示每个订单的平均收入。

有可能:

添加或删除措施

要将度量添加到数据透视表:

  1. 打开 pivot table’s properties panel

  2. Measures 部分中,单击 Add

  3. 选择适当的度量或单击:icon:os-formula Add calculated measure 创建并添加自定义 calculated measure

  4. (可选)通过单击然后编辑度量的名称来编辑度量的名称。

  5. (可选)通过从下拉列表中选择一个值来更改度量的聚合方式。

要从数据透视表中删除度量,请单击维度卡片上的 (delete) 图标。要暂时隐藏度量而不是删除它,请单击 (Hide) 图标;要使之前隐藏的度量可见,请单击 (Show) 图标。

小技巧

  • 要仅显示维度计数而不是可量化的度量,请选择 Count 作为度量。

  • 在数据透视表中,度量的标签默认显示在第二个标题行中; hide this row 如果需要的话。

  • 可以使用不同的聚合多次添加相同的度量。

  • 如果添加了多个度量,它们会按照添加的顺序显示在列中; change the order 如果需要的话。

创建计算度量

如果原始数据源中不存在所需的度量,则可以添加一个或多个计算度量。例如,可以添加计算度量来显示每个订单的平均收入或每个产品的利润率。

注解

计算新度量所需的字段必须已作为维度或度量添加到数据透视表中。

添加计算度量:

  1. 打开 pivot table’s properties panel

  2. Measures 部分中,单击 Add

  3. 在可滚动列表下方,点击添加计算度量

  4. 通过点击名称并输入来重命名计算度量。

  5. 单击以 = 开头的行,然后输入相关公式。

    小技巧

    Functions 可用于计算度量的公式中。

  6. 从下拉菜单中选择一个值,以选择度量值的汇总方式。

Example

在示例中,每个订单的平均收入是通过将销售额总和除以订单数来计算的。

计算度量的公式

重新安排措施

在数据透视表中,度量按添加顺序显示在列中。

要更改度量的显示顺序:

  1. 打开 pivot table’s properties panel

  2. 将度量卡拖至所需位置。

‘显示度量为’

默认情况下,度量显示为实际返回值,不执行任何其他计算。然而,也可以显示与其他数据相关的度量,例如,作为 % of grand total 或从小到大排列。

要更改度量的显示方式:

  1. 打开 pivot table’s properties panel

  2. 在措施卡片上,单击:icon:fa-cog (Show values as) 图标。

  3. 从下拉菜单中选择所需的选项。

  4. 点击:guilabel:保存

注解

当更改度量的显示方式时,即使启用 Defer updates,数据透视表数据也会实时更新。

删除度量标题

默认情况下,度量标题显示在数据透视表的第二个标题行中。

要删除此标题行:

  1. 打开 pivot table’s properties panel

  2. 双击数据透视表左上角的单元格即可编辑公式。

  3. 将光标定位在数据透视表 ID 之后,然后键入 , 以前进到 [include_measure_titles],然后键入 0

显示度量标题的行被删除。

从数据透视表中删除度量标题

小技巧

在从 Odoo 数据透视视图插入的静态数据透视表中,如果需要,可以手动删除第二个标题行。

复制或删除数据透视表

注解

duplicatingdeleting 为数据透视表时,请务必记住每个插入的数据透视表也有一个 data source

复制数据透视表

通过数据透视表的属性复制数据透视表会创建额外的数据源。这允许对一个电子表格中的相同数据执行不同的操作。例如,您可以查看按不同维度聚合的相同数据,或使用 global filters 偏移日期并创建将当前期间的数据与上一期间的数据进行比较的数据透视表。

要复制数据透视表:

  1. 打开 pivot table properties 后,单击:icon:fa-cog (gear) 图标,然后单击:icon:fa-clone Duplicate

    复制的透视表会自动插入到电子表格的新工作表中,并在右侧面板中打开透视表属性。

  2. 如需要,可在属性面板和工作表标签中编辑名称

新数据源被分配到下一个可用的 pivot table ID。例如,如果同时没有插入其他数据透视表,则复制 Pivot #1 会导致创建 Pivot #2

注解

  • 通过复制和粘贴或复制工作表来复制数据透视表不会创建新的数据源。因此,对数据透视表属性所做的任何更改都会影响数据透视表的任何副本。

  • 复制数据透视表时,新的数据透视表默认为 dynamic pivot table,其维度和度量为 can be manipulated

删除数据透视表

要从电子表格中完全删除数据透视表及其数据源,请按任意顺序执行以下步骤:

  • 使用您喜欢的方式删除数据透视表,例如通过键盘命令、电子表格菜单或删除工作表。

  • 从相关数据透视表的 properties panel 中,单击:icon:fa-cog (gear) 图标,然后单击:icon:fa-trash Delete。这将删除数据透视表的数据源。

注解

首先删除数据透视表会导致 Data 菜单中相应数据源旁边出现一条警告消息,而首先删除数据源会导致数据透视表充满 #ERROR 错误。