在查询设计器中应用过滤器

Objective

After completing this lesson, you will be able to 在 SAP SuccessFactors 故事报告的查询设计器中应用过滤器。

查询设计器过滤器

您可以应用过滤器以细化使用查询检索的数据记录。应用过滤器是一个不错的选项,可以在不更改基础对象设计的情况下限制视图中的数据。这有助于您仅查看要显示的数据。可以在构建查询时和设计故事报表时应用多个过滤器。

使用故事的查询设计器,您可以将表过滤器应用于查询中的各个表,以及应用于整个查询的查询过滤器。可应用于表和查询的各种过滤器类型包括:

  • 查询过滤器:范围过滤器和高级过滤器
  • 表筛选器:简单筛选器、时间筛选器和高级筛选器

查询过滤器视频教程

表筛选器

表过滤器允许在不影响整体查询的情况下过滤该特定表。这有助于仅根据需要将特定数据记录提取到查询结果中,而不会影响整个结果集。

例如,薪酬表存储员工不同工资构成的条目。因此,表中每个员工可以有多个记录。如果只想检索基本工资,则可以创建表过滤器以将表中的记录返回限制为仅显示底薪。

从可用成员列表中选择人事经理。

表简单过滤器

对表使用"简单筛选器",以限制其一个或多个选定列中的记录。可以定义简单过滤器以显示表中特定列值的数据。你可以一次对一列应用简单筛选器,但可以对表应用多个简单筛选器。

例如,上图"表简单过滤器"显示"工作关系"表的简单过滤器屏幕。要仅返回 HR 经理,请选择关系类型字段,将成员(值)HR 经理添加到过滤器。要创建简单过滤器,请完成以下步骤。

  1. 选择表以应用简单筛选器。
  2. 在表操作菜单中,选择筛选器图标,然后选择简单筛选器。 
  3. 从你看到的列列表中,为简单筛选器选择列。
  4. 从"可用成员"部分,选择要包含在筛选器定义中的值。 
  5. 选择确定。
添加了一个简单的过滤器。

表时间筛选器

如果要检索特定日期的数据或某一日期范围内的数据,则可以在构建查询时对表使用时间过滤器。时间过滤器适用于 Employee Central 生效日期表和连接到 Employee Central 模式的表。例如,您可能希望在年初返回员工的当前职位信息及其底薪。

您可以使用时间过滤器为 今天 的 作业信息 表来检索当前作业信息。您可以使用薪酬表、工资构成字段上的简单过滤器仅检索底薪。最后,在薪酬表上设置时间过滤器以检索一年第一天的活动记录。注意:第一个表(驱动表)的默认过滤器是今天,但在运行时提示用户。

在操作菜单中,筛选器图标突出显示。

其它表的缺省值是使用与第一个表相同的 。要将新时间筛选器设置为单个日期(截止日期...):

  1. 选择表以应用时间过滤器。
  2. 在操作菜单中,选择过滤器图标。
  3. 选择"时间过滤器"。

    随即显示管理时间筛选器的弹出窗口。

  4. 如果已应用时间过滤器,请选择移除过滤器。
  5. 移除当天过滤器选项后,选择截止日期。
  6. 选择固定日期或动态日期。

    a)  对于固定日期,使用日期选取器选择日期。

    b) 对于动态日期,从下拉列表中选择适当的日期。

  7. 选择确定。

要将新时间筛选器设置为日期范围,请完成以下步骤。

  1. 选择表以应用时间过滤器。 
  2. 在操作菜单中,选择过滤器图标。
  3. 选择"时间过滤器"。

    随即显示管理时间筛选器的弹出窗口。

  4. 如果已应用时间过滤器,请选择移除过滤器。
  5. 移除今天筛选器选项后,选择日期范围。
  6. 根据需要配置设置日期范围对话框。

    如下所述。

  7. 选择确定。

在表中使用过滤器时,可以编辑或移除过滤器。在操作菜单中,选择过滤器图标,然后选择"编辑过滤器"或"移除过滤器"选项。

静态日期范围对话框的配置

要配置静态日期范围,请完成步骤。

  1. 将"范围类型"设置为"固定"。
  2. 使用日期选取器设置范围期间开始和结束日期。
  3. 设置返回的记录选项: 包括部分或完全与您定义的日期范围重叠的所有记录:返回日期范围内的记录,以及日期范围与定义的日期范围重叠的记录。仅包括定义的日期范围内开始的记录:仅返回记录的开始日期在定义的日期范围内的记录。
示例固定范围类型,如先前文本中所述。

动态日期范围对话框的配置

现在,我们将了解如何配置动态日期范围对话框。

已选择动态范围类型。
  1. 将范围类型设置为动态。
  2. 选择日期范围的粒度,包括"日"、"周"、"月"、"季度"或"年"。
  3. 将范围期间设置为所选粒度的当前、先前或将来的实例。

    例如,如果选择"日"作为"范围期间"中日期范围的粒度,则可以选择"今天"、"昨天"或"明天";相反,如果选择"年"粒度,则在"范围期间"中,可以选择"今年"、"去年"或"下一年"。

  4. 在范围扩展部分中,通过将所选粒度的值添加到日期范围的开始和完成值来扩大日期范围。

    例如,如果选择"日"作为粒度,选择"今天"作为范围期间,则选择的日期范围将设置为当前日期。但是,如果将"开始"和"完成"值设置为 1,则日期范围将延长至三天,即从前一天开始,到第二天结束。

  5. 选择范围参数选项以进一步细化动态日期范围。从定义范围的第一天到最后一天:此选项将日期范围设置为使用"粒度"、"范围期间"和"范围扩展"字段定义的整个持续时间。期间至今 - 从所定义范围的开始日期到今天:此选项遵守使用"粒度"、"范围期间"和"范围扩展"字段定义的开始日期,但将日期范围的结束日期设置为当前日期。剩余期间 - 从今天到定义的范围结束:此选项将日期范围的开始日期设置为当前日期,但遵循使用"粒度"、"范围期间"和"范围扩展"字段定义的结束日期。
  6. 设置返回的记录选项:
    • 包括部分或完全与您定义的日期范围重叠的所有记录:返回日期范围内的记录,以及日期范围与定义的日期范围重叠的记录
    • 仅包含在定义的日期范围内开始的记录:仅返回记录的开始日期在定义的日期范围内的记录
    • 示例 1:如果要返回当前季度开始的"季度迄今"记录(例如计数录用或离职),应将动态日期过滤器配置为以下内容:

    • 范围类型:动态
    • 粒度:季度
    • 范围期间:本季度
    • 开始/结束:0
    • 范围参数:期间截止日期
    • 返回的记录:仅包括在您定义的日期范围内开始的记录
    • 示例 2:如果要返回过去 3 年(不包括当前年度)的个人集合的工资记录,请将动态日期过滤器配置为:

    • 范围类型:动态
    • 粒度:年
    • 范围期间:去年
    • 开始/结束:2 / 0
    • 范围参数:从第一个日期到定义范围的最后一天
    • 返回的记录:包括部分或完全与您定义的日期范围重叠的所有记录

表高级筛选器

高级过滤可用于通过定义一组逻辑条件来过滤多个维度。可以使用 AND 或 OR 条件过滤"高级过滤"中使用的维。这些条件可以设置为"包含"或"排除"满足筛选器条件的数据。

示例高级过滤器,如先前文本中所述。

您将添加表筛选器,以仅返回状态为活动且具有录用日期值的记录。

  1. 选择表以应用高级筛选器。
  2. 在操作菜单中,选择过滤器图标。
  3. 选择高级过滤器。此时将显示"设置高级筛选器的条件"对话框。 
  4. 输入过滤器的名称。 
  5. 在"条件"下,选择"或"以在满足以下任意条件时执行过滤器,或者选择"与"以在满足以下所有条件时执行过滤器。 
  6. 选择 + 按钮,然后选择数据表以创建条件,或选择运算符以创建嵌套过滤器。
  7. 选择数据表创建条件后,从表中选择列。 
  8. 选择与所选列对应的运算符类型,然后选择并配置相应的过滤器类型以完成条件。 
  9. 可选:在 AND 或 OR 运算符上,对以下内容使用 选项:

    a) 允许或阻止查看者禁用条件。

    b) 折叠子条件。

    c) 删除运算符。

  10. 选择确定以应用高级筛选器。

对列过滤器使用运算符和数据类型时,请考虑以下事项:

  • 对于所有列,可以应用"等于"、"排除"、"为空"或"不为空"作为运算符。
  • 对于"字符串"类型的列,还可以应用"类似"。
  • 对于列的数字、整数、小数、日期和日期时间类型,您还可以应用"大于"、"大于或等于"、"小于"、"小于或等于"或"介于"。

例如,如果需要返回全职且雇用状态为活动或休假的员工,则需要组合两个表达式来创建过滤器。

交互:使用过滤器

业务示例

在本练习中,您将添加表过滤器以仅返回状态为活动且具有录用日期值的记录。

查询过滤器

查询过滤器允许对查询中的所有表进行过滤。这对于使用来自多个表的条件控制整体结果集非常有用。例如,如果要包括状态为在职或带薪休假的员工,但仅针对美国法人实体雇用的员工,则可以在职位信息表和法律实体表的相关国家/地区字段中设置雇用状态过滤器。

上述文本中提到的示例查询过滤器的屏幕截图。

查询范围过滤器

"范围过滤器"可用于根据要包含在报表中的人员决定报表的范围。范围过滤器是一个查询过滤器,适用于查询中的主模式表。

仅当查询画布上选定的模式表支持范围筛选功能时,范围筛选功能才可用,否则"范围筛选"选项显示为灰色。

范围筛选器 屏幕的屏幕截图。

要创建范围筛选器,请完成以下步骤。

  1. 在画布上方的数据部分,选择过滤器图标,然后选择蓝色过滤器加号图标以选择查询过滤器。过滤器图标
  2. 选择"范围筛选"选项,然后选择要应用范围筛选器的表。

    将出现"范围筛选器"对话框。

  3. 在"开始于"列表中,定义报告范围的起点。您可以选择包含所有数据的默认值,也可以选择使用经理、人力资源、跨部门经理、自定义经理和第二经理等术语筛选报告数据的用户角色。 
  4. 如果在开头为中选择用户角色,则在截至中选择要包含在报表中的所选用户角色下的层次结构级别:

    所有级别:选择"开始于"用户角色的所有直接和间接下属。

    直接下属:仅选择"开始于"用户角色的直接下属。

    级别:允许您在"开始于"用户角色下定义要包含在报告中的层次结构级别。

  5. 在谁应该成为本报告的对象?部分,选择过滤器范围开始的员工。
  6. 此报告应在"谁"中包括此域?部分,使用选项进一步细化要包含在报表中的员工选择:

    在数据中包括非活动用户:选择此选项可包括此报告主题范围内的非活动员工。 

    在数据中包括运行报告的用户:选择此选项以包括运行此报告的员工的数据,即使该员工不在报告主题的范围内。

  7. 选择确定。

例如,要创建包含登录用户的直接下属的报告,请选择:从经理开始…直到直接下属…谁应该是此报告的对象?登录的用户…此报告应包括此域中的哪些人?未选中任何项。

例如,要创建包含 HR 经理 Ann Smith 所有 HR 报表(包括非活动员工)的报表,请选择:从人力资源开始…此报表的主题应为谁?Ann Smith……此报告应包括此域中的谁?包括选中的非活动用户。

使用学习数据模型进行范围筛选

SAP SuccessFactors Learning 数据模型对支持的学习模式具有以下范围筛选:

  • 用户
  • HRBP
  • 主管(包括级别)
  • 讲师
  • 管理员
“范围筛选器”列表,如先前文本中所述。

范围筛选器详细示例

范围筛选器

考虑以下场景。Reilly Francis 是四个人的直属经理。每个员工也有直接下属。此外,Reilly Francis 的所有直接和间接下属都将 William Muller 作为他们的人力资源经理。

报表设计者创建一份报表。如果未过滤输出,结果将返回所有员工及其相应的经理和 HR 经理:

上一文本中描述的报告的屏幕截图,显示 Reilly Francis 及其直接下属。
突出显示经理姓名和人事经理姓名的范围筛选结果。

经理的直接下属

范围筛选器 屏幕的屏幕截图。

现在,报表设计器应用范围筛选器以包括登录用户直接下属的经理:

屏幕截图(如果已过滤列表)。

如果 Reilly Francis 执行报表,则仅返回四条记录,即直接下属。

屏幕截图(如果已过滤列表)。

如果 Carla Grante 执行相同的报告,将显示 Carla 的 5 个直接下属:

屏幕截图(如果已过滤列表)。

现在,报表设计器应用范围筛选器以包含相同的设置,但将"向上到"更改为"所有级别"时除外:

如果 Reilly Francis 执行更新的报告,则会返回 21 条记录 - 直接下属和间接报告。

屏幕截图(如果已过滤列表)。

如果 Carla Grante 执行更新的报告,Carla 的 5 个直接下属仍将显示,因为她没有任何间接报告:

范围筛选器对话框的屏幕截图。

最后,报表设计器现在应用范围过滤器以返回 HR 经理的 HR 报表。这是为当前登录用户设置的:

筛选列表的屏幕截图。

如果 Reilly Francis 或 Carla Grante 执行报告的最终修订,则将返回零 (0) 条记录,因为他们不是任何员工的人力资源经理。

如果 William Muller 要执行该报表,它将返回 Muller 担任人力资源经理的所有员工。这将包括 Francis 层级中的员工以及其他经理的员工:

交互:在查询中使用范围查询过滤器

业务示例

在本练习中,您将使用查询过滤器来包括登录用户下所有级别的雇用。这允许报表返回与执行报表的用户相关的数据。

查询高级过滤器

查询上的"高级筛选器"的配置与表上的"高级筛选器"相同,但可以包含多个表中的条件。例如,如果要包括状态为在职或带薪休假的员工,但仅针对美国法人实体雇用的员工,则可以在职位信息表和法律实体表的相关国家/地区字段中设置雇用状态过滤器。

  1. 选择查询过滤器。

    a.在画布上方的"数据"部分中,单击该区域,然后选择查询过滤器。

  2. 选择高级过滤。

    选择高级过滤选项。

  3. 完成查询的创建。

    a.选择高级过滤选项。

显示高级筛选器条件的屏幕截图。

高级筛选器的输入参数

可以使用高级过滤器中的输入参数使数据过滤更加灵活。输入参数使您可以轻松更新过滤器。在故事中使用"编辑提示",可以提示用户在故事执行期间提供过滤器输入。

例如,可以在运行时提示在多样性故事上选择性别。

要在查询设计器中创建输入参数,请完成以下步骤。

注意

选择参数类型时,数据类型必须与要应用该数据类型的字段相同。虽然可以将数据类型设置为字符串、数字、小数、整数、日期或日期时间,但 SAP SuccessFactors 产品中的大多数字段类型为字符串、小数和日期时间。
输入参数 屏幕和 设置高级过滤器的条件 的屏幕截图。

要将输入参数用于高级筛选器,请完成以下步骤:

  1. 选择工具栏上的 { }(输入参数)。
  2. 要添加输入参数,请选择"+"。
  3. 输入合适的"输入参数名称"。
  4. 选择输入参数的"类型"(数据类型)。
  5. 为输入参数输入"默认值"。
  6. 选择确定。

摘要

  • 表过滤器为特定表细化数据,而查询过滤器适用于所有表中的整个数据集。
  • 时间过滤器允许用户检索特定日期或动态日期范围(例如"当前季度")的数据。
  • 高级过滤使用逻辑 AND 或 OR 条件来包括或排除基于多个维的数据。
  • 范围过滤器根据层次结构(如经理或 HR 代表)定义报表中包含的人员。
  • 输入参数通过提示用户在运行时提供特定值(例如性别或部门)来实现灵活过滤。