要限制查询结果中包含的记录,例如根据地区或时间段,您可以在构建器模式下定义其筛选器。您可以根据以下条件筛选结果:
- 源列的数据
- 数据集的标签值
- 对多列数据应用的计算
注: 在 SQL 编辑器中,将查询的筛选器定义为 SQL 语法。要在 SQL 中引用参数,请在冒号 (:) 后输入其名称,如:ReportingPeriod 。
按源列的数据进行筛选
要根据源列的数据筛选查询结果:
- 从左侧面板的 “来源” 中, 将来源添加到查询中,并将其列移动到 “筛选器 ”选项卡中。
- 在 字段属性 面板中,根据需要调整筛选器值的类型或格式,然后单击 应用。
- 在类型中,选择要与过滤器值一起使用的数据类型。例如,要将数值文本数据筛选为整数,请选择“整数”。
- 对于日期或时间戳过滤器,在Function中,定义如何格式化其值:
- 要截断日期或时间戳,例如只显示日或季度,请选择要显示的单位。
- 要使用默认格式ISO 8601以外的格式,请选择自定义格式,然后选择新格式。要自行设置,请选择 "自定义",定义数值的格式,然后单击适用 。
- 在筛选选项卡上,选择过滤器的值字段。
- 在过滤器属性面板上,设置过滤器标准 :
- 在 “筛选器 ”选项卡上,选择筛选器的运算符。
运算子 详细信息 等于, =,不等于,或 != 对于文本、十进制或整数类型,根据其列是否具有指定值来匹配记录。 在日期 或 不在日期 对于日期或时间戳,根据记录的列是否包含指定日期来匹配记录。 > 或< 对于十进制或整数,分别根据其列的值是大于还是小于该列的值来匹配记录。 之后日期 或 之前日期 对于日期或时间戳,分别根据其列中日期较晚还是较早来匹配记录。 >= 或 <= 对于十进制或整数,分别根据其所在列的值是否完全匹配、大于或小于该值来匹配记录。 在日期之后或当天 或 在日期之前或当天 对于日期或时间戳,根据记录列中日期是否完全匹配、晚于日期还是早于日期来匹配记录。 赞 对于文本,根据通配符匹配列值相似的记录。例如: -
%gland%返回包含任何形式的“gland”的记录,例如 England、 England’s和 gland。 -
_ngland返回“ngland”位于该确切位置的记录,例如 England,但不是 Rengland。
为空 或 不为空 根据记录的列是否包含值来匹配记录。 在列表 中 或 不在列表中 根据记录所在列的值是否在选项列表中进行匹配。如果选择此运算符,请在 列出选项下,将每个选项单独输入一行。对于日期或时间戳,请按 YYYY-MM-dd格式输入每个选项。注意: 选择 “
在列表内 ”或 “不在列表内 ”可使用 多选 参数作为 筛选条件 。 -
- 点击 保存 。
按应用于多列的计算进行筛选
要根据应用于多列的计算结果筛选结果,请设置一个包含以下表达式的公式:
- 运算符,例如
{1} + {2},用于计算列值的总和 - 诸如
` concat({1}, {2})`之类的函数用于生成列值的字符串。
- 从左侧面板的 来源 中, 将要包含在计算中的来源添加到查询中。
- 将 计算 从 来源 移动到 筛选器 选项卡。
- 在 “字段属性 ”面板的 “包含列”下,添加要在计算中使用的源列。
- 在 计算下,输入要使用 SQL 运算符和函数进行计算的公式或表达式。在公式中,将包含的列表示为其分配的数字标记,例如
{1} + {2}。注: 要快速将列的数值标记添加到计算中,请单击 “包含列”下方的列名。
- 点击 应用。
- 在 筛选器选项卡上,选择筛选器的值,然后从 筛选器属性 面板中,选择要与筛选器值一起使用的数据类型,例如整数或十进制。
- 定义要包含的记录条件,然后单击 应用:
- 要包含基于静态值的记录,请将其输入到 值字段中。
- 要使用参数值,请单击 选择参数 ,然后选择要使用的查询参数或全局参数。要向 查询中添加新参数,请选择 “创建新参数” 。
Filter by a source table's tags
Your organization may set up tags to track details about your tables' datasets, such as Version, Source, or Scenario. To filter results based on this detail:
- From the Sources left panel, add the the table as a query source.
- Move the table's Tags column from Sources to the Filters tab.
- From the Field Properties panel, select the tag to filter by, and click Apply.
- On the Filters tab, select the filter's value.
- From the Filter Properties panel, select the tag value of the records to include, and click Apply.
按源表的标签筛选
借助 Wdata 表,您的组织可以 设置 标签来跟踪有关数据集的详细信息,例如版本、来源或场景。要根据此详细信息筛选查询结果:
- 从左侧面板的 Sources 中, 将表添加为查询源。
- 选择要按哪些表格标签进行筛选:
- 将要筛选的标签从 标签 下移到 筛选器 选项卡。
- 将 标签 移动到 筛选器 选项卡,然后从 字段属性 面板中选择标签名称,然后单击 应用。
- 在筛选s 选项卡上,选择过滤器的操作符:
运算子 详细信息 等于 或 不等于 根据标签是否具有精确值来匹配记录。 喜欢 或 不喜欢 如果值包含通配符,则根据标签是否具有相似值来匹配记录。例如: -
%gland%返回包含任何形式的“gland”的记录,例如 England、 England’s和 gland。 -
_ngland返回“ngland”位于该确切位置的记录,例如 England,但不是 Rengland。
为空 或 不为空 根据标签是否有值来匹配记录 在列表 中 或 不在列表中 根据标签是否具有多个值之一来匹配记录 -
- 选择筛选器的值字段,然后从 “筛选器属性 ”面板中指定并应用标签值以进行筛选:
- 点击 应用 和 保存 。
Set Filter Criteria
To define the records to include in the results, set each filter's criteria based on:
- Static custom values, such as specific accounts or time periods
- Parameters, to choose values dynamically when the query runs, such as to slice-and-dice its data in real time
- Calculations derived from multiple columns' data
To filter the query based on a when field contains a static custom value, enter it in the Value field.
<h3>Parameter Value</h3>To filter the query based on a field contains a dynamic parameter value, click Parameter , and select the parameter or click Create New Parameter to add one.
To filter the query based on a formula:
-
Enable Calculated.
- Under Included Columns, add the source columns to use in the formula.
-
Under Calculation, enter the formula or expression
to calculate. To compose the calculation, use
SQL operators and functions,
with the included columns represented as their assigned numerical
token, such as
{1} + {2}. - Click Apply.
调整过滤器公式
默认情况下,查询会匹配满足 其 所有筛选条件的记录。要匹配符合多个筛选条件组合的记录,请在 “筛选条件 ”选项卡上的公式栏中使用AND 和 OR 运算符来定义筛选条件的累积标准:
- 要将筛选条件组合在一起,请将它们用括号括起来,例如
({1} AND {2}) OR ({3} AND {4})。 - 要匹配 同时满足两个 筛选条件或组的记录,请用
AND分隔它们,例如{1} AND{2} 。 - 要匹配满足两个筛选条件或组中任 一条件的记录,请用
OR分隔它们,例如{2} OR {3}。
Filter Criteria and Case-Sensitivity
A filter's values are case-sensitive. For example, if you set a regional filter to "Iowa", it returns records with uppercase "Iowa", but not the lowercase "iowa". To include records regardless of casing:
-
In Builder, use a calculation with a
LOWER()function as the filter, which converts its values to lowercase. For example,LOWER(TBL.STATE) = 'iowa'. -
In SQL Editor, use a regular expression
REGEXP_LIKEcondition with aniflag, which makes the criteria case-insensitive. For example,SELECT * FROM table WHERE REGEXP_LIKE(column, ‘(?i)ab’).