The TabularData class (from System.Data.Tabular) provides high-performance, memory-efficient handling of large column-oriented datasets.
| Method | Description |
|---|---|
CreateFromDataSet(ds [, opts]) |
Initializes from a database DataSet. |
EvaluateNewColumn(name, rpn_expr) |
Adds a calculated column using an RPN expression array. |
EvaluateAggregate(op, rpn_expr) |
Calculates a scalar value (e.g. sum). |
LockAndShare(name) |
Makes the dataset globally available in shared memory. |
ConnectToShared(name) |
Connects to an existing shared dataset. |
ExportToSeparated(sep) |
Exports data to a delimited string (CSV). |
uses System.Data.Tabular;
var data := new TabularData;
data.AddColumn('Price', [10.0, 20.0, 30.0]);
data.AddColumn('Tax', [0.05, 0.10, 0.15]);
// Calculated column: Price * (1 + Tax)
data.EvaluateNewColumn('Total', [ '"Price"', '1', '"Tax"', '+', '*' ]);
// Aggregate
var totalSales := data.EvaluateAggregate('sum', [ '"Total"' ]);
PrintLn('Total Sales: ' + FloatToStr(totalSales)); EvaluateNewColumn and EvaluateAggregate are JIT-compiled for native execution speed.ConnectToShared provides access to global datasets without duplicating memory.