public TimeBoundaryRequestData(string dataSource, string bound, IFilterSpec filter, IContextSpec context)
 {
     DataSource = dataSource;
     Bound      = bound;
     Filter     = filter;
     Context    = context;
 }
示例#2
0
        private static IGroupByQueryDescriptor ConfigureAggregationSpec(
            IGroupByQueryDescriptor aggregation,
            TimeSlot timeslot,
            IFilterSpec filter,
            IReadOnlyList <string> dimensions)
        {
            if (filter != null)
            {
                aggregation = aggregation.Filter(filter);
            }

            if (dimensions.Any())
            {
                aggregation = aggregation.Dimensions(dimensions);
            }

            return(aggregation
                   .DataSource(BigBankCube.DataSource)
                   .Granularity(Granularities.All)
                   .Interval(timeslot.Start, timeslot.End)
                   .Aggregations(
                       new DoubleSumAggregator(BigBankCube.Metrics.Price, BigBankCube.Metrics.Price),
                       new LongSumAggregator(BigBankCube.Metrics.Count, BigBankCube.Metrics.Count))
                   .PostAggregations(new ArithmeticPostAggregator(
                                         BigBankCube.Metrics.AveragePrice,
                                         ArithmeticFunction.Divide,
                                         fields: new IPostAggregationSpec[]
            {
                new FieldAccessPostAggregator(BigBankCube.Metrics.Price, BigBankCube.Metrics.Price),
                new FieldAccessPostAggregator(BigBankCube.Metrics.Count, BigBankCube.Metrics.Count)
            })));
        }
示例#3
0
 public ExpressionLinqSpec(
     IFilterSpec <TParam, TEntity> filterSpec
     )
 {
     _filterSpec  = filterSpec;
     _sortingSpec = null;
 }
示例#4
0
 public ScanRequestData(string dataSource, IList <string> intervals, IFilterSpec filter, IContextSpec context, IEnumerable <string> columns, string resultFormat, int?limit, int?batchSize)
 {
     DataSource   = dataSource;
     Intervals    = intervals;
     Filter       = filter;
     Context      = context;
     Columns      = columns;
     Limit        = limit;
     ResultFormat = resultFormat;
     BatchSize    = batchSize;
 }
示例#5
0
 public TimeseriesRequestData(string dataSource, bool descending, object granularity, IList <string> intervals, IFilterSpec filter, IEnumerable <IAggregationSpec> aggregations, IEnumerable <IPostAggregationSpec> postAggregations, TimeseriesContextSpec context)
 {
     DataSource       = dataSource;
     Descending       = descending;
     Granularity      = granularity;
     Intervals        = intervals;
     Filter           = filter;
     Aggregations     = aggregations;
     PostAggregations = postAggregations;
     Context          = context;
 }
示例#6
0
 public SearchRequestData(string dataSource, object granularity, IList <string> intervals, IFilterSpec filter, SearchContextSpec context, IEnumerable <string> searchDimensions, int limit, ISearchQuerySpec query, SortSpec sort)
 {
     DataSource       = dataSource;
     Granularity      = granularity;
     Intervals        = intervals;
     Filter           = filter;
     Context          = context;
     SearchDimensions = searchDimensions;
     Limit            = limit;
     Query            = query;
     Sort             = sort;
 }
示例#7
0
 public SelectRequestData(string dataSource, object granularity, IList <string> intervals, IFilterSpec filter, IContextSpec context, IEnumerable <string> dimensions, IEnumerable <string> metrics, PagingSpec pagingSpec, bool descending)
 {
     DataSource  = dataSource;
     Granularity = granularity;
     Intervals   = intervals;
     Filter      = filter;
     Context     = context;
     Dimensions  = dimensions;
     Metrics     = metrics;
     PagingSpec  = pagingSpec;
     Descending  = descending;
 }
示例#8
0
 public GroupByRequestData(object dataSource, object granularity, IList <string> intervals, IFilterSpec filter, GroupByContextSpec context, IEnumerable <IDimensionSpec> dimensions, IEnumerable <IAggregationSpec> aggregations, IEnumerable <IPostAggregationSpec> postAggregations, ILimitSpec limitSpec, IHavingSpec havingSpec)
 {
     DataSource       = dataSource;
     Granularity      = granularity;
     Intervals        = intervals;
     Filter           = filter;
     Context          = context;
     Dimensions       = dimensions;
     Aggregations     = aggregations;
     PostAggregations = postAggregations;
     LimitSpec        = limitSpec;
     HavingSpec       = havingSpec;
 }
示例#9
0
 public TopNRequestData(string dataSource, IDimensionSpec dimension, ITopNMetricSpec metric, object granularity, long threshold, IList <string> intervals, IFilterSpec filter, IEnumerable <IAggregationSpec> aggregations, IEnumerable <IPostAggregationSpec> postAggregations, TopNContextSpec context)
 {
     DataSource       = dataSource;
     Dimension        = dimension;
     Metric           = metric;
     Granularity      = granularity;
     Threshold        = threshold;
     Intervals        = intervals;
     Filter           = filter;
     Aggregations     = aggregations;
     PostAggregations = postAggregations;
     Context          = context;
 }
示例#10
0
 public ScanRequestData(string dataSource, IEnumerable <ExpressionVirtualColumn> virtualColumns, IList <string> intervals, IFilterSpec filter, IContextSpec context,
                        IEnumerable <string> columns, string resultFormat, int?limit, int?offset, OrderByDirection?order, int?batchSize)
 {
     DataSource     = dataSource;
     VirtualColumns = virtualColumns;
     Intervals      = intervals;
     Filter         = filter;
     Context        = context;
     Columns        = columns;
     Limit          = limit;
     Offset         = offset;
     Order          = order;
     ResultFormat   = resultFormat;
     BatchSize      = batchSize;
 }
 public ITimeBoundaryQueryDescriptor Filter(IFilterSpec filterSpec)
 {
     FilterValue = filterSpec;
     return(this);
 }
示例#12
0
 public QueryFilterHavingSpec(IFilterSpec filter)
 {
     Filter = filter;
 }
示例#13
0
        public ITimeseriesQueryDescriptor Filter(IFilterSpec filterSpec)
        {
            FilterValue = filterSpec;

            return(this);
        }
示例#14
0
        public IGroupByQueryDescriptor Filter(IFilterSpec filterSpec)
        {
            FilterValue = filterSpec;

            return(this);
        }
示例#15
0
 public FilteredAggregator(IFilterSpec filter, IAggregationSpec aggregator)
 {
     Filter     = filter;
     Aggregator = aggregator;
 }
示例#16
0
 public NotFilter(IFilterSpec filter)
 {
     Field = filter;
 }
示例#17
0
        public ISelectQueryDescriptor Filter(IFilterSpec filterSpec)
        {
            FilterValue = filterSpec;

            return(this);
        }
示例#18
0
 public static ILinqSpec <TParam, TEntity> Filter <TParam>(IFilterSpec <TParam, TEntity> filterSpec)
     where TParam : IQriteria
 => new ExpressionLinqSpec <TEntity, TParam>(filterSpec);
示例#19
0
 public SpecLinqQuery(IFilterSpec <TParam, TEntity> filterSpec, ILinqRequestHandler handler, ILinqConvertor <TResponse> linqConvertor)
     : this(LinqSpec <TEntity> .Filter(filterSpec), handler, linqConvertor)
 {
 }