可使用 SQL 运算符来指定表达式之间的比较和算术运算。
可以使用各种类型的 SQL 运算符。
运算符 | 示例 | 说明 | 语法 |
---|---|---|---|
BETWEEN |
|
确定值是否介于两个非包含边界之间。 可以在 |
|
IN |
|
确定值是否存在于一组值中。 |
|
IS NULL |
|
确定值是否为空值。 |
|
LIKE |
|
确定值是完全还是部分匹配字符串。通常与通配符一起使用以指明零个或多个字符的任意字符串匹配 (%) 或指示任意单个字符匹配 (_)。 |
|
+ |
|
加号,用于执行加法运算。 |
|
- |
|
减号,用于执行减法运算。 |
|
* 或 X |
|
乘号,用于执行乘法运算。 |
|
/ |
|
除号,用于执行除法运算。 |
|
% |
百分比 |
|
|
|| |
|
字符串连接。 |
|
( |
|
左括号。 |
|
) |
|
右括号。 |
|
> |
|
大于号,表示值大于比较值。 |
|
< |
|
小于号,表示值小于比较值。 |
|
= |
等号,表示值相同。 |
|
|
>= |
大于等于号,表示值与比较值相同或大于比较值。 |
|
|
<= |
小于等于号,表示值与比较值相同或小于比较值。 |
|
|
<> |
|
不等于,表示值大于或小于比较值,但与比较值不同。 |
|
, |
|
逗号,用于分隔列表中的元素。 |
|
聚合函数对多个值执行运算以创建概要结果。
以下列表介绍了可用于列和度量列的聚合规则。此列表还包含可在为分析创建计算项时使用的函数。
默认值 — 应用语义模型中或者分析的原始作者要求的默认聚合规则。此选项不适用于分析中的计算项。
由服务器决定 — 应用由 Oracle Analytics 确定的聚合规则(例如,在语义模型中定义的规则)。在 Oracle Analytics 内针对简单规则(如求和、求最小值和求最大值)执行聚合。此选项不适用于“布局”窗格中的度量列,也不适用于分析中的计算项。
总和 - 计算通过将结果集中的所有值相加获得的总和。此选项用于包含数值的项。
最小值 - 计算结果集中的行的最小值 (最小数值)。此选项用于包含数值的项。
最大值 - 计算结果集中的行的最大值 (最大数值)。此选项用于包含数值的项。
平均值 - 计算结果集中的项的平均值 (均值)。此选项用于包含数值的项。表和数据透视表中的平均值舍入为最接近的整数。
第一个 - 在结果集中,选择度量的项的第一个匹配项。对于计算项,请根据“所选”列表中的显示内容选择第一个成员。此选项在编辑列公式对话框中不可用。
最后一个 - 在结果集中,选择该项的最后一个匹配项。对于计算项,请根据“所选”列表中的显示内容选择最后一个成员。此选项在编辑列公式对话框中不可用。
计数 — 计算结果集中项对应的值为非空值的行数。该项通常为列名,此种情况下,将返回该列中其值为非空值的行数。
相异值计数 — 为“计数”函数添加相异处理,这意味着该项的每个相异匹配项仅计算一次。
无 - 不应用聚合。此选项不适用于分析中的计算项。
基于报表的总计(如果适用) — 如果未选择此选项,请指定 Oracle Analytics 应根据整个结果集计算总计,然后对度量应用任何筛选器。此选项在编辑列公式对话框中不可用,也不适用于分析中的计算项。该选项仅适用于属性列。
函数 | 示例 | 说明 | 语法 |
---|---|---|---|
AGGREGATE AT |
|
基于数据模型层次中您指定的级别聚合列。
您可以选择指定多个级别。您不能指定这样的级别:该级别源自的维所包含的级别将用作您在第一个参数中指定的度量的度量级别。例如,如果 month 源自用作 yearly_sales 度量级别的同一时间维,则不能将该函数写为 |
|
AGGREGATE BY | AGGREGATE(sales BY month, region) |
基于一个或多个维列聚合度量。
|
AGGREGATE(measure BY column [, column1, columnN]) |
AVG |
|
计算一组数字值的平均值。 |
|
AVGDISTINCT |
计算表达式中所有相异值的平均值。 |
|
|
BIN |
|
将给定的数值表达式分类到指定数量的等宽存储桶。该函数可以返回收集器编号或者收集器间隔的两个端点之一。numeric_expr 是要收集的度量或数值属性。BY grain_expr1,…, grain_exprN 是一系列表达式,用来定义 numeric_expr 的计算粒度。BY 对于度量表达式为必需,对于属性表达式为可选。WHERE 是将数值分配给收集器前应用于 numeric_expr 的筛选器;INTO number_of_bins BINS 是将返回的收集器的编号;BETWEEN min_value AND max_value 是用于最外层收集器端点的最小值和最大值;RETURNING NUMBER 指示返回值应为收集器编号(1、2、3、4 等)。这是默认设置。RETURNING RANGE_LOW 指示收集器间隔的下限值,RETURNING RANGE_HIGH 指示收集器间隔的上限值 |
|
BottomN |
按从 1 到 n 的顺序依次排列表达式参数中最小的 n 个值,1 对应于最小的数值。 expr 是求值结果为数值的任意表达式。integer 是任意正整数。它表示结果集内显示的最低排名的数字,1 为最低排名。 |
|
|
COUNT |
|
确定具有非空值的项的数量。 |
|
COUNTDISTINCT |
对 COUNT 函数进行相异处理。 expr 为任意表达式。 |
|
|
COUNT* |
|
计算行数。 |
|
First |
|
选择表达式参数的第一个非空返回值。 |
|
Last |
|
选择表达式的最后一个非空返回值。 |
|
MAVG |
计算结果集中最后 n 行数据(包括当前行)的移动平均值。 expr 是求值结果为数值的任意表达式。integer 是任意正整数。它表示最后 n 行数据的平均值。 |
|
|
MAX |
|
计算符合数值表达式参数要求的行的最大值(最大数值)。 |
|
MEDIAN |
|
计算符合数值表达式参数要求的行的中间值。如果有偶数个行,则中间值为两个中间行的平均值。此函数始终返回双精度值。 |
|
MIN |
|
计算符合数值表达式参数要求的行的最小值。 |
|
NTILE |
根据用户指定的范围确定值的排名。它返回整数,表示任意排名范围。numTiles =100 的 NTILE 返回的结果一般称为“百分比段”(从 1 到 100 的数值,100 表示最高)。 expr 是求值结果为数值的任意表达式。numTiles 是非空值正整数,表示磁贴数量。 |
|
|
PERCENTILE |
计算符合数值表达式参数要求的每个值的百分比段排名。百分比段排名范围介于 0(百分之零)和 1(百分之百)之间。 expr 是求值结果为数值的任意表达式。 |
|
|
RANK |
|
计算符合数值表达式参数要求的每个值的排名。排名 1 分配给最大的数字,下一个连续的整数(2、3、4...)依次分配给后续的每个排名。如果某些值相等,则分配相同的排名(例如,1、1、1、4、5、5、7...)。 expr 是求值结果为数值的任意表达式。 |
|
STDDEV |
|
返回一组值的标准差。返回类型始终为双精度值。 |
|
STDDEV_POP |
|
使用总体方差和标准差的计算公式返回一组值的标准差。 |
|
SUM |
|
计算通过累加符合数值表达式参数要求的所有值得出的总和。 |
|
SUMDISTINCT |
计算通过累加符合数值表达式参数要求的所有相异值得出的总和。 expr 是求值结果为数值的任意表达式。 |
|
|
TOPN |
按从 1 到 n 的顺序依次排列表达式参数中最大的 n 个值,1 对应于最大的数值。 expr 是求值结果为数值的任意表达式。integer 是任意正整数。它表示结果集内显示的最高排名的数字,1 为最高排名。 |
|
使用分析函数,您可以通过预测、趋势线和聚类等模型来浏览数据。或者,您可以将分析函数拖放到工作簿编辑器中。
或者,您可以通过在工作簿编辑器中数据面板的“分析”选项卡上选择预测、趋势线和聚类来将其添加到工作簿中。请参见将统计分析函数添加到可视化。
函数 | 示例 | 说明 | 语法 |
---|---|---|---|
CLUSTER |
|
使用 K-平均值 (K-Means) 或分层聚类基于一个或多个输入表达式将一组记录收集到组中。 |
|
EVALUATE_SCRIPT |
|
按照 script_file_path 中的指定方式执行 Python 脚本,传入一个或多个列或文字表达式作为输入。此函数的输出由 output_column_name 确定。 |
|
FORECAST |
按天统计的收入预测示例 此示例选择按天统计的收入预测。 FORECAST("A - Sample Sales"."Base Facts"."1- Revenue" Target, ("A - Sample Sales"."Time"."T00 Calendar Date"),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue 按年和季度统计的收入预测示例 此示例选择按年和季度统计的收入预测。 FORECAST("A - Sample Sales"."Base Facts"."1- Revenue", ("A - Sample Sales"."Time"."T01 Year" timeYear, "A - Sample Sales"."Time"."T02 Quarter" TimeQuarter),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue |
使用指数平滑 (Exponential Smoothing, ETS)、季节性 ARIMA 或 ARIMA 创建指定度量随序列变化的时间序列模型。此函数输出对 numPeriods 参数指定的一组期间的预测。 另请参见下面的其他 FORECAST 函数选项。 |
FORECAST(measure, ([series]), output_column_name, options,[runtime_binded_options])])
其中:
另请参见下面的其他 FORECAST 函数选项。 |
OUTLIER |
|
使用 K-平均值 (K-Means)、分层聚类或多元非正常值检测算法并基于一个或多个输入表达式将一条记录分类为非正常值。 |
|
REGR |
|
拟合线性模型,并返回拟合值或模型。此函数可用于拟合两个度量的线性曲线。 |
|
TRENDLINE |
|
Oracle 建议您在查看可视化时使用添加统计信息属性应用趋势线。请参见调整可视化属性。 拟合线性、多项式或指数模型,并返回拟合值或模型。numeric_expr 代表趋势的 Y 值,series(时间列)代表 X 值。 |
|
FORECAST 函数选项 下表列出了可在 FORECAST
函数中使用的选项。
选项名称 | 值 | 说明 |
---|---|---|
numPeriods | 整数 | 要预测的期间数。 |
predictionInterval | 0 到 100,其中值越大表示置信度越高 | 预测的置信度级别。 |
modelType |
ETS(Exponential Smoothing,指数平滑) SeasonalArima ARIMA |
要用于预测的模型。 |
useBoxCox |
TRUE FALSE |
如果为 TRUE,则使用 Box-Cox 转换。 |
lambdaValue | 不适用 |
Box-Cox 转换参数。 如果为 NULL 或 否则,在估计模型之前对数据进行转换。 |
trendDamp |
TRUE FALSE |
此项特定于指数平滑模型。 如果为 TRUE,则使用阻尼趋势。如果为 FALSE 或 NULL,则使用非阻尼趋势。 |
errorType |
不适用 |
此项特定于指数平滑模型。 |
trendType |
N(无) A(相加) M(相乘) Z(自动选择) |
此项特定于指数平滑模型。 |
seasonType |
N(无) A(相加) M(相乘) Z(自动选择) |
此项特定于指数平滑模型。 |
modelParamIC |
ic_auto ic_aicc ic_bic ic_auto(这是默认值) |
在模型选择中使用的信息标准 (information criterion, IC)。 |
转换函数可将值从一种形式转换为另一种形式。
函数 | 示例 | 说明 | 语法 |
---|---|---|---|
CAST |
|
更改表达式的数据类型,或者将空值文字更改为其他数据类型。例如,可以转换 customer_name(一种 |
|
IFNULL |
|
测试表达式的求值结果是否为空值,如果是,则会为该表达式分配指定值。 |
|
INDEXCOL |
|
使用外部信息返回要查看的已登录用户的适当列。 |
|
NULLIF |
|
比较两个表达式。如果它们相等,则该函数返回空值。如果它们不相等,则此函数返回第一个表达式。不能为第一个表达式指定文字 "NULL"。 |
|
To_DateTime |
|
将 DateTime 格式的字符串文字转换为 DateTime 数据类型。 |
|
VALUEOF |
|
在筛选器中引用语义模型变量的值。 将 expr 变量用作 |
|
日期和时间函数根据 DATE
和 DATETIME
处理数据。
函数 | 示例 | 说明 | 语法 |
---|---|---|---|
CURRENT_Date |
|
返回当前日期。 该日期由运行 Oracle BI 的系统确定。 |
|
CURRENT_TIME |
|
根据指定的精度位数返回当前时间,例如:HH:MM:SS.SSS 如果未指定参数,该函数返回默认精度。 |
|
CURRENT_TIMESTAMP |
|
根据指定的精度位数返回当前日期/时间戳。 |
|
DAYNAME |
|
返回指定日期表达式所在星期几的名称。 |
|
DAYOFMONTH |
|
返回数字,该数字对应于指定日期表达式是一个月中的第几天。 |
|
DAYOFWEEK |
|
返回一个介于 1 和 7 之间的数字,该数字对应于指定日期表达式是一周中的星期几。例如,1 始终与星期日对应,2 始终与星期一对应,依此类推到星期六,此时返回 7。 |
|
DAYOFYEAR |
|
返回一个介于 1 和 366 之间的数字,该数字对应于指定日期表达式是一年中的第几天。 |
|
DAY_OF_QUARTER |
|
返回一个介于 1 和 92 之间的数字,该数字对应于指定日期表达式是一个季度中的第几天。 |
|
HOUR |
|
返回一个介于 0 和 23 之间的数字,该数字对应于指定时间表达式的小时。例如,0 代表中午 12 点,而 23 对应于晚上 11 点。 |
|
MINUTE |
|
返回一个介于 0 和 59 之间的数字,该数字对应于指定时间表达式的分钟。 |
|
MONTH |
|
返回一个介于 1 和 12 之间的数字,该数字对应于指定日期表达式所在的月份。 |
|
MONTHNAME |
|
返回指定日期表达式所在的月份名称。 |
|
MONTH_OF_QUARTER |
|
返回一个介于 1 和 3 之间的数字,该数字对应于指定日期表达式是一个季度中的第几月。 |
|
NOW |
|
返回当前时间戳。 |
|
QUARTER_OF_YEAR |
|
返回一个介于 1 和 4 之间的数字,该数字对应于指定日期表达式在一年中的哪一季度。 |
|
SECOND |
|
返回一个介于 0 和 59 之间的数字,该数字对应于指定时间表达式的秒。 |
|
TIMESTAMPADD |
|
将指定的时间间隔数添加到时间戳,并返回单个时间戳。 时间间隔选项包括:SQL_TSI_SECOND、SQL_TSI_MINUTE、SQL_TSI_HOUR、SQL_TSI_DAY、SQL_TSI_WEEK、SQL_TSI_MONTH、SQL_TSI_QUARTER、SQL_TSI_YEAR |
|
TIMESTAMPDIFF |
|
返回两个时间戳之间的指定时间间隔的总数。 使用与 TIMESTAMPADD 相同的时间间隔。 |
|
WEEK_OF_QUARTER |
|
返回一个介于 1 和 13 之间的数字,该数字对应于指定日期表达式是一个季度中的第几周。 |
|
WEEK_OF_YEAR |
|
返回一个介于 1 和 53 之间的数字,该数字对应于指定日期表达式是一年中的第几周。 |
|
YEAR |
|
返回指定日期表达式所在的年份。 |
|
这些函数计算时间戳值或将时间戳值向下舍入到指定的最近时段,例如小时、日期、星期、月份和季度。
您可以使用计算的时间戳按不同的粒度聚合数据。例如,您可以将 EXTRACTDAY()
函数应用于销售订单日期来计算下单那天午夜的时间戳,以便可以按天聚合数据。
函数 | 示例 | 说明 | 语法 |
---|---|---|---|
提取日期 |
EXTRACTDAY("Order Date")
|
返回输入值出现那天午夜 (12 AM) 的时间戳。例如,如果输入时间戳为 2 月 22 日 3:02:01 AM,则该函数返回的时间戳为 2 月 22 日 12:00:00 AM。 |
|
提取小时 |
EXTRACTHOUR("Order Date")
|
返回输入值出现时的小时开始时间的时间戳。例如,如果输入时间戳为 11:18:30 PM,则该函数返回的时间戳为 11:00:00 PM。 |
|
提取几点钟 |
EXTRACTHOUROFDAY("Order Date")
|
返回如下时间戳:小时等于输入值中的小时,年、月、日、分钟和秒为默认值。 |
|
提取毫秒 |
EXTRACTMILLISECOND("Order Date")
|
返回包含输入值中的毫秒的时间戳。例如,如果输入时间戳为 15:32:02.150,则该函数返回的时间戳为 15:32:02.150。 |
|
提取分钟 |
EXTRACTMINUTE("Order Date")
|
返回输入值出现时的分钟开始时间的时间戳。例如,如果输入时间戳为 11:38:21 AM,则该函数返回的时间戳为 11:38:00 AM。 |
|
提取月份 |
EXTRACTMONTH("Order Date")
|
返回输入值出现那个月第一天的时间戳。例如,如果输入时间戳为 2 月 22 日,则该函数返回的时间戳为 2 月 1 日。 |
|
提取季度 |
EXTRACTQUARTER("Order Date")
|
返回输入值出现那个季度第一天的时间戳。例如,如果输入时间戳是在第三个财政季度,则该函数返回的时间戳为 7 月 1 日。 |
|
提取秒 |
EXTRACTSECOND("Order Date")
|
返回输入值的时间戳。例如,如果输入时间戳为 15:32:02.150,则该函数返回的时间戳为 15:32:02。 |
|
提取星期 |
EXTRACTWEEK("Order Date")
|
返回输入值出现那一周第一天(星期日)的日期。例如,如果输入时间戳为 9 月 24 日星期三,则该函数返回的时间戳为 9 月 21 日星期日。 |
|
提取年份 |
EXTRACTYEAR("Order Date")
|
返回输入值出现那一年 1 月 1 日的时间戳。例如,如果输入时间戳是在 1967 年,则该函数返回的时间戳为 1967 年 1 月 1 日。 |
|
显示在查询结果集上执行操作的函数。
函数 | 示例 | 说明 | 语法 |
---|---|---|---|
BottomN |
|
返回表达式最低的 n 个值,按照从高到低的顺序排列。 |
|
FILTER |
|
使用指定的预聚合过滤器计算表达式。 |
|
MAVG |
|
计算结果集中最后 n 行数据(包括当前行)的移动平均值。 |
|
MSUM |
|
计算最后 n 行数据(包括当前行)的移动总和。 第一行的总和等于第一行的数值表达式。第二行的总和通过计算前两行数据的总和得出,依此类推。在您到达第 n 行以后,根据最后 n 行数据计算总和。 |
|
NTILE |
|
根据用户指定的范围确定值的排名。它返回整数,表示任意排名范围。示例中显示了从 1 到 100 的范围,最低销售额 = 1,最高销售额 = 100。 |
|
PERCENTILE |
|
计算符合数值表达式参数要求的每个值的百分比排名。百分比段排名范围介于 0(第 1 个百分比段)和 1(第 100 个百分比段)之间,包含两端的值。 |
|
RANK |
|
计算符合数值表达式参数要求的每个值的排名。排名 1 分配给最大的数字,下一个连续的整数(2、3、4...)依次分配给后续的每个排名。如果某些值相等,则分配相同的排名(例如,1、1、1、4、5、5、7...)。 |
|
RCOUNT |
|
采用记录集作为输入,并计算迄今为止出现的记录数量。 |
|
RMAX |
|
采用记录集作为输入,并根据迄今为止出现的记录显示最大值。指定数据类型必须是可排序的数据类型。 |
|
RMIN |
|
采用记录集作为输入,并根据迄今为止出现的记录显示最小值。指定数据类型必须是可排序的数据类型。 |
|
RSUM |
|
根据迄今为止出现的记录来计算运行总和。 第一行的总和等于第一行的数值表达式。第二行的总和通过计算前两行数据的总和得出,依此类推。 |
|
TOPN |
|
返回表达式最高的 n 个值,按照从低到高的顺序排列。 |
|
有关使用显示函数的提示
filter (<measure> using fiscal_quarter = 'Q4')
filter (<measure> using fiscal_quarter = 'Q3')
filter (<measure> using fiscal_year = 'FY24')
求值函数是可用于通过表达式传递来获取高级计算的数据库函数。
嵌入式数据库函数可能需要一个或多个列。这些列将由该函数中的 %1 到 %N 引用。实际列必须列在该函数后面。
函数 | 示例 | 说明 | 语法 |
---|---|---|---|
EVALUATE |
|
将包含作为参数的可选引用列的指定数据库函数传递给数据库,以供求值时使用。 |
|
EVALUATE_AGGR |
|
将包含作为参数的可选引用列的指定数据库函数传递给数据库,以供求值时使用。此函数专门用于带有 |
|
本部分中介绍的数学函数执行数学运算。
函数 | 示例 | 说明 | 语法 |
---|---|---|---|
ABS |
|
计算数值表达式的绝对值。 expr 是求值结果为数值的任意表达式。 |
|
ACOS |
|
计算数值表达式的反余弦。 expr 是求值结果为数值的任意表达式。 |
|
ASIN |
|
计算数值表达式的反正弦。 expr 是求值结果为数值的任意表达式。 |
|
ATAN |
|
计算数值表达式的反正切。 expr 是求值结果为数值的任意表达式。 |
|
ATAN2 |
|
计算 y /x 的反正切,其中,y 是第一个数值表达式,x 是第二个数值表达式。 |
|
CEILING |
|
将一个非整数数值表达式的值舍入到最近的最大整数。如果数值表达式的求值结果是整数,则 |
|
COS |
|
计算数值表达式的余弦。 expr 是求值结果为数值的任意表达式。 |
|
COT |
|
计算数值表达式的余切。 expr 是求值结果为数值的任意表达式。 |
|
DEGREES |
|
将表达式的值从弧度转换为角度。 expr 是求值结果为数值的任意表达式。 |
|
EXP |
|
以值为底计算指定的幂。计算 e 的 n 次幂,其中 e 是自然对数的底。 |
|
ExtractBit |
|
检索特定位置的位,以整数表示。它返回与该位所在位置相对应的整数 0 或 1。 |
|
FLOOR |
|
将一个非整数数值表达式的值舍入到最近的最小整数。如果数值表达式的求值结果为整数,则 |
FLOOR(expr) |
LOG |
|
计算表达式的自然对数。 expr 是求值结果为数值的任意表达式。 |
|
LOG10 |
|
计算以 10 为底的对数表达式。 expr 是求值结果为数值的任意表达式。 |
|
MOD |
|
将第一个数值表达式除以第二个数值表达式,然后返回商的余数部分。 |
|
PI |
|
返回 pi 的常数值。 |
|
POWER |
|
求出第一个数值表达式的值,并将该值用作第二个数值表达式中指定的幂。 |
|
RADIANS |
|
将表达式的值从角度转换为弧度。 expr 是求值结果为数值的任意表达式。 |
|
RAND |
|
返回 0 至 1 之间的伪随机数。 |
|
RANDFromSeed |
|
返回基于种子值的伪随机数。如果给定种子值,将生成相同的一组随机数。 |
|
ROUND |
|
将数值表达式舍入精确到 n 位。 expr 是求值结果为数值的任意表达式。 integer 是任意正整数,它表示精度的位数。 |
|
SIGN |
|
返回以下值:
|
|
SIN |
|
计算数值表达式的正弦。 |
|
SQRT |
|
计算数值表达式参数的平方根。数值表达式的求值结果必须为非负数。 |
|
TAN |
|
计算数值表达式的正切。 expr 是求值结果为数值的任意表达式。 |
|
TRUNCATE |
|
截断小数,以返回从小数点开始算起的指定位数。 expr 是求值结果为数值的任意表达式。 integer 是任意正整数,它表示从小数点位置右侧返回的字符数。 |
|
运行聚合函数会对多个值执行运算以创建概要结果。
函数 | 示例 | 说明 | 语法 |
---|---|---|---|
MAVG |
计算结果集中最后 n 行数据(包括当前行)的移动平均值。 expr 是求值结果为数值的任意表达式。integer 是任意正整数。它表示最后 n 行数据的平均值。 |
|
|
MSUM |
|
计算最后 n 行数据(包括当前行)的移动总和。 expr 是求值结果为数值的任意表达式。integer 是任意正整数。表示最后 n 行数据的和。 |
|
RSUM |
|
根据迄今为止出现的记录来计算运行总和。 expr 是求值结果为数值的任意表达式。 |
|
RCOUNT |
|
采用记录集作为输入,并计算迄今为止出现的记录数量。 expr 是任意数据类型的表达式。 |
|
RMAX |
|
采用记录集作为输入,并根据迄今为止出现的记录显示最大值。 expr 是任意数据类型的表达式。 |
|
RMIN |
|
采用记录集作为输入,并根据迄今为止出现的记录显示最小值。 expr 是任意数据类型的表达式。 |
|
字符串函数执行各种字符操纵功能。这些函数对字符串进行操作。
函数 | 示例 | 说明 | 语法 |
---|---|---|---|
ASCII |
|
将单个字符串转换成介于 0 与 255 之间的相应 ASCII 代码。如果字符表达式求值结果为多个字符,将返回与表达式中第一个字符对应的 ASCII 代码。 expr 是求值结果为字符串的任意表达式。 |
|
BIT_LENGTH |
|
返回指定字符串的长度,以位为单位。每个 Unicode 字符长度为 2 个字节(相当于 16 位)。 expr 是求值结果为字符串的任意表达式。 |
|
CHAR |
|
将介于 0 与 255 之间的数值转换成与 ASCII 代码相对应的字符值。 expr 是求值结果为介于 0 和 255 之间数值的任意表达式。 |
|
CHAR_LENGTH |
|
返回指定字符串的长度,以字符数为单位。字符串的长度不包括前导和尾随空白字符。 expr 是求值结果为字符串的任意表达式。 |
|
CONCAT |
|
连接两个字符串。 exprs 是求值结果为逗号分隔字符串的表达式。 在 |
|
INSERT |
|
将指定的字符串插入到另一个字符串的指定位置。 expr1 是求值结果为字符串的任意表达式。它标识目标字符串。 integer1 是任意正整数,它表示从目标字符串开头数起的第几个字符处插入第二个字符串。 integer2 是任意正整数,它表示目标字符串中由第二个字符串替换的字符数。 expr2 是求值结果为字符串的任意表达式。它标识要插入到目标字符串中的字符串。 |
|
LEFT |
|
返回从字符串左侧算起的指定字符数。 expr 是求值结果为字符串的任意表达式 integer 是任意正整数,它表示从字符串左侧开始返回的字符数。 |
|
LENGTH |
|
返回指定字符串的长度,以字符数为单位。返回的长度不包括任何尾随空白字符。 expr 是求值结果为字符串的任意表达式。 |
|
LOCATE |
|
返回字符串在另一个字符串中的位置,以数字表示。如果在要在其中执行搜索的字符串中未找到要搜索的字符串,该函数将返回值 0。 expr1 是求值结果为字符串的任意表达式。它标识要搜索的字符串。 expr2 是求值结果为字符串的任意表达式。 它标识要在其中执行搜索的字符串。 |
|
LOCATEN |
|
与 LOCATE 类似,返回字符串在另一个字符串中的位置,以数字表示。LOCATEN 包括整数参数,用于指定开始搜索的起始位置。 expr1 是求值结果为字符串的任意表达式。它标识要搜索的字符串。 expr2 是求值结果为字符串的任意表达式。它标识要在其中执行搜索的字符串。 integer 是任意非零正整数,它表示开始搜索字符串的位置。 |
|
LOWER |
|
将字符串转换成小写字母。 expr 是求值结果为字符串的任意表达式。 |
|
OCTET_LENGTH |
|
返回指定字符串的字节数。 expr 是求值结果为字符串的任意表达式。 |
|
POSITION |
|
返回 strExpr1 在字符串表达式中的位置,以数字表示。如果未找到 strExpr1,该函数将返回 0。 expr1 是求值结果为字符串的任意表达式。它标识要在目标字符串中搜索的字符串。例如 "d"。 expr2 是求值结果为字符串的任意表达式。它标识要在其中执行搜索的目标字符串。例如 "abcdef"。 |
|
REPEAT |
|
将指定的表达式重复 n 次。 expr 是求值结果为字符串的任意表达式 integer 是任意正整数,它表示字符串的重复次数。 |
|
REPLACE |
|
将指定字符表达式中的一个或多个字符替换为一个或多个其他字符。 expr1 是求值结果为字符串的任意表达式。这是要替换其中字符的字符串。 expr2 是求值结果为字符串的任意表达式。第二个字符串标识要从第一个字符串中替换掉的字符。 expr3 是求值结果为字符串的任意表达式。第三个字符串指定要替换到第一个字符串中的字符。 |
|
RIGHT |
|
返回从字符串右侧算起的指定字符数。 expr 是求值结果为字符串的任意表达式。 integer 是任意正整数,它表示从字符串右侧开始返回的字符数。 |
|
SPACE |
|
插入空格。 integer 是任意正整数,它指示要插入的空格数。 |
|
SUBSTRING |
|
从固定字符数开始在原始字符串中创建新字符串。 expr 是求值结果为字符串的任意表达式。 startPos 是任意正整数,它表示从字符串左侧数起的第几个字符处开始生成结果。 |
|
SUBSTRINGN |
|
与 SUBSTRING 类似,从原始字符串的固定字符数开始,创建一个新字符串。 SUBSTRINGN 包括一个整数参数,可用于指定新字符串的长度,以字符数为单位。 expr 是求值结果为字符串的任意表达式。 startPos 是任意正整数,它表示从字符串左侧数起的第几个字符处开始生成结果。 |
|
TrimBoth |
|
从字符串中删除指定的前导和尾随字符。 char 是任意单个字符。如果忽略此规范 (以及所需的单引号),则使用空白字符作为默认值。 expr 是求值结果为字符串的任意表达式。 |
|
TRIMLEADING |
|
从字符串中删除指定的前导字符。 char 是任意单个字符。如果忽略此规范 (以及所需的单引号),则使用空白字符作为默认值。 expr 是求值结果为字符串的任意表达式。 |
|
TRIMTRAILING |
|
从字符串中删除指定的尾随字符。 char 是任意单个字符。如果忽略此规范 (以及所需的单引号),则使用空白字符作为默认值。 expr 是求值结果为字符串的任意表达式。 |
|
UPPER |
|
将字符串转换成大写字母。 expr 是求值结果为字符串的任意表达式。 |
|
USER
系统函数返回与会话相关的值。例如,用于登录的用户名。
函数 | 示例 | 说明 | 语法 |
---|---|---|---|
DATABASE |
返回您登录到的主题区域的名称。 |
|
|
USER |
返回您登录的语义模型的用户名。 |
|
使用时间序列函数,您可以基于时间维聚合和预测数据。例如,您可以使用 AGO 函数计算一年前的收入。
时间维成员不能高于函数的级别。因此,必须在查询中投影唯一标识位于给定级别或在给定级别之下的成员的一个或多个列。
函数 | 示例 | 说明 | 语法 |
---|---|---|---|
AGO |
|
计算某个度量在指定的过去时段内的聚合值。例如,要计算一年前的每月收入,可使用 |
其中:
|
PERIODROLLING |
|
计算在距当前时间 x 个时间单位(开始时间)到 y 个时间单位(结束时间)这一时段内的度量聚合。例如,使用 |
其中:
|
TODATE |
|
计算某个度量从某个时段的开始到最新时段的聚合值,例如,年初至今的计算。 例如,要计算年初至今销售额,可使用 |
其中:
|
您可以在工作簿和报表中使用常数来包含特定的固定日期和时间。
常数 | 示例 | 说明 | 语法 |
---|---|---|---|
DATE |
|
在计算或表达式中创建特定日期。 |
|
TIME |
|
在计算或表达式中创建特定时间。 |
|
TIMESTAMP |
|
在计算或表达式中创建特定时间戳。 |
|