过滤器微件

“过滤器”微件用于将一个或多个图层中要素的可见性限制为仅满足表达式条件的要素。 您可以使用分组过滤器将过滤器应用到多个图层。 在“过滤器”微件中所做的更改会影响整个应用程序中的数据,因此将对使用相同图层的其他微件进行相应过滤。

示例

使用此微件可支持以下应用程序设计要求:

  • 您有一个大型数据集,并希望为不同的受众提供相关选项,以根据需要来过滤数据。
  • 您希望更改在您的应用程序中使用相同图层的所有微件中要素的可见性。
  • 您希望根据常见值在多个数据源上过滤要素。

用法说明

“过滤器”微件要求为添加的每个过滤器设置数据源。可设置操作使“过滤器”微件与其他微件进行交互,例如在“地图”微件中缩放到地图上的所选要素。 最终用户可打开或关闭每个过滤器,以控制要素的可见性。 如果为此微件配置多个过滤器,可指定是否所有启用的过滤器都必须为真才能显示数据,或者是否任何过滤器为真即可显示数据。

设置

“过滤器”微件包含以下设置:

  • 新建过滤器 - 通过选择数据源并添加表达式来创建单个过滤器。 随即显示的新建过滤器面板包含以下设置:
    • 数据 - 选择要过滤的数据。 每个过滤器只能选择一个数据源。 过滤器支持要素图层、所选 web 地图中的要素图层、数据视图和要素服务 URL。 如果数据源具有任何关联的数据视图,则可以在下拉列表中进行选择。
    • 标注 - 为分组过滤器提供有意义的名称。 标注默认为数据源的名称。
    • 图标 - 为每个过滤器选择一个图标。 可从常规箭头库中选择图标,或从文件自行添加图标。 单击移除按钮以移除未使用的已上传图标。
      注:

      可以上传以下图像格式:PNG、GIF、JPG、JPEG 和 BMP。 为了保持最佳性能,每次上传的大小限制为 10 MB。

    • SQL 表达式 - 构建 SQL 表达式以指定过滤条件。 SQL 表达式构建器提供了几个选项用于创建复杂的交互式查询。
    • 选项 - 可以为每个过滤器打开以下选项:
      • 自动应用此过滤器 - 在用户打开应用程序后,此过滤器已应用于数据。 用户可以在微件中关闭该过滤器。
        注:

        如果过滤器微件嵌套在微件控制器中,则在打开微件面板(手动或配置为在微件控制器设置中打开)之前,过滤器不会自动应用于数据。

      • 自动折叠过滤器详细信息(如果有)- 启用此设置默认折叠过滤器面板。 如果将过滤器配置为请求值,则用户必须单击才能展开过滤器以查看其他详细信息。 如果您有许多过滤器,此设置对于节省空间很有用。
  • 新建组 - 单击新建组按钮 新建组,然后单击新建组以创建分组过滤器。 随即显示的新建组面板包含以下设置:
    • 数据 - 选择要过滤的数据。 您可以选择多个数据源。 分组过滤器支持要素图层、所选 web 地图中的要素图层、数据视图和要素服务 URL。 如果数据源具有任何关联的数据视图,则可以在下拉列表中进行选择。 不支持输出数据源
    • 标注 - 为分组过滤器提供有意义的名称。 添加分组过滤器时,其标注默认遵循连续编号规则。
    • 图标 - 为分组过滤器选择一个图标。 可从常规箭头库中选择图标,或从文件自行添加图标。 单击移除按钮以移除未使用的已上传图标。
      注:

      可以上传以下图像格式:PNG、GIF、JPG、JPEG 和 BMP。 为了保持最佳性能,每次上传的大小限制为 10 MB。

    • SQL 表达式 - 构建 SQL 表达式以指定过滤条件。 分组 SQL 表达式构建器提供了几个选项用于创建复杂的交互式查询。
    • 选项 - 可以为每个分组过滤器打开以下选项:
      • 自动应用此过滤器 - 启用此设置可在用户打开应用程序时自动将过滤器应用于数据。
      • 自动折叠过滤器详细信息(如果有)- 启用此设置默认折叠过滤器面板。 如果将过滤器配置为请求值,则用户必须单击才能展开过滤器以查看其他详细信息。 如果您有许多过滤器,此设置对于节省空间很有用。
  • 添加多个单过滤器或组时,单击 AND 指定所有过滤条件必须为 true 或单击 OR 指定任何过滤条件都可以为 true。 您还可以通过拖动过滤器和组以更改其顺序。
  • 您可以使用每个过滤器和组旁边显示的复制删除按钮来复制和删除它们。
  • 排列样式 - 从垂直水平图标中选择以将微件中的过滤器自定义为所需样式。
  • 激活样式 - 选择切换按钮按钮作为每个过滤器打开或关闭的样式。 (默认样式为切换按钮。)
    • 排除单个子句的激活样式 - 如果每个过滤器中只有一个子句要求输入值(或显示标签),则您可通过此选项排除激活样式(以及标签和图标),直接显示子句内容并自动应用。
  • 高级工具 - 配置高级工具。
    • 重置所有过滤器 - 提供一个按钮,用户可以将所有过滤器重置为原始配置状态。
      提示:

      默认情况下,列表微件过滤器工具提供一个重置按钮。

SQL 表达式构建器

过滤器将使用逻辑表达式根据其数据中的属性值来查找并显示图层中的要素。 表达式采用一般形式 <字段名> <指定条件的运算符> <值或字段>。 例如,“避难所容量”大于 200。

要在 SQL 表达式构建器中创建表达式,单击添加子句添加子句集

每个子句的表达式包含以下部分:

  • 字段 - 从数据源中选择过滤时基于的字段。 三种字段类型为数值、字符串和日期。 具有代表性的图标将在字段名称旁显示。
  • 运算符 - 选择用于评估所选字段的数据值的函数运算符。 运算符因字段类型而异。 查看每种字段类型支持的运算符的完整列表。
  • 值 - 输入或选择一个值以完成子句。 单击选择源类型按钮 选择源类型 以选择一个值,例如用户输入、字段、唯一、唯一(预定义)、多个和多个(预定义)。
注:

如果将过滤器连接到输出数据源,则无法在设置中为其选择值(编码值除外)。 在源微件创建输出数据后,将在运行时动态生成值列表。 因此,默认选中请求值,只能输入预定义值。

对于每个子句,可设置以下其他属性。

  • 区分大小写 - 为了满足过滤条件,数据必须与子句值中的小写和大写使用匹配。 此选项仅适用于非托管图层中的字符串字段(对于托管图层,该按钮不可用)。
  • 无用户输入 - 默认情况下,该子句不要求用户输入。 您可以选中显示标签选项以仅向用户显示默认或自定义标签。
  • 请求值 - 允许用户在运行时提供自定义输入并更改过滤器。 可执行以下操作:
    • 选择一种输入样式(如果基于您选择的值的源类型有多种可用样式)。
    • 自定义标注。
    • 自定义标注位置。 您可以选择换行与输入位于同一行
    • 向用户提供提示或指示。
    • 为用户在过滤器选项中看到的值列表选择条件(仅适用于唯一和多个源类型)。 可显示所有值,基于先前的表达式过滤值或基于所有表达式过滤值。
      注:

      预定义值允许您基于从静态列表或类型中直接选择的一个或多个值进行过滤。 默认情况下,请求值处于选中状态,并且列表将设置为基于先前表达式显示值。 您还可以通过拖动来移动值以及更改其顺序。

  • 复制 - 复制单个子句或整个子句集,并将其添加到 SQL 表达式构建器内部队列的末尾。 如果是在子句集中,则该按钮复制单个子句并将其添加到此子句集的最后。

如果向过滤器添加多个子句或子句集,单击 AND 指定所有过滤条件必须为真,或单击 OR 指定任何过滤条件都可以为真。 也可以为子句集中的子句配置此设置。

分组 SQL 表达式构建器

分组 SQL 表达式构建器为分组过滤器创建逻辑表达式,分组过滤器根据通用值过滤多个数据源字段。 表达式包括以下部分:

  • 主字段 - 用于设置分组过滤器中其余字段的运算符和值的字段。
  • 所有字段 - 由分组过滤器过滤的所有字段,包括主字段。 您可以使用下拉列表从连接的数据源中选择字段。 您只能选择与主字段具有相同字段类型(字符串、日期或数字)的字段。 如果从一个数据源选择多个字段,请单击 AND 指定该值必须存在于两个字段中,或单击 OR 指定该值可以存在于任一字段中。
  • 运算符 - 选择用于评估所选字段的数据值的函数运算符。 运算符因主字段的字段类型而异。 查看每种字段类型支持的运算符的完整列表
  • 值 - 输入或选择一个值以完成表达式。 单击选择源类型按钮 选择源类型 以选择一个值,例如用户输入、字段、唯一、唯一(预定义)、多个和多个(预定义)。

您可以为表达式配置以下附加选项:

  • 区分大小写 - 为了满足过滤条件,数据必须与主字段值中的小写和大写使用匹配。 此选项仅适用于非托管图层中的字符串字段(对于托管图层,该按钮不可用)。
  • 无用户输入 - 默认情况下,该表达式不要求用户输入。 您可以选中显示标签选项以仅向用户显示默认或自定义标签。
  • 请求值 - 允许用户在运行时提供自定义输入并更改过滤器。 可执行以下操作:
    • 选择一种输入样式(如果基于您选择的值的源类型有多种可用样式)。
    • 自定义表达式标注。
    • 自定义标注位置。 您可以选择换行与输入位于同一行
    • 向用户提供提示或指示。
    • 为用户在过滤器选项中看到的值列表选择条件(仅适用于唯一和多个源类型)。

运算符

下表列出了字段类型及其支持的运算符:

运算符数字字符串日期

是

是

不等于

是

是

最小为

是

最大为

是

小于

是

大于

是

介于

是

是

不介于

是

是

开头是

是

开头不能为

是

结尾是

是

结尾不能为

是

包含

是

不包含

是

是

是

是

是

是

不在

是

位于

是

不位于

是

早于

是

晚于

是

在上面或前面

是

位于或晚于

是

在上一个中*

是

不在上一个中*

是

在下一个中*

是

不在下一个中*

是

为空

是

是

是

不为空

是

是

是

*仅适用于 ArcGIS Online 托管要素服务。