[TITLE]
Odoo 电子表格全局过滤器使用指南
[DESCRIPTION]
本文详细介绍 Odoo 电子表格中的全局过滤器,包括四种类型(日期、关联、文本、是/否)、字段匹配原理、创建步骤及在仪表盘和报表中的管理与使用技巧,帮助用户快速实现跨数据源的动态筛选。
[KEYWORDS]
Odoo,全局过滤器,日期过滤器,关联过滤器,文本过滤器,是/否过滤器,字段匹配,仪表盘,报表,数据源
[TRANSLATED_CONTENT]
全局过滤器
全局过滤器,由位于 Odoo 电子表格右上角的 os-global-filters 过滤器 图标表示,允许对已 插入该电子表格 的所有 Odoo 数据应用一个或多个过滤条件 <../insert>。
这些过滤器在报表和仪表盘中尤为实用,用户可以轻松且动态地自定义视图,以回答跨多个数据源的复杂业务问题。
:::: tip
::: title
提示
:::
在仪表盘上,通过仪表盘顶部的搜索栏应用在底层电子表格 创建的 全局过滤器 <spreadsheet/global-filters/create>。
::::
提供四种全局过滤器类型:
日期 <spreadsheet/global-filters/create-date>:基于特定时间范围过滤数据,可选月份 / 季度、相对期间或起始 / 结束。关联 <spreadsheet/global-filters/create-relation>:基于关联模型中的关系字段过滤数据,例如按 业务员(关联模型为 用户)。文本 <spreadsheet/global-filters/create-text>:基于文本字符串或预定义值范围过滤数据,例如产品参考或条形码。是/否 <spreadsheet/global-filters/create-checkbox>:基于复选框或布尔字段是否被设置过滤数据,例如线索是否激活。
不同于标准的 fa-filter (添加过滤器) 电子表格函数仅对已加载的数据进行排序或临时隐藏,全局过滤器 在数据源 <spreadsheet/insert/data-sources> 层面起作用,在数据加载到电子表格之前 先进行过滤。
创建全局过滤器时,字段匹配 <spreadsheet/global-filters/field-matching> 会为每个数据源确保过滤器作用于正确的数据库 字段 </applications/studio/fields>。
:::: tip
::: title
提示
:::
- 全局过滤器通过向电子表格中所有数据源的域添加额外条件实现。因此,若在数据库中配置了初始列表、透视表或图表,请勿在同一处使用相同的条件。
- 设置默认值(如适用),可让电子表格或仪表盘快速加载并提供有用的初始视图,后续可进一步自定义。例如,可将 日期 过滤器默认设为最近 30 天的数据。
::::
字段匹配 {#spreadsheet/global-filters/field-matching}
:::: important
::: title
重要
:::
匹配错误的字段或根本未设置匹配字段,都会导致全局过滤器无法显示预期结果。
::::
全局过滤器必须作用于正确的数据库字段才能正常工作。以 日期 过滤器为例,销售订单模型中包含多个日期字段,需明确选择用于过滤的字段(如订单日期、交付日期、预计日期或到期日期)。
在 创建全局过滤器 <spreadsheet/global-filters/create> 时,过滤器属性 面板的 字段匹配 部分允许为电子表格中的每个 数据源 <spreadsheet/insert/data-sources> 指定过滤器应作用的数据库字段。
字段匹配的详细说明请参阅创建 日期 <spreadsheet/global-filters/create-date>、关联 <spreadsheet/global-filters/create-relation>、文本 <spreadsheet/global-filters/create-text> 与 是/否 <spreadsheet/global-filters/create-checkbox> 过滤器的相应章节。
创建全局过滤器 {#spreadsheet/global-filters/create}
在 Odoo 文档 应用或 Odoo 仪表盘 应用中打开目标电子表格(若要在仪表盘中添加过滤器)。
要添加新过滤器,点击 os-global-filters 过滤器 图标打开 过滤器 面板。 在 创建过滤器 下,依据需求点击 fa-calendar 日期、fa-link 关联、fa-font 文本 或 fa-toggle-off 是/否。
:::: note
::: title
注意
:::
根据电子表格中存在的数据源,系统可能会显示建议的 关联过滤器 <spreadsheet/global-filters/create-relation>。点击建议过滤器会打开 过滤器属性 面板并预填部分值。
::::
保存全局过滤器时,若缺少必填信息或 字段匹配 部分的内容不合适,系统会提示 某些必填字段无效。
:::: tip
::: title
提示
:::
- 若需访问仪表盘底层的电子表格,先 激活开发者模式
<developer-mode>,然后点击仪表盘名称左侧面板中出现的fa-pencil(编辑) 图标。 - 点击
fa-thumb-tack(固定) 图标可将 过滤器属性 面板固定在过滤器面板旁边,便于同时操作。
::::
日期 {#spreadsheet/global-filters/create-date}
:::: note
::: title
注意
:::
日期 过滤器只能匹配 日期 <studio/fields/simple-fields-date> 或 日期时间 <studio/fields/simple-fields-date-time> 字段。
::::
打开 过滤器属性 面板后:
- 在 标签 字段输入新日期过滤器的名称。
- 若要设置 默认值,从可选项中选择,例如 最近 30 天 或 本月累计。应用全局过滤器时,可随时更改为其他可选值。
- 在 字段匹配 部分,对每个数据源点击 日期字段 旁的选择框,指定过滤器应匹配的字段。
- 选择日期字段后会出现 期间偏移 选项,可将时间范围向过去或未来偏移若干期间(如 前一、下一),默认不偏移。
- 使用 期间偏移 功能时,可先 复制 相应的插入列表
<spreadsheet/insert/list-duplicate>或透视表<spreadsheet/insert/pivot-table-duplicate>,在第二个数据源上设置偏移,以实现对比。
- 点击 保存。
::: example
以下示例展示了一个 日期 全局过滤器,使透视表和图表能够显示任意时间段(示例为 2025 年 7 月)的销售数据。
在 过滤器属性 的 字段匹配 部分,已选中 订单日期 作为匹配字段。
:::
关联 {#spreadsheet/global-filters/create-relation}
:::: note
::: title
注意
:::
关联 过滤器只能匹配 Many2One <studio/fields/relational-fields-many2one>、One2Many <studio/fields/relational-fields-one2many> 或 Many2Many <studio/fields/relational-fields-many2many> 字段。
::::
打开 过滤器属性 面板后:
- 在 标签 字段输入新关联过滤器的名称。
- 在 关联模型 字段输入模型名称以搜索并选择相应模型。选择后会出现 默认值、可能值 以及 字段匹配 部分。
- 若要设置 默认值,从模型记录中选择一个;若模型为 用户,可启用 自动过滤当前用户。
- 若需限制可选值,勾选 使用域限制值,然后点击 编辑域
<search/custom-filters>添加或编辑规则。 - 在 字段匹配 部分,检查每个数据源的匹配字段是否正确,必要时点击数据源名称下方进行更改。
- 点击 保存。
::: example
以下示例展示了一个 关联 过滤器,使透视表和图表仅显示选定业务员的销售数据,关联模型为 用户。
在 过滤器属性 的 字段匹配 部分,系统自动将 业务员 字段分配给透视表和图表。
:::
文本 {#spreadsheet/global-filters/create-text}
:::: note
::: title
注意
:::
文本 过滤器只能匹配 文本 <studio/fields/simple-fields-text>(字符)、整数 <studio/fields/simple-fields-integer> 或 小数 <studio/fields/simple-fields-decimal>(浮点)字段。
::::
打开 过滤器属性 面板后:
- 在 标签 字段输入新文本过滤器的名称。
- 可选勾选 限制值为范围,此时可输入或在同一电子表格中选择一个范围。
- 可选填写 默认值。
- 在 字段匹配 部分,对每个数据源点击对应位置并选择文本过滤器应匹配的字段。
- 点击 保存。
::::: example
以下示例展示了一个 文本 全局过滤器,使透视表和图表仅显示内部参考包含 FURN 的产品。可一次输入多个值。
在 过滤器属性 的 字段匹配 部分,已将 产品变体 的 内部参考 设为匹配字段。
:::: tip
::: title
提示
:::
若在配置文本过滤器时勾选了 限制值为范围 并指定了范围,可通过下拉框选择文本字段的值。
::::
是/否 {#spreadsheet/global-filters/create-checkbox}
:::: note
::: title
注意
:::
是/否 过滤器只能匹配 复选框 <studio/fields/simple-fields-checkbox>(布尔)字段。
::::
打开 过滤器属性 面板后:
- 在 标签 字段输入新 是/否 过滤器的名称。
- 可选选择 已设置 或 未设置 作为 默认值。
- 在 字段匹配 部分,对每个数据源点击对应位置并选择要匹配的字段。
- 点击 保存。
::: example
以下示例展示了一个 是/否 全局过滤器,用于查看所有 激活(复选框已勾选)或 未激活 的商机。若过滤器留空,则同时显示两者。
在 过滤器属性 的 字段匹配 部分,已将 激活 字段分配给透视表。
:::
管理与使用全局过滤器 {#spreadsheet/global-filters/manage}
点击电子表格右上角的 os-global-filters 过滤器 图标,即可访问该电子表格已创建的全局过滤器。
可以执行以下操作:
应用一个或多个全局过滤器:为每个过滤器选择相应的值。
:::: tip
::: title
提示
:::刷新浏览器会将所有全局过滤器重置为初始状态或默认值。若要在不失去已应用过滤器的情况下刷新插入的列表、透视表或图表数据,点击菜单栏的
数据 --> os-refresh-data --> 刷新全部数据。
:::更改过滤器顺序:将鼠标悬停在过滤器上,使用
os-thin-drag-handle(拖动手柄) 图标上下拖动。清除过滤器值(无论是默认值还是已选值):点击值旁的
fa-times(清除) 图标。编辑已有过滤器:点击
fa-cog(编辑) 图标打开 过滤器属性,进行修改。删除已有过滤器:同样点击
fa-cog(编辑) 图标后,选择 删除。
[SUMMARY]
- 全局过滤器
- 类型
- 日期过滤器
- 关联过滤器
- 文本过滤器
- 是/否过滤器
- 字段匹配
- 重要性
- 匹配规则
- 创建全局过滤器
- 步骤概览
- 日期
- 关联
- 文本
- 是/否
- 管理与使用
- 应用过滤器
- 调整顺序
- 清除值
- 编辑/删除
- 刷新数据
- 类型