全局过滤器(视图过滤器)

全局过滤器限制 Analytics 操作在一个视图中显示或处理何种记录。

您可以构建具有单个标准简单过滤器以粗略地过滤记录,也可以构建具有多个标准的复杂过滤器以隔离非常特殊的数据子集。

简单过滤器和复杂过滤器之比较

简单过滤器

您可以用单个条件创建一个简单过滤器,以隔离与特定实体相关的记录,如:

  • 名称
  • 日期
  • 帐号

例如,可以按照供应商编号过滤应付帐款表,以便只显示或处理与特定供应商相关的记录:

Vendor_No = "14438"

更复杂的过滤器

如果您需要隔离更具体的数据子集,您可以使用多个条件创建更复杂的过滤器。

例如,您可以创建一个过滤器,以便将应付帐款表限制到满足下列全部三个要求的发票:

  • 供应商 14438
  • 提交于 2014 年
  • $1000.00 或更高

(Vendor_No = "14438") AND (BETWEEN(Invoice_Date,`20140101`,`20141231`)) AND (Invoice_Amount >= 1000.00)

一次只能将一个过滤器应用到一个视图,但如上面的示例所示,可以使用布尔运算符(如 AND 和 OR)在单一过滤器中组合多个条件。

有关布尔运算符的详细信息,请参见Analytics 表达式中的运算符

过滤器表达式指定包括要求

当您创建过滤器表达式(如 Vendor_No = "14438")时,您是在为要包括在过滤表中的记录指定要求或条件。

从布尔逻辑的观点来看,对于某个记录,如果该过滤器表达式评估为,则将该记录包括在过滤表中。评估为的记录被排除。

因此,在以下示例中:

  • 供应商编号为 14438 的所有记录评估为“真”,并且被包括在内
  • 供应商编号为 90215 的所有记录评估为“假”,并且被排除

提示

要帮助直观地显示哪些记录被过滤器包括在内,请设想在过滤器表达式前面加上短语“Include records if”(包括记录的条件)。当构建复杂表达式时,或者当使用求反的布尔运算符(如 NOT 和 Not Equal To (<>))时,此技巧可能有用。

过滤表达式示例

下面的示例提供了使用相同过滤器值和相同数据集的过滤器的四个变体。

如果满足以下条件则包括记录:

  • 所有值都匹配
  • 任一值匹配
  • 所有值都不匹配
  • 任一值不匹配

如果所有值都匹配,则包括记录

下面的过滤器表达式在过滤表中的记录属于供应商 14438、日期为 2014 年 7 月 15 日且发票金额是 $1,000 时包括它们。

换言之,要使一个记录被包括在过滤表中,上述所有三个条件都必须得到满足。

(Vendor_No = "14438") AND (Invoice_Date = `20140715`) AND (Invoice_Amount = 1000.00)

是否包括? 供应商编号 发票日期 发票金额
YES 14438 2014 年 7 月 15 日 $1000
90215 2014 年 7 月 15 日 $1000
14438 2015 年 5 月 25 日 $1000
14438 2014 年 7 月 15 日 $500
90215 2015 年 5 月 25 日 $500

如果任一值匹配,则包括记录

下面的过滤器表达式在过滤表中的记录属于供应商 14438,或者日期为 2014 年 7 月 15 日,或者发票金额是 $1,000 时包括它们。

换言之,如果满足上述三个条件中的任一个,则将记录包括在过滤表中,

(Vendor_No = "14438") OR (Invoice_Date = `20140715`) OR (Invoice_Amount = 1000.00)

是否包括? 供应商编号 发票日期 发票金额
YES 14438 2014 年 7 月 15 日 $1000
YES 90215 2014 年 7 月 15 日 $1000
YES 14438 2015 年 5 月 25 日 $1000
YES 14438 2014 年 7 月 15 日 $500
90215 2015 年 5 月 25 日 $500

如果所有值都不匹配,则包括记录

下面的过滤器表达式在过滤表中的记录不属于供应商 14438,并且日期不为 2014 年 7 月 15 日,并且发票金额不是 $1,000 时包括它们。

换言之,要使一个记录被包括在过滤表中,上述所有三个条件都必须得到满足。

(Vendor_No <> "14438") AND (Invoice_Date <> `20140715`) AND (Invoice_Amount <> 1000.00)

是否包括? 供应商编号 发票日期 发票金额
14438 2014 年 7 月 15 日 $1000
90215 2014 年 7 月 15 日 $1000
14438 2015 年 5 月 25 日 $1000
14438 2014 年 7 月 15 日 $500
YES 90215 2015 年 5 月 25 日 $500

如果任一值不匹配,则包括记录

下面的过滤器表达式在过滤表中的记录不属于供应商 14438,或者日期不为 2014 年 7 月 15 日,或者发票金额不是 $1,000 时包括它们。

换言之,如果满足上述三个条件中的任一个,则将记录包括在过滤表中,

(Vendor_No <> "14438") OR (Invoice_Date <> `20140715`) OR (Invoice_Amount <> 1000.00)

是否包括? 供应商编号 发票日期 发票金额
14438 2014 年 7 月 15 日 $1000
YES 90215 2014 年 7 月 15 日 $1000
YES 14438 2015 年 5 月 25 日 $1000
YES 14438 2014 年 7 月 15 日 $500
YES 90215 2015 年 5 月 25 日 $500

部分匹配

过滤字符数据时支持不完全匹配 – 即,过滤器值可以包含在您用于过滤的域中的较长值中。

例如:

  • Vendor_Name = "R" 将表限制到具有以 “R” 开始的名称的供应商。
  • 地址 = "PO Box" 将表限制到以 “PO Box” 开始的地址。

说明

过滤器值必须出现在域的开头才能形成匹配。

精确字符比较选项为 off(默认设置)时,启用不完全匹配。如果该选项为 on,不完全匹配被禁用,过滤器值必须完全匹配域中的值才能构成匹配。有关详细信息,请参见表选项

过滤器保留

全局过滤器在被删除,用另一个全局过滤器替换,或关闭该表之前都会保持活动。可以将一个全局过滤器设置为一个表的默认过滤器,这样每次打开表时会自动应用该过滤器。

全局过滤器不同于本地过滤器,后者仅在单次 Analytics 操作执行的过程中活动。

当某个全局过滤器处于活动状态时,全局过滤器指示符会出现在状态栏中,并且后面跟过滤器语法或过滤器名称,具体取决于该过滤器是临时的还是命名的:

  • 临时过滤器全局过滤器:(Vendor_No = "14438")
  • 命名过滤器全局过滤器:Vend_14438

创建和应用全局过滤器的不同方式

有几种不同的方式来创建和应用全局过滤器:

  • 在过滤器文本框中手动输入过滤器语法
  • 创建快速过滤器
  • 使用表达式生成器,创建一个过滤器,或选择现有的过滤器
  • 从过滤器下拉列表中选择现有的过滤器