您可以应用过滤器以细化使用查询检索的数据记录。应用过滤器是一个不错的选项,可以在不更改基础对象设计的情况下限制视图中的数据。这有助于您仅查看要显示的数据。可以在构建查询时和设计故事报表时应用多个过滤器。
使用故事的查询设计器,您可以将表过滤器应用于查询中的各个表,以及应用于整个查询的查询过滤器。可应用于表和查询的各种过滤器类型包括:
- 查询过滤器:范围过滤器和高级过滤器
- 表筛选器:简单筛选器、时间筛选器和高级筛选器
Objective
您可以应用过滤器以细化使用查询检索的数据记录。应用过滤器是一个不错的选项,可以在不更改基础对象设计的情况下限制视图中的数据。这有助于您仅查看要显示的数据。可以在构建查询时和设计故事报表时应用多个过滤器。
使用故事的查询设计器,您可以将表过滤器应用于查询中的各个表,以及应用于整个查询的查询过滤器。可应用于表和查询的各种过滤器类型包括:
表过滤器允许在不影响整体查询的情况下过滤该特定表。这有助于仅根据需要将特定数据记录提取到查询结果中,而不会影响整个结果集。
例如,薪酬表存储员工不同工资构成的条目。因此,表中每个员工可以有多个记录。如果只想检索基本工资,则可以创建表过滤器以将表中的记录返回限制为仅显示底薪。

对表使用"简单筛选器",以限制其一个或多个选定列中的记录。可以定义简单过滤器以显示表中特定列值的数据。你可以一次对一列应用简单筛选器,但可以对表应用多个简单筛选器。
例如,上图"表简单过滤器"显示"工作关系"表的简单过滤器屏幕。要仅返回 HR 经理,请选择关系类型字段,将成员(值)HR 经理添加到过滤器。要创建简单过滤器,请完成以下步骤。

如果要检索特定日期的数据或某一日期范围内的数据,则可以在构建查询时对表使用时间过滤器。时间过滤器适用于 Employee Central 生效日期表和连接到 Employee Central 模式的表。例如,您可能希望在年初返回员工的当前职位信息及其底薪。
您可以使用时间过滤器为 今天 的 作业信息 表来检索当前作业信息。您可以使用薪酬表、工资构成字段上的简单过滤器仅检索底薪。最后,在薪酬表上设置时间过滤器以检索一年第一天的活动记录。注意:第一个表(驱动表)的默认过滤器是今天,但在运行时提示用户。

其它表的缺省值是使用与第一个表相同的 。要将新时间筛选器设置为单个日期(截止日期...):
随即显示管理时间筛选器的弹出窗口。
a) 对于固定日期,使用日期选取器选择日期。
b) 对于动态日期,从下拉列表中选择适当的日期。
要将新时间筛选器设置为日期范围,请完成以下步骤。
随即显示管理时间筛选器的弹出窗口。
如下所述。
在表中使用过滤器时,可以编辑或移除过滤器。在操作菜单中,选择过滤器图标,然后选择"编辑过滤器"或"移除过滤器"选项。
要配置静态日期范围,请完成步骤。

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

例如,如果选择"日"作为"范围期间"中日期范围的粒度,则可以选择"今天"、"昨天"或"明天";相反,如果选择"年"粒度,则在"范围期间"中,可以选择"今年"、"去年"或"下一年"。
例如,如果选择"日"作为粒度,选择"今天"作为范围期间,则选择的日期范围将设置为当前日期。但是,如果将"开始"和"完成"值设置为 1,则日期范围将延长至三天,即从前一天开始,到第二天结束。
示例 1:如果要返回当前季度开始的"季度迄今"记录(例如计数录用或离职),应将动态日期过滤器配置为以下内容:
示例 2:如果要返回过去 3 年(不包括当前年度)的个人集合的工资记录,请将动态日期过滤器配置为:
高级过滤可用于通过定义一组逻辑条件来过滤多个维度。可以使用 AND 或 OR 条件过滤"高级过滤"中使用的维。这些条件可以设置为"包含"或"排除"满足筛选器条件的数据。

您将添加表筛选器,以仅返回状态为活动且具有录用日期值的记录。
a) 允许或阻止查看者禁用条件。
b) 折叠子条件。
c) 删除运算符。
对列过滤器使用运算符和数据类型时,请考虑以下事项:
例如,如果需要返回全职且雇用状态为活动或休假的员工,则需要组合两个表达式来创建过滤器。
查询过滤器允许对查询中的所有表进行过滤。这对于使用来自多个表的条件控制整体结果集非常有用。例如,如果要包括状态为在职或带薪休假的员工,但仅针对美国法人实体雇用的员工,则可以在职位信息表和法律实体表的相关国家/地区字段中设置雇用状态过滤器。

"范围过滤器"可用于根据要包含在报表中的人员决定报表的范围。范围过滤器是一个查询过滤器,适用于查询中的主模式表。
仅当查询画布上选定的模式表支持范围筛选功能时,范围筛选功能才可用,否则"范围筛选"选项显示为灰色。

要创建范围筛选器,请完成以下步骤。
将出现"范围筛选器"对话框。
所有级别:选择"开始于"用户角色的所有直接和间接下属。
直接下属:仅选择"开始于"用户角色的直接下属。
级别:允许您在"开始于"用户角色下定义要包含在报告中的层次结构级别。
在数据中包括非活动用户:选择此选项可包括此报告主题范围内的非活动员工。
在数据中包括运行报告的用户:选择此选项以包括运行此报告的员工的数据,即使该员工不在报告主题的范围内。
例如,要创建包含登录用户的直接下属的报告,请选择:从经理开始…直到直接下属…谁应该是此报告的对象?登录的用户…此报告应包括此域中的哪些人?未选中任何项。
例如,要创建包含 HR 经理 Ann Smith 所有 HR 报表(包括非活动员工)的报表,请选择:从人力资源开始…此报表的主题应为谁?Ann Smith……此报告应包括此域中的谁?包括选中的非活动用户。
SAP SuccessFactors Learning 数据模型对支持的学习模式具有以下范围筛选:

考虑以下场景。Reilly Francis 是四个人的直属经理。每个员工也有直接下属。此外,Reilly Francis 的所有直接和间接下属都将 William Muller 作为他们的人力资源经理。
报表设计者创建一份报表。如果未过滤输出,结果将返回所有员工及其相应的经理和 HR 经理:



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

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

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

现在,报表设计器应用范围筛选器以包含相同的设置,但将"向上到"更改为"所有级别"时除外:
如果 Reilly Francis 执行更新的报告,则会返回 21 条记录 - 直接下属和间接报告。

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

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

如果 Reilly Francis 或 Carla Grante 执行报告的最终修订,则将返回零 (0) 条记录,因为他们不是任何员工的人力资源经理。
如果 William Muller 要执行该报表,它将返回 Muller 担任人力资源经理的所有员工。这将包括 Francis 层级中的员工以及其他经理的员工:
查询上的"高级筛选器"的配置与表上的"高级筛选器"相同,但可以包含多个表中的条件。例如,如果要包括状态为在职或带薪休假的员工,但仅针对美国法人实体雇用的员工,则可以在职位信息表和法律实体表的相关国家/地区字段中设置雇用状态过滤器。
a.在画布上方的"数据"部分中,单击该区域,然后选择查询过滤器。
选择高级过滤选项。
a.选择高级过滤选项。

可以使用高级过滤器中的输入参数使数据过滤更加灵活。输入参数使您可以轻松更新过滤器。在故事中使用"编辑提示",可以提示用户在故事执行期间提供过滤器输入。
例如,可以在运行时提示在多样性故事上选择性别。
要在查询设计器中创建输入参数,请完成以下步骤。
注意

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