要定义查询结果中包含的记录,可以在查询 中添加筛选器,并在生成器中设置其条件。您可以根据以下条件来设定过滤器的标准:
- 静态值,如特定账户或日期
- 参数,以便在查询运行时动态设置值
- 通过 SQL 操作和函数得出的计算值
要定义过滤器的标准,请在过滤器 标签上选择其值,并在过滤器属性 面板上设置其值。
用静态值筛选
要根据静态值包含记录,请在过滤器属性 面板上输入值,然后单击应用 。
根据动态参数值进行筛选
要在查询运行时动态设置过滤器的值,例如在运行时对数据进行切分,可使用参数值:
- 从过滤器属性 标签,单击参数 ,然后选择要使用的参数。要添加参数,请单击创建新参数 。
- 单击Apply 和Save 。
按计算值筛选
要从 SQL 操作或函数中获取过滤器的值,请使用计算值。例如
- 要在运行查询时始终将日期 字段过滤为 "当前 "日期,可将计算值设置为
NOW()
。 - 要抵消Current Year 参数,将Year 字段过滤为上一年,可设置计算值
YEAR = :CurrentYear - 1
。
设置计算值:
- 从过滤器属性 面板,启用计算 。
- 在Included Columns 下,添加要在计算中使用的源列。
- 在计算 下,编写公式得出数值。
- 要引用源列 ,请输入为其分配的数字标记,如
{1} + {2} 。+ {2}
。 - 要引用参数 ,请在冒号后输入其名称,如
:CurrentYear
。
- 要引用源列 ,请输入为其分配的数字标记,如
- 单击Apply 。
筛选标准和大小写敏感性
筛选条件区分大小写。例如,如果将州 过滤器设置为 "爱荷华州",则结果包括大写字母为 "爱荷华州 "的记录,但不包括 小写字母为 "iowa "的记录。不过,您可以使用计算来返回记录,而无需考虑值的外壳。
- 要将列的值转换为小写,请使用
LOWER()
函数进行计算,例如LOWER(TBL.STATE) = 'iowa'
- 作为过滤器。 - 要使筛选条件不区分大小写,可设置一个计算值,其中包含一个正则表达式
REGEXP_LIKE
条件,并带有i
标志,如SELECT * FROM table WHERE REGEXP_LIKE(column, '(?i)ab')
。