# 数据级次
通常模型中的数据都是单级的,没有层次结构,当我们需要新建一个带有上下级关系的数据模型时,如行政区划
,就需要用到数据级次属性。
数据级次又称数据层次,代表的数据之间的层次关系,如分段层次、父子层次等。建立一个规范的数据层次,便于快速完成带有上下级关系的数据分析需求,可运用于钻取、汇总等场景,如:在分省销售报表中从省级钻取到市级、汇总显示车企的整体销量。
# 支持的层次类型
为适应不同的字典数据,数据模型提供了三种层次类型:分段层次、父子层次、多字段层次,它们分别有相应的数据要求。
# 分段层次
分段层次按照规整的、非空的唯一编码来确定分段的层次关系,编码字段通常为模型主键。
以2-2-2
的分段模型为例进行说明,该字段长度是6位,规则如下:
- 前2个字符是第一级编码,中间2个字符是第二级编码,最后2个字符是第三级编码
- 对应分段内的编码为0,则代表该节点为上一级节点,例如
110000
表示该值为根节点
以行政区划
分段层次为例,该模型按照业务层次省-市-区
分为3级:
北京市 110000
:按照2-2-2
的分段模式分解为11
、00
、00
,该编码前一段有值而后两段为00
,则为第一级机构北京市市辖区 110100
:按照2-2-2
的分段模式分解为11
、01
、00
,该编码前两段有值而后一段为00
,则为第二级机构,挂在第一段编码为11
的第一级机构下,故北京市市辖区
挂在北京市
下- 同理,
东城区 110101
挂在北京市市辖区
下
# 父子层次
父子层次按照模型中的父子映射逻辑来确定层次关系,它的数据要求是:
以行政区划
父子层次为例,该模型按照业务层次省-市-区
分为3级:
北京市市辖区
的子字段行政区划代码
为110100
,父字段PID
为110000
,系统会自动根据父字段的值来查找符合的子字段,子字段为110000
的机构为北京市
,故北京市市辖区
会挂在北京市
下- 同理父字段为
110100
的机构,会挂在北京市市辖区
下
# 多字段层次
多字段层次是按照模型中不同的字段来确定层次关系,它的数据要求是:
因此它的数据特点为:下级节点的上级层次字段信息是冗余的。
以行业代码
多字段层次为例,该模型按照业务层次门类代码-大类代码-中类代码-小类代码
分为4级:
农、林、牧、渔业
数据行中包含门类代码信息,其他类的信息为空,故农、林、牧、渔业
为第一级农业
数据行中包含门类代码、大类代码信息,其他类的信息为空,故农业
为第二级,挂在对应的门类下,即农、林、牧、渔业
下- 同理,
谷物种植
挂在农业
下
# 新建层次
选中数据模型或数据加工输出节点,在右上角的属性中选择树形结构,在工具栏中点击新建层次(如果已有建好的层次,在更多按钮中,进行数据层次的新建、编辑、删除操作),即可在对话框中选择三种层次类型。一个数据模型可新建多个数据层次,但父子层次只能创建一个,且支持创建后的模糊查询操作。
# 新建分段层次
新建分段层次,主要进行以下三个设置:
- 分段字段:模型会依据该字段生成树形结构的数据
- 分段:将分段字段的数据按照分段结构进行拆分,每段之间使用
-
分隔。例如2-2-2
表示前2个字符是第一级,中间2个字符是第二级,最后2个字符是第三级 - 分段描述:分段结构的每段描述,需要以
-
分隔,如省-市-区
# 新建父子层次
新建父子层次在选择对应的父字段及子字段后,还需要生成一些必要的业务字段,具体如下:
- 更新层次数据:默认勾选,与业务层次选项的自动新建层次字段配合使用,一般用于从零生成一个父子层次,当业务层次字段来源于数据表已有的字段时不勾选
- 业务层次:记录节点的层次信息,与模型的层级数一一对应,如业务层次为
省-市-区
时,则会记录该节点的所在省、所在市、所在区的信息。业务层次可选择已有的字段,也可以自定义或自动生成新的层次字段 - 自动新建层次字段:点击可自动分析父子字段的值并生成层次数据,如业务层次为
省-市-区
三级时,默认的字段名按顺序分别为:SZ_PID0
、SZ_PID1
、SZ_PID2
且不会发生改变,如果模型中已有该字段名则会自动引用 - 层级字段:记录节点在树形层次中处于第几层级,根节点从
0
开始。层级字段可自定义,默认为SZ_LEVEL
,如果模型中已有该字段名则默认为SZ_LEVEL1
。当模型数据中已有该信息的记录时,也可选择已有的字段 - 是否叶子节点:记录节点在树形层次中是否为叶子节点,
0
代表否,1
代表是。层级字段可自定义,默认为SZ_LEAF
,操作及生成规则与层级字段相同 - 子代码包含父代码:在涉及到与父子层次相关的数据查询时使用,可以提升查询性能,前提条件是子字段的前缀带有父字段的代码
# 新建多字段层次
新建多字段层次只需点击添加按钮并选择层次字段,即可新增相应的业务层次,系统会自动按照添加的顺序依次分为第一层级、第二层级...
# 编辑和删除层次
针对已创建的层次,系统提供了编辑及删除的功能:
- 编辑:点击模型工具栏中的更多按钮,可进行层次编辑操作,操作与新建层次一致
- 删除:删除当前选择的层次,点击后会弹出确认对话框,通过弹出框中详细信息可查看引用该层次的元数据
# 应用
在完成模型的数据层次构建后,可便捷应用于多种开发场景: