TERADATAOLAP函数.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TERADATAOLAP函数

第二十三章OLAP函数完成本章学习后,将能够:.. 使用标准SQL进行数据挖掘.. 在标准SQL中使用OLAP函数.. 执行统计方面的采样(samplings)、排队(rankings)和分位数(quantiles).. 了解OLAP统计函数23.1 OLAP函数简介OLAP即联机分析处理(On-Line Analytical Process)。Teradata数据库本身提供了一些OLAP函数,包括:RANK - 排队(Rankings)QUANTILE - 分位数(Quantiles)CSUM - 累计(Cumulation)MAVG - 移动平均(Moving Averages)MSUM - 移动合计(Moving Sums)MDIFF - 移动差分(Moving Differences)MLINREG - 移动线性回归(Moving Linear Regression)OLAP函数与聚合函数有类似的地方:.. 对数据进行分组操作 (类似于GROUP BY 子句).. 能够使用QUALIFY子句过滤组 (类似于HAVING 子句)OLAP函数又与聚合函数不同,因为:.. 返回满足条件的每行的数据值,而不是组的值.. 不能在子查询内使用OLAP函数可以对下面的数据库对象或动作使用:.. Tables (Perm, Temp, Derived).. Views.. INSERT/SELECT23.2 累计函数累计函数(CSUM) 计算一列的连续的累计的值。语法为:CSUM(colname, sort list)表daily_sales在许多查询中都将使用,其定义如下。CREATE SET TABLE daily_sales ,NO FALLBACK,NO BEFORE JOURNAL,NO AFTER JOURNAL(itemid INTEGER,salesdate DATE FORMAT YY/MM/DD,sales DECIMAL(9,2))PRIMARY INDEX ( itemid );问题创建item 10从1998年1月和2月的连续的日汇总报表。解答SELECT salesdate, sales, csum(sales, salesdate)FROM daily_salesWHERE salesdate BETWEEN 980101 AND 980301AND itemid = 10;结果salesdate sales Csum98/01/01 150.00 150.0098/01/02 200.00 350.0098/01/03 250.00 600.0098/01/05 350.00 950.0098/01/10 550.00 1500.0098/01/21 150.00 1650.0098/01/25 200.00 1850.0098/01/31 100.00 1950.0098/02/01 150.00 2100.0098/02/03 250.00 2350.0098/02/06 350.00 2700.0098/02/17 550.00 3250.0098/02/20 450.00 3700.0098/02/27 350.00 4050.00在上面的报表中,每行都代表item 10一天的数据。注意,不是每天都销售了item 10。最右边的列代表其在两个月内的累计销售额。如果想每月重新累计,该怎么办?累计汇总可以使用GROUP BY子句在特殊的点复位,即重新开始累计。注意,OLAP函数和标准聚合函数(SUM, COUNT,AVG, MIN, MAX) 是不能在同一查询中兼容的。因此,对这类查询使用GROUP BY,将会起分隔的作用。问题创建item 10从1998年1月和2月的连续的日汇总报表,并且每月重新开始累计。解答SELECT salesdate, sales, csum(sales, salesdate)FROM daily_sales ds, sys_calendar.calendar scWHERE ds.salesdate = sc.calendar_dateAND sc.year_of_calendar = 1998AND sc.month_of_year in (1,2)AND ds.itemid = 10GROUP BY sc.month_of_year;结果salesdate sales Csum98/01/01 150.00 150.0098/01/02 200.00 350.0098/01/03 250.00 600.0098/01/05 350.00 950.0098/01/10 550.00 1500.0098/01/21 150.00 1650.0098/01/25 200.

文档评论(0)

yaobanwd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档