实践目标
偶尔用SQL做多维分析会比较方便,但如果经常做这类事务,每次都可能写重复的SQL,就会存在麻烦,通过使用预定义的语义层改善这些问题。
基于SQL做多维分析的烦恼
l 数据库中的表名、字段名几乎都是英文,甚至是缩略字母,每次都需要用AS转成中文的业务名。
l 时不时会有一些计算字段,用到时每次都要编写计算表达式。
l 事实表中只有代码值,对应的名称值经常是存储在另外的维表中,每次要写JOIN。
预定义元数据语义层
打开编辑元数据的设计器({安装目录}/report/bin/dql.exe),然后新建一个元数据,
新建好了这个空白的元数据,下一步要做的是把之前的Mysql库employees导入进来,创建好数据源并且连接上:
连接上数据库后,选择这个库的表导入元数据:
可以看到选出的多个表,选中某个表,看到它的字段,以及主键信息、字段类型也都自动导入了,如果和实际不符,可以再手动调整。
这样一个最基本的元数据就建好了,保存成文件(employees.lmd)。接下来把它部署到一个独立的服务器(DQL Server)上后,就能基于它直接做多维分析了。