Namespace Mangrove.MetricSetTransformers.Segmentation
This namespace contains all the logic needed to to add dimension / segmentation logic to a metrics plan, which is intended to be emitted into a "query-like" language (e.g., Kusto or Spark Sql).
Classes
AddSegmentation
This is the main class that adds segmentation logic to a MetricPlan. It serves as a mini-coordinator: transforms a metric plan to replace all the aggregations by their recursive counterparts, add all the necessary expressions for the segmentation and all-up aggregations.
CreateAggregands
This class propagates the aggregands to all the child tables using method PropagateAggregands(MetricsPlan, IEnumerable<ColumnReference>) The need to call this method separately through this transformer was MetricsVectorization does not treat Flight as a segment and therefore to aggregate at flight level it needs to be called separately. See AddSegmentation
SegmentationExtensions
Wrapper for segmentation-related extension methods. You shouldn't ever need to refer directly to this class.