1. 概述
仅适用于标准分析主题
在 FineBI 中,过滤器可能作用在不同的计算阶段。过滤器所在层级不同,参与计算的数据范围和最终展示结果也可能不同。因此,在设置过滤条件时,需要理解过滤器的计算顺序。
2. 为什么有过滤层级
同一个过滤条件放在不同的过滤层级,最终结果也可能不同。
下面用「销售额 > 100」说明,放在计算的不同位置:聚合前过滤和聚合后过滤的结果区别。
「销售额>100」放在前置过滤层级

「销售额>100」放在聚合计算过滤层级

3. 标准分析主题的过滤层级
标准分析主题的过滤器按照计算顺序分为这四个层级:【前置过滤、明细过滤、聚合计算过滤、快速计算过滤】。
过滤器会按照从前到后的顺序依次执行,前面层级的过滤结果会作为后面层级的计算基础。执行顺序如下:

过滤层级越靠前,影响范围越大。
| 层级 | 作用对象 | 对后续的影响 |
|---|---|---|
| 前置过滤 | 原始数据表 | 影响组件的所有计算 |
| 明细过滤 | 前置过滤后的明细行数据 | 影响聚合计算、快速计算、最终展示结果 |
| 聚合计算过滤 | 聚合后的结果 | 影响快速计算、最终展示结果 |
| 快速计算过滤 | 快速计算后的结果 | 只影响最终展示结果 |
4. 示例
背景:你作为商场运营总管,想了解2021年复购用户最偏好的产品,以便确定哪些产品能够吸引并留住顾客。
示例数据:办公用品数据.xlsx
(标准分析主题需要直连数据,如需使用示例数据请先导入数据库)
新建标准分析主题,添加示例数据,并进入到组件中。
4.1 前置过滤
前置过滤:前置过滤用于在当前组件开始计算前,先筛掉当前组件不需要参与分析的数据。
前置过滤发生在所有组件内计算之前,因此会影响后续明细过滤、聚合计算和快速计算的数据范围。
当前组件只需要分析 2021 年的数据,可以将「年份 = 2021」设置为前置过滤。设置后,组件后续的明细计算、聚合计算和快速计算都只基于 2021 年的数据进行。
1)将「签约时间」拖入到过滤器中,过滤出 2021 年的数据,如下图所示:

2)调整过滤层级,将此过滤条件调整到前置过滤中,如下图所示:

4.2 明细过滤

明细过滤:
明细过滤用于对明细行数据进行过滤。所有行级别的过滤都归类到明细过滤层级。比如:
对维度本身进行过滤,例如只保留「地区 = 华东」的数据。
对维度依赖指标进行过滤。
对 FIXED 表达式相关结果进行过滤。
同一组件中存在多个明细过滤时,各过滤条件之间取交集。也就是说,只有同时满足所有明细过滤条件的数据,才会进入后续聚合计算。
前置过滤已筛选出 2021 年的数据,此时用 Fixed 表达式即使用 2021 年的数据进行计算。
1)新建计算字段,使用 Fixed 出 2021 年每个客户购买的订单数,如下图所示:

2)过滤出「客户购买的订单数」≥2 的订单数据,如此便筛选出复购用户购买的订单数据。如下图所示:

3)制作分组表,拖入「产品名称、销售额、记录数(统计个数选择客户)」,即可查看 2021 年每个产品的复购人数、及对应销售额。如下图所示:
并将记录数重命名为「客户数」。

4.3 聚合计算过滤
聚合计算过滤:聚合计算过滤用于在聚合计算完成后,对聚合结果进行过滤。
当组件中存在指标求和、平均值、计数等聚合计算时,FineBI 会先按照组件维度完成聚合,再根据聚合计算过滤条件筛选结果。
用户复购率高可能有以下两个原因:
①产品价格低;
②产品本身优秀,对用户有吸引力
在这里我们想找出的是本身对用户有吸引力的产品,需要排除掉降价因素,即筛除掉利润率过低的产品。
1)新建计算字段「利润率」,如下图所示:

2)过滤出利润率大于 0.1 的产品,如下图所示:

过滤后的结果如下图所示。我们可以看到,聚合过滤不影响聚合计算的结果数值,例如:办公椅聚合过滤前与过滤后的销售额和客户数的值都没有变动。

4.4 快速计算过滤
快速计算过滤:快速计算过滤用于在快速计算完成后,对快速计算结果进行过滤。
快速计算包括排名、占比、累计值等计算。快速计算过滤会在这些计算完成后生效。
对客户数进行排名,并过滤出前 5 名产品。
1)使用快速计算,对「客户数」进行排名,如下图所示:

2)过滤出排名前五的产品,如下图所示:

4.5 效果查看
最终筛选出:2021年,排除掉低价促销影响后,复购人数最多的 5 个产品。如下图所示:

5. 总结

