Oracle中使用SQLMODEL定义行间计算(1)
文章作者 100test 发表时间 2007:03:14 13:56:41
来源 100Test.Com百考试题网
目的
在本教程中,您将学习如何使用 Oracle 数据库 10g SQL MODEL 子句执行行间计算。
所需时间
大约 30 分钟
主题
本教程包括下列主题:
概述
情景
前提条件
设置示例数据
查看示例语法
使用位置和符号单元格引用
在规则右侧使用多单元格引用
使用 CV() 函数和 ANY 通配符
Coding FOR Loops:指定新单元格的简洁方法
了解规则的评估顺序
处理 NULL 度量和缺失单元格
创建引用模型
创建迭代模型
使用排序规则
总结
概述
利用 SQL MODEL 子句,您可以根据查询结果定义多维数组,然后将规则应用于该数组以计算新值。这些规则可以是复杂的相互依赖的计算。与外部解决方案相比,通过将高级计算集成到数据库中,可以大幅度提升性能、可伸缩性以及可管理性。用户可以将数据保留在 Oracle 环境内,而无需将数据复制到单独的应用程序或 PC 电子表格中。
MODEL 子句通过将查询列映射到以下三组来定义多维数组:分区列、维度列和度量列。这些元素执行以下任务:
分区以类似于分析函数的分区方式(在数据仓库指南中标题为“数据仓库中用于分析的 SQL”的一章中有述)来定义结果集的逻辑块。将 MODEL 规则应用于每个分区的单元格。
维度用于标识分区内的每个度量单元格。这些列用于标识日期、区域以及产品名之类的特征。
度量类似于星型模式中事实表的度量。它们通常包含数值,例如销售单位或成本。通过指定每个单元格的完整维度组合,可以在单元格所处的分区内对其进行访问。
要针对这些多维数组创建规则,您需要定义以维度值形式表达的计算规则。规则灵活且简洁,并且可以使用通配符和 FOR 循环,以最大限度地表达您的意图。利用 MODEL 子句构建的计算通过将分析集成到数据库中改善了传统的电子表格计算,通过符号引用提高了可读性,并提供了可伸缩性和更好的可管理性。