分析功能映射
以下表格链接到在指定原生语言 API 中可用的分析功能:
一元操作
对于 abs、neg、match 操作,生成相同类型的输出序列。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_abs_TYPE() | abs() | seq_abs(input) | abs() | abs() | |
mco_seq_neg_TYPE() | operator - | seq_neg(input) | neg() | neq() | |
mco_seq_match() | match(char const* pattern) | match(pattern) |
二元运算
对于加法、减法、乘法、除法、取模、求最大值和求最小值这些操作,生成相同类型的输出结果序列。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_add_TYPE() | operator + | seq_add(left, right) | add(input) | add(other) | |
mco_seq_sub_TYPE() | operator - | seq_sub(left, right) | sub(input) | sub(other) | |
mco_seq_mul_TYPE() | operator * | seq_mul(left, right) | mul(input) | mul(other) | |
mco_seq_div_TYPE() | operator / | seq_div(left, right) | div(input) | div(other) | |
mco_seq_mod_TYPE() | operator % | seq_mod(left, right) | mod(input) | mod(other) | |
mco_seq_max_TYPE() | max(Sequence<T> const& other) | max(input) | max(other) | ||
mco_seq_min_TYPE() | min(Sequence<T> const& other) | min(input) | min(other) | ||
seq_pow(left, right) | |||||
seq_maxof(left, right) | |||||
seq_minof(left, right) |
比较运算
为比较运算符:==、!=、>、>=、<、<= 生成一个布尔值的结果序列。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_eq_TYPE() | operator == | seq_eq(left, right) | eq(input) | eq(other) | |
mco_seq_ne_TYPE() | operator != | seq_ne(left, right) | ne(input) | ne(other) | |
mco_seq_gt_TYPE() | operator > | seq_gt(left, right) | gt(input) | gt(other) | |
mco_seq_ge_TYPE() | operator >= | seq_ge(left, right) | ge(input) | ge(other) | |
mco_seq_lt_TYPE() | operator < | seq_lt(left, right) | lt(input) | lt(other) | |
mco_seq_le_TYPE() | operator <= | seq_le(left, right) | le(input) | le(other) |
逻辑运算
从逻辑操作符:not、and、or、xor产生布尔值的结果序列。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_not() | operator != | seq_not(input) | not() | not() | |
mco_seq_and() | operator && | seq_and(left, right) | and(input) | and(other) | |
mco_seq_or() | operator || | mco_seq_or(left, right) | or(input) | or(other) | |
mco_seq_xor() | operator ^ | mco_seq_xor(left, right) | xor(input) | xor(other) |
转换操作
将序列元素转换为所需类型。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_TYPE1_to_TYPE2() | |||||
mco_seq_TYPE2_from_TYPE1() | |||||
mco_seq_print_char() | |||||
seq_integer(input) | |||||
seq_real(input) | |||||
cast(typeid) | cast(type) | ||||
convert(typeid) |
压缩操作
将两个序列压缩为标量值,例如:加权和、加权平均值、协方差、相关性。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_wsum_TYPE() | wsum(weights) | seq_wsum(left, right) | wsum(input) | wsum(weights) | |
mco_seq_wavg_TYPE() | wavg(weights) | seq_wavg(left, right) | wavg(input) | wavg(weights) | |
mco_seq_cov_TYPE() | cov(other) | seq_cov(left, right) | cov(input) | cov(other) | |
mco_seq_corr_TYPE() | corr(other) | seq_corr(left, right) | corr(input) | corr(other) | |
var() | |||||
dev() |
条件操作
根据条件(如:如果、当且仅当、筛选、筛选位置)对一个或两个输入序列执行操作。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_iif_TYPE() | iif(then, else) | seq_iif(cond, then, else) | iif(then, else) | iif(then, otherwise, boolean lazy) | |
mco_seq_if_TYPE() | cond(then, else) | seq_if(cond, then, else) | if(then, else) | ||
mco_seq_filter_TYPE() | filter(input) | seq_filter(cond, input) | filter(input) | filter(cond) | |
mco_seq_filter_pos() | filterPos() | seq_filter_pos(cond) | filter_pos() | filterPos() | |
mco_seq_filter_search() |
顺序操纵操作
对输入序列执行各种操作。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_filter_first_pos() | firstPosition() | ||||
lastPosition() | |||||
nextPosition() | |||||
mco_seq_reverse_TYPE() | reverse() | seq_reverse(input) | reverse() | reverse() | |
mco_seq_cat() | cat(other) | ||||
mco_seq_concat() | concat(other) also operator, | seq_concat(input1, input2) | concat(input) | concat(tail) | |
seq_subseq(input, from, till) | |||||
mco_seq_limit_TYPE() | limit(from, till) also operator() | limit(from, till) | limit(from, till) | ||
mco_seq_get_TYPE() | get(result) | get([size]) | get(buffer) | ||
mco_seq_get_nullable_TYPE() | |||||
mco_seq_unget_TYPE() | unget(input, elemtype [, elemsize]) | ||||
mco_seq_unget_nullable_TYPE() | |||||
mco_seq_uniq_TYPE() | unique() | seq_unique(input) | uniq() | unique() | |
mco_seq_norm_TYPE() | norm() | seq_norm(input) | norm() | normalize() | |
mco_seq_thin_TYPE() | thin(origin, step) | thin(origin, step) | thin(origin, step) | ||
mco_seq_diff_TYPE() | diff() | seq_diff(input) | diff() | diff() | |
mco_seq_const_TYPE() | const(value, elemtype [,elemsize]) | constant(val, type) | |||
mco_seq_trend_TYPE() | seq_trend(input) | trend() | trend() | ||
seq_ceil(input) | |||||
seq_floor(input) | |||||
mco_seq_parse_TYPE() | |||||
mco_seq_join_TYPE() | join() | ||||
mco_seq_tee_TYPE() | tee() | tee() | |||
mco_seq_union_TYPE() | combine(other, order) | ||||
mco_seq_skip_nan_TYPE() | |||||
mco_seq_map_TYPE() | map(positions) also operator[] | map(positions) | |||
mco_seq_repeat_TYPE() | repeat(nTimes) | seq_repeat(n_times) | repeat(n_times) | repeat(count) | |
mco_seq_stretch_TS_TYPE_VAL_TYPE() | stretch(ts1, ts2, fille r) | seq_stretch() | stretch(ts1, ts2, filler) | ||
mco_seq_stretch0_TS_TYPE_VAL_TYPE() | stretch0(ts1, ts2, filler) | seq_stretch0() | stretch0(ts1, ts2, filler) | ||
mco_seq_asof_join_TS_TYPE_VAL_TYPE() | asofJoin(ts1, ts2) | seq_asof_join() | asofJoin(ts1, ts2) | ||
mco_seq_cross_TYPE() | cross(first_cross_direction) | seq_cross() | cross(cross_direction) | cross(firstCrossDirection) | |
mco_seq_extrema_TYPE() | extrema(first_extremum) | seq_extrema() | extrema(first_extremum) | extrema(firstExtremum) | |
tonparray(field1, ...) | |||||
hash(), hash(other) |
迭代器操作
从序列迭代器(如:next、reset)中提取值并重置。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_next_TYPE() | next(val) also operator++ | next() | next(), nextInt(), nextLong(), nextFloat(), nextBytes(), nextString(), nextDate() | ||
mco_seq_reset_iterator() | reset() | reset() | reset() | ||
mco_seq_reset_unary_iterator() | |||||
mco_seq_reset_binary_iterator() | |||||
Generated C API functions: | |||||
classname_fieldname_first() | seq_first_int(), seq_first_real() | first() | |||
classname_fieldname_last() | seq_last_int(), seq_last_real() | last() | |||
classname_fieldname_subseq() | seq_subseq(input, from, till) | subseq(from, till) | |||
classname_fieldname_append() | append(values) | ||||
classname_fieldname_insert() | insert(values) | ||||
classname_fieldname_delete() | delete(from, till) | ||||
classname_fieldname_search() | seq_search(input, from, to) | search(from, boundary_from, to, boundary_to) | |||
seq_search_first(input, from, limit) | |||||
seq_search_last(input, to, limit) | |||||
classname_fieldname_count() | count() | seq_count() | count() | ||
classname_fieldname_map() | seq_map() | map(...) | map(positions) | ||
classname_fieldname_project() | seq_project() | project(field1, ...) | |||
classname_fieldname_store() | store(other) |
顶部操作
返回序列中的前 n 个元素(或其位置):最大值的前 n 个元素、最小值的前 n 个元素、最大值的前 n 个位置、最小值的前 n 个位置。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_top_max_TYPE() | topMax(n) | seq_top_max() | top_max(n) | topMax(top) | |
mco_seq_top_min_TYPE() | topMin(n) | seq_top_min() | top_min(n) | topMin(top) | |
mco_seq_top_pos_max_TYPE() | topPosMax(n) | seq_top_pos_max() | top_pos_max(n) | topPosMax(top) | |
mco_seq_top_pos_min_TYPE() | topPosMin(n) | seq_top_pos_min() | top_pos_min(n) | topPosMin(top) |
RLE 操作
执行游程长度加密(RLE)操作:计数、解码、is_rle。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_rle_count() | rleCount(pos) | ||||
mco_seq_is_rle() | isRLE() | ||||
mco_seq_rle_decode() | rleDecode() | rleDecode() |
全局聚合操作
所有全局聚合操作的结果均以双精度浮点数形式返回,而不论结果序列的实际元素类型为何。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_agg_count() | count() | seq_count() | agg_count() | aggCount() | |
mco_seq_agg_max_TYPE() | aggMax() | seq_max() | agg_max() | aggMax() | |
mco_seq_agg_min_TYPE() | aggMin() | seq_min() | agg_min() | aggMin() | |
mco_seq_agg_min_max_TYPE() | agg_min_max() | aggMinMax() | |||
mco_seq_agg_sum_TYPE() | aggSum() | seq_sum() | agg_sum() | aggSum() | |
mco_seq_agg_prd_TYPE() | aggPrd() | seq_prd() | agg_prd() | aggPrd() | |
mco_seq_agg_avg_TYPE() | aggAvg() | seq_avg() | agg_avg() | aggAvg() | |
mco_seq_agg_var_TYPE() | aggVar() | seq_var() | agg_var() | aggVar() | |
mco_seq_agg_var_samp_TYPE() | aggVarSamp() | seq_var_samp() | agg_var_samp() | aggVarSamp() | |
mco_seq_agg_dev_TYPE() | aggDev() | seq_dev() | agg_dev() | aggDev() | |
mco_seq_agg_dev_samp_TYPE() | aggDevSamp() | seq_dev_samp() | agg_dev_samp() | aggDevSamp() | |
mco_seq_agg_approxdc() | approxDistinctCount() | seq_approxdc() | agg_approxdc() | aggApproxDC() | |
mco_seq_agg_approxdc_hash() | approxdc_hash() | aggApproxHashDC() | |||
seq_empty() |
分组聚合操作
根据“group_by”参数的值将输入序列拆分为多个组。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_group_agg_count() | groupAggCount() | seq_group_agg_count() | group_agg_count(group_by) | groupAggCount() | |
mco_seq_group_agg_max_TYPE() | groupAggMax() | seq_group_agg_max() | group_agg_max(group_by) | groupAggMax(groupBy) | |
mco_seq_group_agg_min_TYPE() | groupAggMin() | seq_group_agg_min() | group_agg_min(group_by) | groupAggMin(groupBy) | |
mco_seq_group_agg_first_TYPE() | groupAggFirst() | seq_group_agg_first() | group_agg_first(group_by) | groupAggFirst(groupBy) | |
mco_seq_group_agg_last_TYPE() | groupAggLast() | seq_group_agg_last() | group_agg_last(group_by) | groupAggLast(groupBy) | |
mco_seq_group_agg_sum_TYPE() | groupAggSum() | seq_group_agg_sum() | group_agg_sum(group_by) | groupAggSum(groupBy) | |
mco_seq_group_agg_avg_TYPE() | groupAggAvg() | seq_group_agg_avg() | group_agg_avg(group_by) | groupAggAvg(groupBy) | |
mco_seq_group_agg_var_TYPE() | groupAggVar() | seq_group_agg_var() | group_agg_var(group_by) | groupAggVar(groupBy) | |
mco_seq_group_agg_var_samp_TYPE() | groupAggVarSamp() | seq_group_agg_var_samp() | group_agg_var_samp(group_by) | groupAggVarSamp(groupBy) | |
mco_seq_group_agg_dev_TYPE() | groupAggDev() | seq_group_agg_dev() | group_agg_dev(group_by) | groupAggDev(groupBy) | |
mco_seq_group_agg_dev_samp_TYPE() | groupAggDevSamp() | seq_group_agg_dev_samp() | group_agg_dev_samp(group_by) | groupAggDevSamp(groupBy) | |
mco_seq_group_agg_approxdc() | groupAggApproxDistinctCount() | seq_group_agg_approxdc() | group_agg_approxdc(group_by) | groupAggApproxDC(groupBy) | |
mco_seq_group_agg_approxdc_hash() | groupAggApproxDistinctHashValues() | group_agg_approxdc_hash(group_by) | groupAggApproxHashDC(SequenceIterator groupBy) | ||
mco_seq_group_agg_wavg_TYPE() | groupAggWavg() | group_agg_wavg(group_by) | groupAggWavg(weight, groupBy) |
网格聚合操作
将输入序列拆分为由“间隔”参数指定的区间,该参数确定组中的最大元素数量。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_grid_agg_max_TYPE() | gridAggMax() | seq_grid_agg_max() | grid_agg_max(interval) | gridAggMax(interval) | |
mco_seq_grid_agg_min_TYPE() | gridAggMin() | seq_grid_agg_min() | grid_agg_min(interval) | gridAggMin(interval) | |
mco_seq_grid_agg_sum_TYPE() | gridAggSum() | seq_grid_agg_sum() | grid_agg_sum(interval) | gridAggSum(interval) | |
mco_seq_grid_agg_avg_TYPE() | gridAggAvg() | seq_grid_agg_avg() | grid_agg_avg(interval) | gridAggAvg(interval) | |
mco_seq_grid_agg_var_TYPE() | gridAggVar() | seq_grid_agg_var() | grid_agg_var(interval) | gridAggVar(interval) | |
mco_seq_grid_agg_var_samp_TYPE() | gridAggVarSamp() | seq_grid_agg_var_samp() | grid_agg_var_samp(interval) | gridAggVarSamp(interval) | |
mco_seq_grid_agg_dev_TYPE() | gridAggDev() | seq_grid_agg_dev() | grid_agg_dev(interval) | gridAggDev(interval) | |
mco_seq_grid_agg_dev_samp_TYPE() | gridAggDevSamp() | seq_grid_agg_dev_samp() | grid_agg_dev_samp(interval) | gridAggDevSamp(interval) |
窗口(移动)聚合操作
与上文所述的“网格”函数类似,不过此处的区间参数表示从输入序列中接下来的 N 个元素。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_window_agg_max_TYPE() | windowAggMax() | seq_window_agg_max() | window_agg_max(interval) | windowAggMax(interval) | |
mco_seq_window_agg_min_TYPE() | windowAggMin() | seq_window_agg_min() | window_agg_min(interval) | windowAggMin(interval) | |
mco_seq_window_agg_sum_TYPE() | windowAggSum() | seq_window_agg_sum() | window_agg_sum(interval) | windowAggSum(interval) | |
mco_seq_window_agg_avg_TYPE() | windowAggAvg() | seq_window_agg_avg() | window_agg_avg(interval) | windowAggAvg(interval) | |
mco_seq_window_agg_var_TYPE() | windowAggVar() | seq_window_agg_var() | window_agg_var(interval) | windowAggVar(interval) | |
mco_seq_window_agg_var_samp_TYPE() | windowAggVarSamp() | seq_window_agg_var_samp() | window_agg_var_samp(interval) | windowAggVarSamp(interval) | |
mco_seq_window_agg_dev_TYPE() | windowAggDev() | seq_window_agg_dev() | window_agg_dev(interval) | windowAggDev(interval) | |
mco_seq_window_agg_dev_samp_TYPE() | windowAggDevSamp() | seq_window_agg_dev_samp() | window_agg_dev_samp(interval) | windowAggDevSamp(interval) | |
mco_seq_window_agg_ema_TYPE() | seq_window_agg_ema() | windowAggEma(period) | |||
mco_seq_window_agg_atr_TYPE() | seq_window_agg_atr() | windowAggAtr(period) |
哈希分组聚合操作
根据未排序的分组序列对结果序列进行分组。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
seq_hash_agg_group_by() | |||||
seq_hash_group_by() |
哈希聚合操作
这些函数对通过“哈希聚合分组”函数获取的序列进行操作
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_hash_agg_max_TYPE() | hashAggMax() | seq_hash_agg_max() | hash_agg_max(...) | hashAggMax(groupBy, nGroups) | |
mco_seq_hash_agg_min_TYPE() | hashAggMin() | seq_hash_agg_min() | hash_agg_min(...) | hashAggMin(groupBy, nGroups) | |
mco_seq_hash_agg_sum_TYPE() | hashAggSum() | seq_hash_agg_sum() | hash_agg_sum(...) | hashAggSum(groupBy, nGroups) | |
mco_seq_hash_agg_avg_TYPE() | hashAggAvg() | seq_hash_agg_avg() | hash_agg_avg(...) | hashAggAvg(groupBy, nGroups) | |
mco_seq_hash_agg_approxdc() | hashAggApproxDistinctCount() | seq_hash_agg_approxdc() | hash_agg_approxdc(...) | hashAggApproxdc(groupBy, nGroups) | |
mco_seq_hash_agg_count() | hashAggCount() | seq_hash_agg_count() | hash_agg_count(...) | hashAggCount(nGroups) | |
mco_seq_hash_agg_distinct_count() | hashAggDistinctCount() | hash_agg_distinct_count(...) | hashAggDistinctCount(groupBy, Groups, nPairs) | ||
mco_seq_hash_agg_dup_count() | hashAggDupCount() | hash_agg_dup_count() | hashAggDupCount(groupBy, nGroups, nPairs, minOccurrences) | ||
mco_seq_is_hash_aggreate() |
累积聚合操作
在结果序列中累积所有先前元素的平均值、总和、乘积等。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_cum_agg_max_TYPE() | cumAggMax() | seq_cum_agg_max() | cum_agg_max() | cumAggMax() | |
mco_seq_cum_agg_min_TYPE() | cumAggMin() | seq_cum_agg_min() | cum_agg_min() | cumAggMin() | |
mco_seq_cum_agg_sum_TYPE() | cumAggSum() | seq_cum_agg_sum() | cum_agg_sum() | cumAggSum() | |
mco_seq_cum_agg_prd_TYPE() | cumAggPrd() | seq_cum_agg_prd() | cum_agg_prd() | cumAggPrd() | |
mco_seq_cum_agg_avg_TYPE() | cumAggAvg() | seq_cum_agg_avg() | cum_agg_avg() | cumAggAvg() | |
mco_seq_cum_agg_var_TYPE() | cumAggVar() | seq_cum_agg_var() | cum_agg_var() | cumAggVar() | |
mco_seq_cum_agg_var_samp_TYPE() | cumAggVarSamp() | seq_cum_agg_var_samp() | cum_agg_var_samp() | cumAggVarSamp() | |
mco_seq_cum_agg_dev_TYPE() | cumAggDev() | seq_cum_agg_dev() | cum_agg_dev() | cumAggDev() | |
mco_seq_cum_agg_dev_samp_TYPE() | cumAggDevSamp() | seq_cum_agg_dev_samp() | cum_agg_dev_samp() | cumAggDevSamp() |
其他操作
提供诸如:排序、按顺序排列、直方图、哈希、函数、函数 2、条件等功能。
C | C++ | SQL | Python | Java | C# |
---|---|---|---|---|---|
mco_seq_histogram_TYPE() | histogram() | seq_histogram() | histogram(...) | histogram(low, high, nIntervals)Miscellaneous_Methods.htm | |
mco_seq_sort_TYPE() | sort() | seq_sort() | sort(...) | sort(arr, permutation, order) | |
mco_seq_order_by_TYPE() | permutate() | seq_order_by() | order_by(...) | ||
mco_seq_hash() | hash() | ||||
通过函数指针对每个序列元素应用特定操作 | |||||
mco_seq_func_TYPE() | apply(func) | func(func, arg) | |||
mco_seq_func2_TYPE() | apply(other, func) | ||||
mco_seq_func_ctx_TYPE | |||||
mco_seq_func2_ctx_TYPE | |||||
mco_seq_cond_TYPE() | |||||
mco_seq_cond_ctx_TYPE() |