TemplateDruidQuery query = metric.getTemplateDruidQuery(); if (query != null) { allQueries.add(metric.getTemplateDruidQuery());
public MetricField getMetricField() { return getTemplateDruidQuery().getMetricField(getName()); }
continue; if (logicalMetric.getTemplateDruidQuery() == null) { unsortableMetrics.add(sortMetricName); continue;
@Override protected LogicalMetric makeInner(LogicalMetricInfo logicalMetricInfo, List<String> dependentMetrics) { LogicalMetric sourceMetric = metricDictionary.get(dependentMetrics.get(0)); Aggregation sourceAggregation = assertDependentIsAggregationMetric(sourceMetric); FilteredAggregation filteredAggregation = new FilteredAggregation( logicalMetricInfo.getName(), sourceAggregation, filter ); return new LogicalMetric( new TemplateDruidQuery( ImmutableSet.of(filteredAggregation), Collections.emptySet(), sourceMetric.getTemplateDruidQuery().getInnerQuery().orElse(null) ), sourceMetric.getCalculation(), logicalMetricInfo ); }
@Override protected LogicalMetric makeInner(LogicalMetricInfo logicalMetricInfo, List<String> dependentMetrics) { // Get the Metric that is being averaged over LogicalMetric dependentMetric = metrics.get(dependentMetrics.get(0)); // Get the field being subtotalled in the inner query MetricField sourceMetric = convertToSketchEstimateIfNeeded(dependentMetric.getMetricField()); // Build the TemplateDruidQuery for the metric TemplateDruidQuery innerQuery = buildInnerQuery(sourceMetric, dependentMetric.getTemplateDruidQuery()); TemplateDruidQuery outerQuery = buildOuterQuery(logicalMetricInfo.getName(), sourceMetric, innerQuery); return new LogicalMetric(outerQuery, NO_OP_MAPPER, logicalMetricInfo); }
) throws FilterBuilderException { TemplateDruidQuery templateDruidQuery = logicalMetric.getTemplateDruidQuery();