[expressions] Standard library of table manipulation functions #68930
Labels
Feature:ExpressionLanguage
Interpreter expression language (aka canvas pipeline)
impact:medium
Addressing this issue will have a medium level of impact on the quality/strength of our product.
loe:small
Small Level of Effort
Because tables are the shared exchange format of choice with expressions, table manipulation functions should work on any table from any source, and be part of a standard library. This issue is describing the standard library of functions that I would expect to exist in any table manipulation tool- if this list is incomplete, please feel free to comment.
There are several categories of functions that are needed:
number
,string
, anddate
.Functions that take a table and return a table
columns include="a, b" exclude="c, d"
datatable
kibana_datatable
head
,tail
sort
sort
Functions that take tables as input but produce different output
Join functions
There is probably only one table join function which accepts two tables and a condition. It joins them based on the condition for each row. When there are identical columns, they are merged. When the columns share IDs but aren't identical, we can throw an error or assign a new ID to the right side.
Functions that operate on primitive types
I don't actually think each of these functions should be implemented in the expression grammar as separate named functions. It would be really nice to have a built-in grammar that resembles Javascript.
sum(c1, c2)
where the object is{ c1: 5, c2: 10 }
lte
,eq
, etcThe text was updated successfully, but these errors were encountered: