BIEE常用函数使用手册

1、AGGREGATE AT

此函数根据指定的级别聚合列。使用AGGREGATE AT 可确保始终在关键字AT 之后指定的级别执行度量聚合,而无论WHERE 子句如何。

语法

AGGREGATE(expr AT level [, level1, levelN])

其中:

expr 是至少引用一个度量列的任何表达式。

level 是要在其中聚合的级别。您可以选择性地指定多个级别。

您不能指定这样的级别:该级别源自的维所包含的级别将用作您在第一个参数中指定的度量的度量级别。例如,您不能以AGGREGATE(yearly_sales
AT month) 形式写入该函数,这是因为“month”源自的时间维与用作“yearly_sales”的度量级别的时间维相同。

以下示例显示了AGGREGATE AT 函数和示例结果:

SELECT month, year, AGGREGATE(sales AT Year)FROM timeseriestestingWHERE year = 1994 AND month = 12

由于AGGREGATE AT 运算符始终在谓词之前执行,因此它始终返回在关键字AT 后指定的时间级别的正确合计。

2、AVG

此函数计算结果集中表达式的平均值。它必须采用数值表达式作为参数。

请注意,AVG 的分母为聚合的行数。因此,在 Oracle Business Intelligence 中进行计算时,使用AVG(x) 通常是错误的。应当改为手动写入表达式,以便控制分子和分母 (x/y)。

语法

AVG(numExpr)

其中:

numExpr 是求值结果为数值的任何表达式。

3、COUNT

此函数计算表达式中包含非空值的行数。该表达式通常为列名,此种情况下,将返回该列中包含非空值的行数。

语法:

COUNT(expr)

其中:

expr 为任意表达式。

4、COUNTDISTINCT

此函数对COUNT 函数进行相异处理。

语法

COUNT(DISTINCT expr)

其中:

expr 为任意表达式。

5、COUNT(*)

此函数计算行数。

语法

COUNT(*)

例如,如果名为 Facts 的表包含 200,000,000 行,示例请求将返回显示的结果:

SELECT COUNT(*) FROM Facts

6、MAX

此函数计算符合数值表达式参数要求的行的最大值 (最大数值)。

语法

MAX(numExpr)

其中:

numExpr 是求值结果为数值的任何表达式。

7、STDDEV

此函数返回一组值的标准差。返回类型始终为双精度值。STDEV_SAMP 是STDDEV 的同义词。

语法

STDDEV([ALL | DISTINCT] numExpr)

其中:

numExpr 是求值结果为数值的任何表达式。

如果指定ALL,则会为数据集内的所有数据计算标准差。

如果指定DISTINCT,则会在计算中忽略所有重复项。

如果未指定任何内容 (默认值),则会考虑所有数据。

8、SUM

此函数计算通过累加符合数值表达式参数要求的所有值得出的总和。

语法

SUM(numExpr)

其中:

numExpr 是求值结果为数值的任何表达式。

9、TOPN

此函数按从 1 到 n 的顺序依次排列表达式参数中最大的 n 个值,1 对应于最大的数值。TOPN 函数基于结果集内返回的值运行。请求只能包含一个TOPN 表达式。

语法

TOPN(numExpr, integer)

其中:

numExpr 是求值结果为数值的任何表达式。

integer 是任意正整数。它表示结果集内显示的最高排名的数字,1 为最高排名。

10、MAVG

此函数计算结果集内最后 n 行数据 (包括当前行) 的移动平均值。

第一行的平均值等于第一行的数值表达式。第二行的平均值通过计算前两行数据的平均值得出。第三行的平均值通过计算前三行数据的平均值得出,依此类推,直到您到达第 n 行为止,第 n 行的平均值根据最后 n 行数据计算得出。

语法

MAVG(numExpr, integer)

其中:

numExpr 是求值结果为数值的任何表达式。

integer 是任意正整数。它表示最后 n 行数据的平均值。

11、MSUM

此函数计算最后 n 行数据 (包括当前行) 的移动总和。

第一行的总和等于第一行的数值表达式。第二行的总和通过计算前两行数据的总和得出。第三行的总和通过计算前三行数据的总和得出,依此类推。在您到达第 n 行以后,根据最后 n 行数据计算总和。

语法

MSUM(numExpr, integer)

其中:

numExpr 是求值结果为数值的任何表达式。

integer 是任意正整数。它表示最后 n 行数据的平均值。

12、RSUM

此函数根据迄今为止出现的记录来计算运行总和。第一行的总和等于第一行的数值表达式。第二行的总和通过计算前两行数据的总和得出。第三行的总和通过计算前三行数据的总和得出,依此类推。

语法

RSUM(numExpr)

其中:

numExpr 是求值结果为数值的任何表达式。

在 Answers 中,您还可以使用以下替代语法:

RSUM(expression1 [BY expression2[, expression3[, ...]]])

其中:

expression1, expression2, expression3 ... 可以是任何列引用或列引用中的算术表达式。

BY 子句导致RSUM 计算从任何BY 列值不同于上一行的行重新开始。

13、RCOUNT

此函数采用一组记录作为输入,并计算迄今为止出现的记录数量。

语法

RCOUNT(expr)

其中:

expr 是任何数据类型的表达式。

在 Answers 中,您还可以使用以下替代语法:

RCOUNT(expression1 [BY expression2[, expression3[, ...]]])

其中:

expression1, expression2, expression3 ... 可以是任何列引用或列引用中的算术表达式。

BY 子句导致RCOUNT 计算从任何BY 列值不同于上一行的行重新开始。

14、BIT_LENGTH

此函数返回指定字符串的长度,以位为单位。每个 Unicode 字符长度为 2 个字节 (相当于 16 位)。

语法

BIT_LENGTH(strExpr)

其中:

strExpr 是任意求值结果为字符串的表达式。

15、CHAR_LENGTH

此函数返回指定字符串的长度,以字符数为单位。字符串的长度不包括前导和尾随空白字符。

语法

CHAR_LENGTH(strExpr)

其中:

strExpr 是任意求值结果为字符串的表达式。

16、CONCAT

此函数有两种形式。第一种形式连接两个字符串。第二种形式使用字符串连接字符连接两个以上的字符串。

第 1 种形式 (连接两个字符串) 的语法

CONCAT(strExpr1, strExpr2)

其中:

strExprs 是求值结果为逗号分隔字符串的表达式。

此示例请求返回显示的结果。

SELECT DISTINCT CONCAT('abc', 'def') FROM employee
CONCAT('abc', 'def')

结果:

abcdef

第 2 种形式 (连接两个以上字符串) 的语法

CONCAT(strExpr1, strExpr2 || strExpr3)

其中:

strExprs 是求值结果为逗号分隔字符串和字符串连接运算符 || (双竖线) 的表达式。CONCAT 函数首先将 strExpr2 与 strExpr3连接在一起以生成中间字符串,然后将 strExpr1 和中间字符串连接在一起以生成最终字符串。

此示例请求返回显示的结果。

SELECT DISTINCT CONCAT('abc','def' || 'ghi') FROM employee

结果:

Abcdefghi

17、LEFT

返回从字符串左侧算起的指定字符数。

语法

LEFT(strExpr, integer)

其中:

strExpr 是任意求值结果为字符串的表达式。

integer 是任意正整数,它表示从字符串左侧开始返回的字符数。

18、LENGTH

此函数返回指定字符串的长度,以字符数为单位。返回的长度不包括任何尾随空白字符。

语法

LENGTH(strExpr)

其中:

strExpr 是任意求值结果为字符串的表达式。

19、LOCATE

此函数返回字符串在另一个字符串中的数字位置。如果在要在其中执行搜索的字符串中未找到要搜索的字符串,该函数将返回值0。

语法

LOCATE(strExpr1, strExpr2)

其中:

strExpr1 是任意求值结果为字符串的表达式。它标识要搜索的字符串。

strExpr2 是任意求值结果为字符串的表达式。它标识要在其中执行搜索的字符串。

此示例返回 4 作为字母 d 在字符串 abcdef 中的数字位置:

Locate('d', 'abcdef')

此示例返回 0,因为在要在其中执行搜索的字符串中找不到字母 g。

Locate('g', 'abcdef')

20、LOWER

此函数将字符串转换成小写字母。

语法

LOWER(strExpr)

其中:

strExpr 是任意求值结果为字符串的表达式。

21、REPEAT

此函数将指定的表达式重复 n 次。

语法

REPEAT(strExpr, integer)

其中:

strExpr 是任意求值结果为字符串的表达式。

integer 是任意正整数,它表示字符串的重复次数。

此示例重复 abc 四次:

REPEAT('abc', 4)

22、REPLACE

此函数将指定字符表达式中的一个或多个字符替换为一个或多个其他字符。

语法

REPLACE(strExpr1, strExpr2, strExpr3)

其中:

strExpr1 是任意求值结果为字符串的表达式。这是要替换其中字符的字符串。

strExpr2 是任意求值结果为字符串的表达式。第二个字符串标识要从第一个字符串中替换掉的字符。

strExpr3 是任意求值结果为字符串的表达式。第三个字符串指定要替换到第一个字符串中的字符。

在字符串 abcd1234 中,字符 123 将替换为字符串 zz:

Replace('abcd1234', '123', 'zz')

结果:

abcdzz423、RIGHT

此函数返回从字符串右侧算起的指定字符数。

语法

RIGHT(strExpr, integer)

其中:

strExpr 是任意求值结果为字符串的表达式。

integer 是任意正整数,它表示从字符串右侧开始返回的字符数。

此示例返回字符串 123456 最右侧的三个字符:

SELECT right('123456', 3) FROM table

结果:

456

24、SUBSTRING

此函数从固定字符数开始在原始字符串中创建新字符串。

语法

SUBSTRING(strExpr FROM starting_position)

其中:

strExpr 是任意求值结果为字符串的表达式。

starting_position 是任意正整数,它表示从字符串左侧数起的第几个字符处开始生成结果。

25、UPPER

此函数将字符串转换成大写字母。

语法

UPPER(strExpr)

其中:

strExpr 是任意求值结果为字符串的表达式。

26、ABS

此函数计算数值表达式的绝对值。

语法

ABS(numExpr)

其中:

numExpr 是求值结果为数值的任何表达式。

27、ROUND

此函数将数值表达式的值四舍五入到 n 位精度。

语法

ROUND(numExpr, integer)

其中:

numExpr 是求值结果为数值的任何表达式。

integer 是任意正整数,它表示精度的位数。

以下示例返回的结果为 2.17。

ROUND(2.166000, 2)

28、TRUNCATE

此函数截断小数,以返回从小数点开始算起的指定位数。

语法

TRUNCATE(numExpr, integer)

其中:

numExpr 是求值结果为数值的任何表达式。

integer 是任意正整数,它表示从小数点位置右侧返回的字符数。

以下示例返回 45.12:

TRUNCATE(45.12345, 2)

以下示例返回 25.12:

TRUNCATE(25.126, 2)

29、CURRENT_DATE

此函数返回当前日期。该日期由运行 Oracle BI Server 的系统确定。

语法

CURRENT_DATE

30、CURRENT_TIME

此函数返回当前时间。该时间由运行 Oracle BI Server 的系统确定。

语法

CURRENT_TIME(integer)

其中:

integer 是任意整数,它表示显示零点几秒的精度的位数。该参数是可选的;未指定该参数时,函数返回默认精度。

31、CURRENT_TIMESTAMP

此函数返回当前日期/时间戳。该时间戳由运行 Oracle BI Server 的系统确定。

语法

CURRENT_TIMESTAMP(integer)

其中:

integer 是任意整数,它表示显示零点几秒的精度的位数。该参数是可选的;未指定该参数时,函数返回默认精度。

32、NOW

此函数返回当前时间戳。NOW 函数等同于CURRENT_TIMESTAMP 函数。

语法

NOW()

33、QUARTER_OF_YEAR

此函数返回一个介于 1 和 4 之间的数字,该数字对应于指定日期位于一年中的哪一季度。

语法

QUARTER_OF_YEAR(dateExpr)

其中:

dateExpr 是求值结果为日期的任意表达式。

34、TIMESTAMPADD

此函数将指定的时间间隔数添加到指定的时间戳,并返回单个时间戳。

最简单的情况是,此函数根据时间间隔将指定的整数值与时间戳的适当组件相加。加一个星期时,会转换为加七天;而加一个季度时,会转换为加三个月。负的整数值会导致减去时间 (例如将时间倒推)。

指定的组件溢出 (例如超过 60 秒、24 小时、12 个月等) 时,会迫使在下一个组件中加上合适的时间量。例如,与时间戳的天组件相加时,此函数会考虑溢出,并且会计算特定月中的天数 (对于闰年,二月份会按 29 天计算)。

与时间戳的月组件相加时,此函数会验证生成的时间戳中的天组件是否有足够的天数。例如,将 1 个月与 2000-05-31 相加不会生成 2000-06-31,因为六月份没有 31 号。此函数会将天组件减少到该月的最后一天,在本示例中即为 2000-06-30。

对于月组件为二月并且天组件为 29 (即闰年中二月的最后一天) 的时间戳,与该时间戳的年组件相加时,会发生类似的问题。如果生成的时间戳不是闰年,则该函数会将天组件减少到 28。

这些操作符合 Microsoft SQL Server 以及 Oracle 数据库的本机 OCI 接口的行为。

语法

TIMESTAMPADD(interval, intExpr, timestamp)

其中:

interval 是指定的时间间隔。有效值为:

· SQL_TSI_SECOND

· SQL_TSI_MINUTE

· SQL_TSI_HOUR

· SQL_TSI_DAY

· SQL_TSI_WEEK

· SQL_TSI_MONTH

· SQL_TSI_QUARTER

· SQL_TSI_YEAR

intExpr 是求值结果为整数值的任意表达式。

BIEE11G常用函数及使用说明的更多相关文章

  1. mysql常用函数参考

    mysql常用函数参考   对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL, ...

  2. PHP 常用函数库和一些实用小技巧

    PHP 常用函数库和一些实用小技巧 作者: 字体:[增加 减小] 类型:转载   包括文件读取函式,文件写入函式,静态页面生成函式,目录删除函式等   文件读取函式 //文件读取函式 function ...

  3. 【转】JNI学习积累之一 ---- 常用函数大全

    原文网址:http://blog.csdn.net/qinjuning/article/details/7595104 本文原创,转载请注明出处:http://blog.csdn.net/qinjun ...

  4. PB常用函数

    弹出窗口:messagebox() 基本写法:Messagebox('标题','内容') 完整写法: MessageBox ( '标题','内容',图标,按键,默认值) (1)其中标题与内容为要显示的 ...

  5. JNI学习积累之一 ---- 常用函数大全

    主要资料来源: 百度文库的<JNI常用函数> . 同时对其加以了补充 . 要素  :1. 该函数大全是基于C语言方式的,对于C++方式可以直接转换 ,例如,对于生成一个jstring类型的 ...

  6. PB之常用函数

    原文网址:https://www.cnblogs.com/zhaoxiong/p/8082523.html PB之常用函数 弹出窗口:messagebox() 基本写法:Messagebox('标题' ...

  7. oracle常用函数及示例

    学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...

  8. 总结js常用函数和常用技巧(持续更新)

    学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...

  9. [转]SQL 常用函数及示例

    原文地址:http://www.cnblogs.com/canyangfeixue/archive/2013/07/21/3203588.html --SQL 基础-->常用函数 --===== ...

随机推荐

  1. 对于一些Http远程连接Api安全的看法;

    文章来源于 :http://lesg.cn/?p=122 我的个人博客站点 对于一些Http远程连接Api安全的看法: 当不同系统需要互相通信的时候:如果无法用webservice等方式链接的时候另一 ...

  2. Can't install mysql-python version 1.2.5 in Windows

    Can't install mysql-python version 1.2.5 in Windows http://stackoverflow.com/questions/37092125/cant ...

  3. Gym 101102D---Rectangles(单调栈)

    题目链接 http://codeforces.com/gym/101102/problem/D problem  description Given an R×C grid with each cel ...

  4. CentOS6.5下安装PostgreSQL

    一.配置 YUM 仓库 修改原始的 yum 仓库配置: vim /etc/yum.repos.d/CentOS-Base.repo 在[base]和[updates] 节(section)部分的尾部插 ...

  5. MyEclipse常用插件使用教程

    一.Findbugs 1. 配置 1.1 打开FindBugs视图: Windows => Show View => Other… => FindBugs => Bug Inf ...

  6. linux使用rpm重装jdk

    1.卸载jdk #rpm -qa | grep gcj 如果输出没有内容,说明没有jdk,如果输出有内容,要把搜索到的文件卸载掉,命令为: #rpm -e --nodeps [上步操作输出的文件] 然 ...

  7. Spring4学习笔记2-配置集合属性

    1 可使用<list> <map> <set>等来配置集合属性 2 List <!-- 配置List属性 --> <bean id="p ...

  8. Grid – 入门必备!简单易懂的响应式设计指南

    如今,人们使用各种各样的移动设备访问网页,设计师们需要去适配不同的屏幕,让用户在都能有最佳的浏览体验.Grid 是一个简单的响应式设计指南,按照这些简单的步骤,你的就能够掌握基础的响应网页设计技巧. ...

  9. 【CSS3】CSS3:border-image的详解和实例

    border-image简介 border-image是CSS3中的新特性.目前几乎所有的主流浏览器都已经支持该特性,详情请移步border-image的兼容性. border-image属性及使用说 ...

  10. CSS3颜色特征温故

    网页是色彩的表现原理:显示器是由一个个像素构成,利用电子束来表现色彩.像素把光的三原色:红色(R).绿色(G).蓝色(B)组合成的色彩按照科学原理表现出来.一个像素包含8位元色彩的信息量,又从0 ~ ...