WEB开发网
开发学院数据库Oracle Oracle中使用SQL MODEL定义行间计算 阅读

Oracle中使用SQL MODEL定义行间计算

 2007-05-10 12:20:26 来源:WEB开发网   
核心提示: 请注意,聚合函数只出现在规则的右侧,Oracle中使用SQL MODEL定义行间计算(9),聚合函数的参数可以是常量、约束变量、MODEL 子句的度量或者涉及这三种参数的表达式,使用 CV() 函数和 ANY 通配符CV() 函数是一个非常强大的工具,1.您希望更新 Bounce 在意大利

请注意,聚合函数只出现在规则的右侧。聚合函数的参数可以是常量、约束变量、MODEL 子句的度量或者涉及这三种参数的表达式。

使用 CV() 函数和 ANY 通配符

CV() 函数是一个非常强大的工具,它可以高效地进行规则创建。CV() 用于规则的右侧,以复制左侧指定的当前维度值。对于左侧规范引用多个单元格来说,它非常有用。用关系数据库的概念来理解,该函数类似于连接操作。

CV() 允许使用非常灵活的表达式。例如,通过从 CV(year) 值进行减法运算,可以引用数据集中的其他行。如果您的单元格引用中有表达式“CV(year) -2”,您两年前就可以访问数据。CV() 函数通常作为单元格引用的一部分使用,但是也可以在单元格引用外部作为独立的表达式元素。

1.您希望更新 Bounce 在意大利多年的销售值,使用的规则是 Bounce 每年的销售是 Y Box 当年销售的 20% 与 Mouse Pad 当年销售的总和。从 SQL*Plus 会话中,执行以下脚本:

@c:wkdircvf1.sql
cvf1.sql 脚本包含以下内容: SELECT SUBSTR(country,1,20) country,
SUBSTR(prod,1,15) prod, year, sales
FROM sales_view
WHERE country='Italy'
MODEL RETURN UPDATED ROWS
  PARTITION BY (country)
  DIMENSION BY (prod, year)
  MEASURES (sale sales)
  RULES (
  sales['Bounce', year BETWEEN 1995 AND 2002] =
  sales['Mouse Pad', cv(year)] +
  0.2 * sales['Y Box', cv(year)])
ORDER BY country, prod, year
/

上一页  4 5 6 7 8 9 10  下一页

Tags:Oracle 使用 SQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接