创建模式
创建多维分析分为两种模式: 新建多维分析 和 新建多维探索 。这两种模式主要是在创建多维分析的方式是不同的。
- 创建多维分析主要是通过查询浮动面板选择各个区域的维度值。如下图:
- 创建多维探索主要是通过待选列勾选的方式进行区域维度值选择,如下图:
实现原理
多维分析是通过将多维数据集中的各个维度(包括普通维度和度量维)进行有机的组合,查询出相应的数据。
首先,我们了解下多维数据库中查询多维数据集表达式(即MDX查询表达式)的基本组成:
SELECT [<axis_specification>
[, <axis_specification>...]]
FROM [<cube_specification>]
[WHERE [<slicer_specification>]]
从上面的表达式中我们发现:每个MDX查询都要求有数据请求(SELECT子句)、起始点(FROM子句)和筛选(WHERE子句),且。这些关键字以及其它关键字提供了各种工具,用来从多维数据集中析取数据的特定部分。
接着,我们按照MDX基本表达式原理对总结章节中的多维数据集查询如下:
SELECT {[Time].[1997年].[第一季度]} on COLUMNS,
{[Store].[canada].[DF]} on ROWS
FROM Sales
WHERE([Product].[Food].[Meat])
该表达式返回的结果集如下图黄色区域部分:
因此,根据MDX表达式的结构及多维数据集查询的实现需求,系统将多维分析的"查询浮动面板"分为三个小区:列区、行区和切块区。其中,"列区"对应"COLUMNS"部分,"行区"对应"ROWS"部分,"切块区"对应"WHERE"部分。将不同的维成员拖拽到各区,不同的组合获得不同的数据结果,这些结果展现在一个报表中,则实现了我们称之为"多维分析"的报表。
以上示例中实现的是三个维的多维分析,系统允许在行区、列区和切块区拖拽一个或多个维中的成员,这样可以检索出多个维的数据结果,这种多维数据集查询的方式较之二维的查询方式(也可以说是SQL数据集查询方式)可以实现更灵活和更复杂的查询效果。
说明:处于切块区中的维在系统中以参数看待,可以实现对当前多维分析的切片和切块效果。
报表元素
在学习多维分析设计之前,我们先对多维分析的各类元素进行了解,下图显示的是一个具备了各类元素的多维分析:
多维分析各个部分相关的元素介绍如下:
- 表头部分:用于在多维分析的起始部分记录相关信息(如标题、制表人、制表时间等)的区域。
- 参数面板:用于显示参数的区域,即:处于切块区的维和被自定义成员或自定义命名集使用的参数。
- 翻页部分:用于显示多维分析进行分页设置后的分页信息(如翻页控制和页码信息等)的区域。
- 表格部分:用于显示已选择的维以表格的样式显示出来的数据信息的区域。
- 图形部分:用于对当前表格中的数据以图形显示的区域。
- 表尾部分:用于在多维分析的结束部分记录相关信息(如制表人、制表时间等)的区域。