数据透视表

使用说明

制作数据集属性表的透视表,通过透视表能够减少记录冗余并简化记录中的一对多关系。

特殊说明:

  • 此工具仅适用于:UDB/UDBX、数据库型数据源。
  • 输入字段、透视表字段、值字段值的组合必须是唯一的,否则透视表字段值默认填充“值字段”值的最大值。
  • 透视表中的字段数由“输入字段”,以及“透视表字段”中的每个唯一字段值确定。透视表中的行数由“输入字段”的唯一组合值决定,如果一行输入字段值对应了多个透视表字段值,则取最大值作为透视表字段值。

如下图,结果属性表为源数据集属性表的透视表,用于更好的展示三种土地利用类型在两个区域的分布情况。“输入字段”为 DLBM、DLCM,两个字段的唯一组合值{031,林地}、{013,旱地}、{021,果园},因此透视表包含三行记录。“透视表字段”为 QY,QY 的两个唯一值“龙泉驿区”、“温江区”将作为透视表的字段名。“龙泉驿区”、“温江区”两个字段将由 DLMJ 字段值对应填充。

参数说明

参数名 默认值 参数释义 参数类型
数据源   指定待创建透视表数据集所在的数据源。 Datasource
数据集   指定待创建透视表的源数据集。 DatasetVector
输入字段   指定需要包含到透视表中的源数据集的字段。此字段通常为用户希望保留到结果中的业务(非系统)字段。 String[]
透视表字段   指定源数据集的一个字段作为“透视表字段”,此字段的唯一值将作为输出透视表中的字段名称。
特殊说明:
1、输出透视表中的字段名称需注意以下几种情况:
  • 字段值是数字或以数字开头(如2024、2024aa),字段名开头自动拼接字母f(f2024、f2024aa);
  • 字段值中包含不能作为字段名称的特殊字符时(#2024aa、a?a),字段名中自动把特殊字符替换为下划线(a_a),替换后字段名开头为下划线,将自动拼接字母f(f_2024aa);
  • 字段值包含 Null 值,该工具执行失败。
2、“透视表字段”包含唯一值的数量不允许超过数据库的最大字段数限制。
3、“透视表字段”仅支持数值型、字符型、日期、时间等可比较大小的字段类型,不支持二进制型、布尔型、以及空间数据库中的geometry类型等。
String
值字段   指定源数据集的一个字段作为值字段,此字段的值将用于填充透视表字段的值。 String
目标数据源   指定的存储结果数据集的数据源。 Datasource
结果数据集名   指定的结果数据集名,创建的透视表将生成一个属性表数据集。 String
是否覆盖已存在的数据集(可选) 不勾选 如果目标数据源存在同名数据集是否覆盖。勾选表示覆盖,不勾选则存在同名数据集时会执行失败。 boolean

输出结果

参数名 参数释义 参数类型
目标数据集 结果矢量数据集 DatasetVector