BI前端实践9:由DQL支持的关联多维分析

实践目标

定义完元数据,部署到DQL Server后,再进行多维分析(OLAP)时,体会后续界面操作、概念理解上的难易,探究DQL查询语言对多维分析的实际提升效果;同时,进一步探测DQL查询能力的完备性。

融入关联关系的元数据树

上一节设置了关联关系的元数据orders.lmd中,表名、字段名设置成中文语义:

BI前端实践9:由DQL支持的关联多维分析_第1张图片

部署到DQL Server中,在WEB多维分析系统里针对它做多维分析,能看到元数据中设置的关联关系已经体现到元数据树上,如订单表的销售ID展开后,关联到员工(销售)表:

BI前端实践9:由DQL支持的关联多维分析_第2张图片

隐式的关联多维分析

在这颗元数据树上直接做多维分析,也能实现之前测试的多种关联方式DQL示例的查询。界面操作也基本继承了DQL的语法特点,过程中不像SQL那样明显感觉到表关联。

同维表关联

同维表所有的字段都合并在一起,感觉是一个表,可以混合着选出两个表中的任意字段:

BI前端实践9:由DQL支持的关联多维分析_第3张图片

多级关联表

逐层展开后看到多级关联表,可以随意选用各级字段:

BI前端实践9:由DQL支持的关联多维分析_第4张图片

自关联表

订单表的发货城市关联到区域表,之后用父区域可以一直展开,第一次展开父区域是发货省份,再继续展开父区域是发货地区:

BI前端实践9:由DQL支持的关联多维分析_第5张图片

互关联表

员工表里的部门字段展开到部门表,部门表中的部门经理字段又展开回到员工表,这个第三层的员工表,代表的是部门经理这种特殊员工:

BI前端实践9:由DQL支持的关联多维分析_第6张图片

重复关联表

订单表里的发货城市、收货城市都关联到区域表,能分别展开,自然的也就分别代表收、发货的相关信息:

BI前端实践9:由DQL支持的关联多维分析_第7张图片

多字段关联表

订单表里的产品外键比较特殊,它是用两个字段关联到产品表,这里也能顺利展开,使用产品名称等相关字段:

BI前端实践9:由DQL支持的关联多维分析_第8张图片

关联以外的全面查询能力

关联(JOIN)是SQL里的重要能力,除此之外,更全面的能力还有查询条件(WHERE)、分组(GROUP BY)、分组后过滤(HAVING)、排序(ORDER BY),DQL对这些也能支持。

设置查询条件

SELECT

T1.(发货城市.区域名称) 发货城市

,T1.(产品.产品名称) 产品名称

FROM

订单表 T1

WHERE

T1.发货城市.区域名称 in ('辽阳市','邯郸市')

相应的多维分析操作:

BI前端实践9:由DQL支持的关联多维分析_第9张图片

BI前端实践9:由DQL支持的关联多维分析_第10张图片

分组聚合

SELECT

T1.count(姓名) 姓名计数

ON 部门

FROM

员工表 T1

BY T1.部门

相应的多维分析操作:

BI前端实践9:由DQL支持的关联多维分析_第11张图片

聚合条件

SELECT

T1.count(姓名) 姓名计数

ON 部门

FROM

员工表 T1 by 部门

HAVING T1.count(姓名)>5

相应的多维分析操作:

BI前端实践9:由DQL支持的关联多维分析_第12张图片

BI前端实践9:由DQL支持的关联多维分析_第13张图片

数据排序

SELECT

T1.订单ID 订单ID

,T1.发货城市.区域名称 发货城市

,T1.产品.含批次号产品名

FROM

订单表 T1

ORDER BY 订单ID DESC

相应的多维分析操作:

BI前端实践9:由DQL支持的关联多维分析_第14张图片

这样测试下来,DQL的查询能力和SQL一样,也是完备的。而DQL对表关联的预定义比较关键,基于它才实现了非按需多次建模(制作CUBE)、自动化的多维分析。

你可能感兴趣的:(报表&BI,bi,多维分析,数据分析)