Teradata OLAP 函数17 Mar 2025 | 4 分钟阅读 OLAP 函数类似于聚合函数,除了聚合函数只会返回一个值。相反,OLAP 函数除了聚合值之外,还会提供各个行。 OLAP 函数内置于 Teradata 数据库中,以提供数据挖掘功能和趋势分析。 这些函数提供了使用标准聚合无法实现的处理。OLAP 函数提供其操作的结果并显示在函数中使用的数据值的详细信息。 由于输出以行格式而非报告格式(例如 WITH)显示,因此详细的行数据将作为答案集的一部分显示。 OLAP 函数可以在所有表或视图上执行,并与 INSERT/SELECT 结合使用来填充表。最重要的区别是这些函数可以在 Queryman 中使用,而 WITH 则不行。 语法 以下是 OLAP 函数的语法。 注意:聚合函数可以是 SUM、COUNT、MIN、MAX 和 AVG。示例 考虑以下员工的 Salary 表。
以下是一个查找 Salary 表中 NetPay 的累积总和或运行总数的示例。 记录按 Emp_Id 排序,并在 NetPay 列上计算累积总和。 执行上述查询后,它将产生以下输出。 QUANTILE 函数QUANTILE 函数用于将行划分为几个分区,每个分区中的行数大致相同。百分位数是业务中最常用的 QUANTILE。 默认情况下,QUANTILE 列和 QUANTILE 值本身都将按升序输出。 在某些情况下,ORDER BY 子句可用于重新排序输出以供显示。这里,输出的顺序不会改变输出的含义,不像求和,其中值被加在一起,并且所有值都需要以正确的顺序出现。 语法 以下是 QUANTILE 函数的语法。 RANK 函数RANK 函数根据提供的列对记录进行排序。RANK 函数还可以根据排名过滤返回的记录数量。 RANK 函数允许根据高或低顺序评估和比较一列,与所有其他行进行比较,以创建输出集。 默认情况下,顺序将按排名列的降序排序,这与降序 Rank 相关。 RANK 函数的输出是该列中的最高或最低数据值,具体取决于请求的排序。 语法 以下是使用 RANK 函数的语法。 示例 考虑以下员工表。
以下查询按入职日期对员工表的记录进行排序,并在入职日期上分配排名。 执行上述查询后,它将产生以下输出。 PARTITION BY 子句按 PARTITION BY 子句中定义的列对数据进行分组,并在每个组内执行 OLAP 函数。以下是使用 PARTITION BY 子句的查询示例。 执行上述查询后,它将产生以下输出。我们可以看到每个部门的 Rank 都会重置。 下一主题Teradata 数据保护 |
我们请求您订阅我们的新闻通讯以获取最新更新。