Example #1
0
 public void Aggregate(IOlapDataVector dataVector)
 {
     if (AggregatePred(dataVector))
     {
         AggregateValue(dataVector);
     }
 }
Example #2
0
        IGroup IGroupBuilder.Build(IOlapDataVector dataVector)
        {
            IComparable groupKey  = KeySelector(dataVector);
            string      groupName = NameSelector(dataVector);
            string      totalName = TotalSelector == null ? "" : TotalSelector(dataVector);

            return(new PivotBaseGroup.Group(groupKey, groupName, ShowTotal, totalName));
        }
Example #3
0
 protected V GetDataVectorValue <V>(IOlapDataVector dataVector)
 {
     if (ValueSelector == null)
     {
         throw new ArgumentNullException("Value selector should be specified for aggregator of type:" + GetType());
     }
     return(Cast <V>(ValueSelector(dataVector)));
 }
Example #4
0
        internal void Process(IOlapDataVector dataVector, IEnumerable <IGroup> groupList)
        {
            Aggregators.ForEach(a => a.Aggregate(dataVector));
            var group = groupList.FirstOrDefault();

            if (group == null)
            {
                return;
            }
            GetOrCreateGroup(group).Process(dataVector, groupList.Skip(1));
        }
Example #5
0
 protected override void AggregateValue(IOlapDataVector dataVector)
 {
     if (!_first)
     {
         _first = true;
         ValueT = GetDataVectorValue <T>(dataVector);
     }
     else
     if (Greater(GetDataVectorValue <T>(dataVector), ValueT))
     {
         ValueT = GetDataVectorValue <T>(dataVector);
     }
 }
Example #6
0
 protected override void AggregateValue(IOlapDataVector dataVector)
 {
     ValueT = Add(ValueT, Cast <T>(1));
 }
Example #7
0
 IEnumerable <IGroup> ResolveGroups(IOlapDataVector dataVector)
 {
     return(GroupBuilders.Select(groupBuilder => groupBuilder.Build(dataVector)));
 }
Example #8
0
 protected override void AggregateValue(IOlapDataVector dataVector)
 {
     ValueT = Add(ValueT, GetDataVectorValue <T>(dataVector));
 }
Example #9
0
 protected override void AggregateValue(IOlapDataVector dataVector)
 {
     Sum = Add(Sum, GetDataVectorValue <T>(dataVector));
     Count++;
     ValueT = Divide(Sum, Cast <T>(Count));
 }
Example #10
0
 protected abstract void AggregateValue(IOlapDataVector dataVector);