使用报表筛选器
创建报表筛选器以减少在报表输出中可见的应用程序数据。每个筛选器可以包含一个或多个字段的定义。在创作模板时,可以将筛选器应用于报表任务和各个对象。
在应用程序中报告部分的筛选器选项卡中创建和管理应用程序的报表筛选器。
应用程序的报告部分中的筛选器选项卡

创建报表筛选器后,可以通过两种方式在报告中使用它:
创建报表筛选器
创建报表筛选器时,它将作为一组筛选器添加。筛选器组可以筛选来自多个字段、主条目和变量的数据。
执行以下操作:
-
在应用程序的报告部分中的筛选器选项卡上,单击添加筛选器。
-
单击新建筛选器。
-
为您的筛选器键入名称。或者,添加描述。
-
要将筛选器添加到筛选器组,请单击
添加。
-
选择要用于筛选器的字段、主条目或变量。使用搜索来优化结果。
-
使用可用选项配置筛选器。根据您选择的对象,可用设置可能会有所不同。
使用 Region 字段配置筛选器

-
定义要包含在筛选器中的选择项后,在面板外部单击(或按 Esc 键)将其关闭。
- 再次单击
添加,将更多筛选器添加到筛选器组。
-
完成后,单击添加筛选器。
要从筛选器组中删除筛选器,请将其展开并单击 。
下表说明了每个参数的工作原理。
| 参数 | 描述和配置 |
|---|---|
| 排除 |
选中此复选框可从筛选器中排除所选值。 |
| 覆盖 |
选中此复选框以确保包含这些值,即使这意味着覆盖其他筛选器。 |
| 备用状态 |
您可以为字段和变量开启备用状态。此设置可用于下面列出的任何选择方法。 备用状态允许您在同一维度上进行不同的选择,并在单个可视化中或并排在两个或多个可视化中比较这些选择。请参阅 使用备用状态进行对比分析。 如果开启备用状态,请使用下拉菜单选择要用于筛选器的状态。 |
| 选择方法 |
|
示例 1:添加带有表达式的计算筛选器
当您希望筛选器值为相对值而非精确值时,计算筛选器选择选项非常有用。
例如,要筛选 Year 字段值以仅包含去年的值,请使用:year(now())-1
使用计算选择选项定义相对筛选器

示例 2:添加带有变量表达式的计算筛选器
使用计算选择选项时,您还可以在表达式中指定变量。
首先,在应用程序中定义一个变量,以定义一个可能会随时间变化的关注值。有关如何执行此操作的详细信息,请参阅:
例如,您可以有一个表示当前年份的变量,或者表示销售额最高的 Product Group 的变量。
配置计算筛选器时,只需在表达式字段中输入变量的名称即可。
示例 3:添加带有表达式的搜索筛选器
使用搜索筛选器选择选项,您可以基于使用 Qlik Sense 选择搜索的搜索条目来定义筛选器值。有关搜索类型和所需语法的列表,请参阅 在选择项或可视化中搜索。
例如,对于 Customer 字段上的筛选器,您可以输入以下表达式搜索,以仅包含总销售额大于 $1,000,000.00 的 Customer 值的记录:=sum(Sales)>1000000
示例 4:基于应用程序变量定义创建筛选器
变量可以直接用作筛选器的输入实体,而不是字段。使用变量筛选器可为您的报表提供灵活性。
变量筛选器仅在生成报表时覆盖现有的变量定义,将其替换为您在筛选器中定义的值或表达式。临时覆盖的值将用于引用它的所有报表元素中。
-
使用上述相同过程创建筛选器组。
-
要将筛选器添加到筛选器组,请单击
添加。
-
选择要使用的变量。
-
在输入值框中,将显示现有的变量定义。根据您的报表用例需要更改该值。如果需要使用表达式而不是值来覆盖变量定义,则必须选中计算复选框。
-
完成值或表达式的配置后,在面板外部单击(或按 Esc 键)将其关闭。
直接使用变量作为筛选器的输入。此图显示了筛选器中的两个变量。您可以使用计算选项通过表达式而不是值来覆盖变量定义。

假设您在应用程序中定义了以下变量:
-
vCurrentYear:这可能是一个计算当前年份的脚本变量。
-
vContinent:包含 Continent 字段的值。该定义可以只是一个文本值。假设它在应用程序中的定义是 Europe。
接下来,使用变量定义在应用程序中构建一个表格图表。要跨时间和区域维度分析 Sales 度量,您可以使用:
-
按大洲划分的当年销售额:sum({$< Continent={"$(vContinent)"}, Year={$(vCurrentYear)}>} Sales)
-
按大洲划分的历史总销售额:sum({$< Continent={"$(vContinent)"}>} Sales)
当您基于每个变量创建筛选器时,如果您想使用相同的图表数据结构但需要不同的值,则可以覆盖它们的定义。例如,可以将当前年份定义更改为 year(now())-1,以使报表显示去年销售额的摘要,而不是汇总当年数据的源图表。
在报表任务中使用筛选器
您可以在同一个报表任务中同时使用任务级和接收者级筛选器。如果定义了任务级筛选器,则其选择项将在应用于各个接收者的任何筛选器之前应用。因此,当在同一个报表任务中同时应用任务级和接收者级筛选器时,最终应用的筛选器将是每个单独的接收者筛选器与任务级筛选器共有的筛选器。这可能意味着应用于各个接收者的筛选器在输出中被忽略。
您可以通过在配置要应用于接收者级别的筛选器时应用覆盖设置来覆盖此行为。这将覆盖使用应用于接收者级别的筛选器的输出的任何任务级筛选器。有关详细信息,请参阅 创建报表筛选器。
在任务级别应用筛选器
任务级筛选器应用于接收报表任务输出的所有接收者和组。它们在您创建或编辑报表任务时添加。每个报表任务可以有一个任务级筛选器。
有关详细信息,请参阅 第 3 部分:配置输出。
在接收者级别应用筛选器
筛选器也可以应用于报表输出的特定接收者。筛选器名称将添加到每个适用接收者的分发列表中。可以在分发列表中将多个筛选器关联到单个接收者,但每个分发的报表只能为每个接收者应用一个接收者级筛选器。您仍然可以配置报表任务,以一次向单个接收者发送多个报表,并在每个生成的报表中应用不同的接收者级筛选器。
有关详细信息,请参阅 为您的报表创建分发列表。
有关在报表文件生成中如何处理接收者级筛选器的信息,请参阅 报表生成的工作原理。
在报表模板中使用对象级筛选器
对象级筛选器允许您将筛选器应用于特定的报表对象,而不是将相同的筛选器上下文应用于整个模板。在创作某些报表模板时,可以将报表筛选器应用于表格数据和图表图像。
当您在同一报表输出中需要不同对象的不同选择项状态时,这非常有用。
以下模板类型支持对象级筛选器:
-
表格 (Excel)
-
HTML
-
PowerPoint
-
Word
对象筛选器的工作原理
对象级筛选器按如下方式应用数据减少:
-
报表预览:数据通过应用程序中的当前选择项和对象级筛选器进行减少。
-
从任务生成的报表:对象级筛选器在任务或分发中使用的所有其他报表筛选器之后应用选择项(请参阅 如何计算报表筛选器)。
在已发布的应用程序中管理对象筛选器
有关在发布到托管空间的应用程序中使用对象筛选器的详细信息,请参阅 托管空间中的应用程序内报表。
从 Qlik NPrinting 迁移的模板的注意事项
-
如果模板中的对象无法在应用程序中匹配,则预期的对象级筛选器效果可能不会应用于该对象。
-
在替换或更改连接的应用程序后,请在生产计划之前验证报表输出。
-
使用模板预览和测试任务来确认每个筛选的对象返回预期数据。
编辑和删除报表筛选器
对于共享空间中的应用程序,报表筛选器可以由筛选器所有者和具有可编辑访问权限的其他用户进行编辑和删除。
执行以下操作:
-
在应用程序报告部分的筛选器选项卡中,单击筛选器旁边的
。
-
要编辑筛选器,请单击编辑。您可以更改最初为其配置的任何设置。
-
要删除筛选器,请单击删除。
如何计算报表筛选器
对于从报表任务生成的报表,应用筛选器的顺序如下:
-
任务级筛选器
-
接收者级筛选器
-
对象级筛选器
预期数据
应用所有筛选器后,报表对象中预期的数据是通过报表筛选器定义的所有选择项的交集。如果报表对象不包含任何相交的选择项,则这些对象在报表中显示为空。
重命名报表筛选器时的注意事项
如果重命名筛选器,为接收者定义的该筛选器的实例将不会在分发列表中自动更新。如果报表任务中包含任何使用过时筛选器名称的接收者,则该任务对于这些接收者将失败。
要解决此问题,必须编辑分发列表文件以引用更新后的筛选器名称,然后重新上传。
执行以下操作:
-
编辑原始分发列表文件以引用更新后的筛选器名称,然后重新上传。
-
编辑使用这些接收者的报表任务。您可能必须删除然后重新添加应用这些筛选器的接收者。
-
保存报表任务。
如果分发列表是在脚本中手动定义的,请更新源表中的 Filters 字段值并重新加载应用程序。
有关为应用程序配置分发列表的信息,请参阅 为您的报表创建分发列表。
Section access 注意事项
如果应用程序使用区域权限,则报告生成的工作方式会有所不同。有关更多信息,请参阅应用内报告和区域权限。
报表筛选器限制
不支持搜索筛选器的选择搜索功能
报表筛选器允许您使用本机 Qlik Sense 选择搜索来筛选报表数据。有关选择搜索的更多信息,请参阅 在选择项或可视化中搜索。
以下选择搜索功能在报表筛选器中不可用:
-
普通搜索
-
使用引号搜索
-
- 修饰符
-
+ 修饰符
-
模糊搜索
Star 语句
报表筛选器与 Star 语句不兼容。如果应用程序在脚本中包含此语句,则带有筛选器的报表可能会显示意外结果。
有关应用程序内报告限制的详细信息,请参阅 应用程序内报告的限制。
始终有一个选定值属性
如果应用程序包含一个或多个使用始终一个选定值属性配置的字段,则需要配置报告筛选器,以便筛选器为每个字段恰好选择一个值。这些报告筛选器需要应用于报告任务。
如果筛选器不包含这些字段的值,或者根本没有筛选器与任务关联,则报告任务将失败。
隐藏字段和系统字段的可用性
隐藏字段和系统字段在要在报告筛选器中使用的字段列表中不可见。
报表筛选器和报表任务所有权
创建报表筛选器时,创建它的用户将被指定为其所有者。
更改报表任务的所有者不会更改报表任务使用的任何报表筛选器的所有者。