Namespace Mangrove.MetricSetTransformers
This namespace contains the "public API" for interacting with expressions, tables, and metrics plans.
Classes
AddParsedExpressions
Given an expression parser and unparsed expressions, this transformer parses the expressions and adds them to the given MetricsPlan.
AddTriggers
This transformer adds in the neccessary table and expressions for performing triggering. That is, it will take some partition, for each combination of the values that these take, it will retain only the rows that occur after a row-level trigger evaluates to true. This does not do "whole user triggering", so rows from before the triggering event will not be included. This differs from Foray in that it partitions only on randomization unit, not also on Market and Flight.
BaseMetricsPlan
Returns a new metrics plan that only keeps base tables and its expressions.
DeduplicateExpressions
Optimize the computation described by a MetricsPlan by de-duplicating Expression nodes when possible. This is not guaranteed to de-duplicate all duplicate nodes.
InjectDataSourceParameters
Create or modify the parameters of DataSource tables.
InjectLiteralType
Give Literal expressions a non-unknown type if they appear e.g. in "a + b", where a is literal and b is double, or "a ? b : c" where b is int. Also inject the correct type if Content is parsable as an integer etc.
ReplaceConstants
Replace string constants in expressions and tables.
SemanticEquality
Compare Expression nodes for "computes the same value", i.e. ignore ColumnReference and parentheses.