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

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

 2007-05-10 12:20:26 来源:WEB开发网   
核心提示: 2.要创建产品 Bounce 于 2005 年在意大利的 SALES 预测值,并将其设为 20,Oracle中使用SQL MODEL定义行间计算(6),可使用 SELECT 语句中的规则将年份值设为 2005,从而在数组中创建新单元格,查询将查找等于 Bounce 的产品值和所有大于 19

2.要创建产品 Bounce 于 2005 年在意大利的 SALES 预测值,并将其设为 20,可使用 SELECT 语句中的规则将年份值设为 2005,从而在数组中创建新单元格。从 SQL*Plus 会话中,执行以下脚本:

@c:wkdirpos_cell2.sql
pos_cell2.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', 2005] = 20 )
ORDER BY country, prod, year
/

注意:如果您希望创建新单元格(例如,未来几年的值),则必须使用位置引用或 FOR 循环(本教程稍后讨论)。也就是说,位置引用允许更新数组以及向数组中插入新值。这称为 UPSERT 过程,它由 Oracle SQL MERGE 语句处理。

3.要更新产品 Bounce 自 1999 年以来针对意大利记录的所有年份的 SALES,并将它们设为 10,可以使用“符号单元格引用”。单元格引用的值通过布尔条件与相应的维度匹配。您可以使用所有常见的运算符,例如 <、>、IN 和 BETWEEN。在本例中,查询将查找等于 Bounce 的产品值和所有大于 1999 的年份值。这展示了单一规则如何访问多个单元格。从 SQL*Plus 会话中,执行以下脚本:

@c:wkdirsym_cell1.sql
sym_cell1.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[prod='Bounce', year>1999] = 10 )
ORDER BY country, prod, year
/

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Oracle 使用 SQL

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