多维数据模型中的 OLAP 操作

17 Mar 2025 | 5 分钟阅读

在多维模型中,记录被组织成各种维度,每个维度包含由概念层次结构描述的多个抽象级别。这种组织为用户提供了从各种角度查看数据的灵活性。 存在许多 OLAP 数据立方体操作来演示这些不同的视图,允许交互式查询和搜索手头的记录。 因此,OLAP 为交互式数据分析提供了一个用户友好的环境。

考虑要在多维数据上执行的 OLAP 操作。 图显示了商店的销售数据立方体。 该立方体包含维度、位置、时间和项目,其中位置是根据城市值聚合的,时间是相对于季度聚合的,项目是相对于项目类型聚合的。

Roll-Up

Roll-up 操作(也称为上钻或聚合操作)通过向下移动概念层次结构(即维度缩减)来对数据立方体执行聚合。 Roll-up 就像对数据立方体进行缩小。 图显示了在位置维度上执行的 roll-up 操作的结果。 位置的层次结构定义为订单街道、城市、省或州、国家。 roll-up 操作通过从城市级别到国家级别上移位置层次结构来聚合数据。

当通过维度缩减执行 roll-up 时,一个或多个维度将从立方体中移除。 例如,考虑一个具有两个维度(位置和时间)的销售数据立方体。可以通过移除时间维度来执行 roll-up,以聚合位置总销售额,而不是按位置和时间进行聚合。

示例

考虑以下立方体,说明了每周记录的某些天的温度

温度646568697071727580818385
第 1 周101010000010
第 2 周000100120100

考虑到我们要从上述立方体中设置温度级别(热 (80-85)、温和 (70-75)、凉爽 (64-69))。

为此,我们必须对列进行分组并根据概念层次结构对值进行累加。 此操作称为 roll-up。

通过这样做,我们包含以下立方体

温度凉爽温和
第 1 周211
第 2 周211

Roll-up 操作按温度级别对信息进行分组。

下图说明了 roll-up 的工作方式。

OLAP Operations

Drill-Down

Drill-down 操作(也称为 roll-down)是 roll-up 的逆操作。 Drill-down 就像对数据立方体进行放大。 它从不太详细的记录导航到更详细的数据。 Drill-down 可以通过 下移 维度的概念层次结构或添加其他维度来执行。

图显示了通过向下移动概念层次结构在时间维度上执行的 drill-down 操作,该层次结构定义为日、月、季度和年。 Drill-down 通过从季度级别到更详细的月份级别下移时间层次结构来显示。

由于 drill-down 向给定数据添加了更多细节,因此也可以通过向立方体添加新维度来执行。 例如,可以通过引入其他维度(例如客户组)来对该图的中心立方体进行 drill-down。

示例

Drill-down 向给定数据添加更多详细信息

温度凉爽温和
第 1 天000
第 2 天000
第 3 天001
第 4 天010
第 5 天100
第 6 天000
第 7 天100
第 8 天000
第 9 天100
第 10 天010
第 11 天010
第 12 天010
第 13 天001
第 14 天000

下图说明了 Drill-down 的工作方式。

OLAP Operations

切片

切片 (slice) 是立方体的子集,对应于一个或多个维度成员的单个值。 例如,当客户希望对三维立方体的一个维度进行选择,从而产生二维站点时,将执行切片操作。 因此,Slice 操作对给定立方体的一个维度执行选择,从而产生一个子立方体。

例如,如果我们选择温度=凉爽,我们将获得以下立方体

温度凉爽
第 1 天0
第 2 天0
第 3 天0
第 4 天0
第 5 天1
第 6 天1
第 7 天1
第 8 天1
第 9 天1
第 11 天0
第 12 天0
第 13 天0
第 14 天0

下图说明了 Slice 的工作方式。

OLAP Operations

这里 Slice 正在使用标准时间 = "Q1" 来处理维度 "时间"。

它将通过选择一个或多个维度来形成新的子立方体。

切块 (Dice)

切块操作通过对两个或多个维度进行选择来描述子立方体。

例如,对原始立方体实现选择 (时间 = 第 3 天 OR 时间 = 第 4 天) AND (温度 = 凉爽 OR 温度 = 热),我们得到以下子立方体(仍然是二维的)

温度凉爽
第 3 天01
第 4 天00

考虑下图,它显示了切块操作。

OLAP Operations

立方体上的切块操作基于以下选择标准,涉及三个维度。

  • (位置 = "多伦多" 或 "温哥华")
  • (时间 = "Q1" 或 "Q2")
  • (项目 = "手机" 或 "调制解调器")

旋转 (Pivot)

旋转操作也称为旋转。 Pivot 是一种可视化操作,它旋转视图中的数据轴以提供数据的替代表示。 它可能包含交换行和列或将其中一个行维度移动到列维度中。

OLAP Operations

考虑下图,它显示了旋转操作。

OLAP Operations

其他 OLAP 操作

执行包含多个事实表的查询。 Drill-through 操作利用关系 SQL 促进钻取到数据立方体的底层关系表。

其他 OLAP 操作可能包含对列表中的前 N 个或后 N 个元素进行排序,以及计算移动平均值、增长率和利息、内部收益率、折旧、货币转换和统计任务。

OLAP 提供分析建模能力,包括用于确定比率、方差等以及计算跨各种维度的度量的计算引擎。 它可以生成每个粒度级别和每个维度交叉点的汇总、聚合和层次结构。 OLAP 还提供用于预测、趋势分析和统计分析的功能模型。 在这种情况下,OLAP 引擎是一个强大的数据分析工具。


下一主题OLAP 的类型