4.5 层级字段

4.5.1 功能介绍

  在DataViz中,具备维度层次的概念,在图表中可以通过维度层次完成数据的上卷、下钻、钻透操作,详情请参考5.2 OLAP分析。 层级字段的制作除了可以在图表编辑页面通过拖拽的方式制作层级字段外,还可以在数据集中设置层级字段。

4.5.2 原理简介

  本节将以一个简单的示例解释本功能的原理,在理解了功能的原理后,用户才能更顺利地使用本功能。

​ 假设目前要针对某公司的不同层级的部门进行数据统计,该公司的部门结构如下图所示。

levelfield/levelfield-1

​ 为了实现层级分析,我们需要用一张单独的数据表,来描述各个层级之间的关系。不妨称这张表为模型表

​ 模型表有多种方式,这里介绍Dataviz中采用的两种,即邻接模型物化路径模型

4.5.2.1 邻接模型

​ 使用邻接模型表述该层级关系,可用如下图所示的方法。邻接模型表包含3列,分别为ID、名称和父节点ID。

levelfield/levelfield-2

​ ID:层级节点的ID,一般会用于与主数据表的关联。

​ 名称:层级节点的名称。

​ 父节点ID:该层级节点的父节点的ID。举例而言,“上海分公司”的父节点为“总公司”,其ID为“0”,所以“上海分公司”的父节点ID为“0”;“上海销售1部”的父节点为“上海分公司”,其ID为“1”,所以“上海销售1部”的父节点ID为“1”。如果还有下属的层级节点,其父节点ID的设置以此类推。

4.5.2.2 物化路径模型

​ 使用物化路径模型表述该层级关系,可用如下图所示的办法。物化路径模型同样包含3列,分别为ID、名称和路径。

levelfield/levelfield-3

​ ID:物化路径模型中的ID字段与路径无关,仅起到与主数据表关联的作用。

​ 名称:层级节点的名称。

​ 路径:该节点的路径。在本示例中,采用分隔符“/”表示路径层级的划分。举例而言,“上海分公司”的父节点为“总公司”,总公司的路径为“0”,所以“上海分公司”的路径为“0/*”,其中“*”可以是任意符号,为了方便与下层的节点相连,这里将其设置为“1”;“上海销售1部”的父节点为“上海分公司”,所以其路径为“1/*”,以此类推。

​ 除了采用分隔符的方法表示路径层级的划分外,还可以通过设置每层字符的长度来进行层级的划分。如下图示例所示,将每层字符的长度设置为3,同样可以完成路径的设置。

levelfield/levelfield-4

4.5.3 使用说明

​ 在数据集编辑页面,数据集字段->下拉菜单->层级字段,即可把该数据集字段设置为层级字段,如下图所示。需要注意的是,构建层级字段时,无需将模型表拖拽到数据集中

levelfield/levelfield-5

4.5.3.1 邻接模型

​ 选择构建层级字段后,在弹出的设置窗口中,选择“邻接模型”,然后按照下图的步骤进行设置。其中,“ID字段”、“名称字段”和“父节点ID字段”3个选项,分别对应模型表中的“ID”、“名称”和“父节点ID”3个字段,相应选择即可:

levelfield/levelfield-6

​ 设置完成后点击“确定”按钮并保存数据集即可。

4.5.3.2 物化路径模型

​ 在设置窗口中选择“物化路径模型”,对应于2种路径设置方式,有2种不同的设置方式。如选择分隔符的设置方式,则按照下图的步骤进行设置:

levelfield/levelfield-7

​ 如果选择每层字符长度的设置方式,则按照下图的步骤进行设置:

levelfield/levelfield-8

​ 如果同时设置了字符长度和分隔符,则优先使用分隔符。

4.5.3.3 其他

​ 其他模型的树形数据可以通过实现接口过滤条件树形数据的方式进行绑定。

4.5.3.4 在图表中使用层级字段

  设置了层级字段的数据集字段,在图表页面绑定到图表上之后,就可以在图表上进行上卷、下钻等操作了。操作的方法如下图所示,在图表上点击右键,然后在右键菜单中选择“选择层级”,在弹出窗口中选择层级即可。

levelfield/levelfield-9

4.5.4 权限控制

  如果想控制用户可见的数据和层级(如:只可见所在的当前部门),可以在数据源中对层级字段中绑定的表设置数据过滤

results matching ""

    No results matching ""

    results matching ""

      No results matching ""