pub enum Transform {
Show 30 variants
Filter {
field: String,
value: String,
},
Select {
fields: Vec<String>,
},
Sort {
field: String,
desc: bool,
},
Limit {
n: usize,
},
Count,
Sum {
field: String,
},
Mean {
field: String,
},
Rate {
window: String,
},
Percentage,
Join {
other: String,
on: String,
},
Sample {
n: usize,
},
GroupBy {
field: String,
},
Distinct {
field: Option<String>,
},
Where {
field: String,
op: String,
value: String,
},
Offset {
n: usize,
},
Min {
field: String,
},
Max {
field: String,
},
First {
n: usize,
},
Last {
n: usize,
},
Flatten,
Reverse,
Map {
expr: String,
},
Reduce {
initial: String,
expr: String,
},
Aggregate {
field: String,
op: AggregateOp,
},
Pivot {
row_field: String,
col_field: String,
value_field: String,
},
CumulativeSum {
field: String,
},
Rank {
field: String,
method: RankMethod,
},
MovingAverage {
field: String,
window: usize,
},
PercentChange {
field: String,
},
Suggest {
prefix: String,
count: usize,
},
}Expand description
A transform operation in the expression pipeline.
Variants§
Filter
Filter rows: filter(field=value)
Select
Select columns: select(field1, field2)
Sort
Sort rows: sort(field, desc=true)
Limit
Limit rows: limit(n)
Count
Count rows
Sum
Sum a field: sum(field)
Mean
Average a field: mean(field)
Rate
Rate over window: rate(window)
Percentage
Convert to percentage
Join
Join with another dataset: join(other, on=field)
Sample
Sample rows: sample(n)
GroupBy
Group by field: group_by(field)
Distinct
Get distinct values: distinct(field)
Where
Advanced filter with operators: where(field, op, value)
Fields
Offset
Offset/skip rows: offset(n)
Min
Minimum value: min(field)
Max
Maximum value: max(field)
First
First n rows: first(n)
Last
Last n rows: last(n)
Flatten
Flatten nested arrays: flatten
Reverse
Reverse order: reverse
Map
Map/transform each element: map(expr)
Reduce
Reduce/fold elements: reduce(initial, accumulator_expr)
Fields
Aggregate
Aggregate after group_by: agg(field, op)
Fields
op: AggregateOpAggregation operation (sum, count, mean, min, max)
Pivot
Pivot table: pivot(row_field, col_field, value_field)
Fields
CumulativeSum
Running total: cumsum(field)
Rank
Rank within group: rank(field, method)
MovingAverage
Moving average: moving_avg(field, window)
PercentChange
Percent change: pct_change(field)
Suggest
Model suggestion: suggest(prefix, count) - for N-gram/autocomplete models
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Transform
impl<'de> Deserialize<'de> for Transform
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Transform
impl StructuralPartialEq for Transform
Auto Trait Implementations§
impl Freeze for Transform
impl RefUnwindSafe for Transform
impl Send for Transform
impl Sync for Transform
impl Unpin for Transform
impl UnwindSafe for Transform
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.