我有一个看起来像这样的表:
TYPE GROUP VALUE
----- ----- -----
0 0 10
0 0 60
0 1 20
1 0 30
1 1 40
1 1 10
我想要按 TYPE 和 TYPE;GROUP 的总计。在 TYPE & TYPE;GROUP 上创建索引。
object ClientDataSet1: TClientDataSet
IndexDefs = <
item
Name = 'ClientDataSet1Index1'
Fields = 'TYPE'
GroupingLevel = 1
end
item
Name = 'ClientDataSet1Index2'
Fields = 'TYPE;GROUP'
GroupingLevel = 2
end>
IndexName = 'ClientDataSet1Index1'
并创建了两个聚合
object ClientDataSet1: TClientDataSet
Aggregates = <
item
Active = True
AggregateName = 'Agg1'
Expression = 'SUM(VALUE)'
GroupingLevel = 1
IndexName = 'ClientDataSet1Index1'
end
item
Active = True
AggregateName = 'Agg2'
Expression = 'SUM(VALUE)'
GroupingLevel = 2
IndexName = 'ClientDataSet1Index2'
end>
AggregatesActive = True
Agg2 不会计算,因为 ClientDataset 索引设置为 ClientDataSet1Index1。如果 ClientDataset.IndexName = ClientDataSet1Index2, Agg2 可以工作,但 Agg1 不能 :( 它似乎不允许多个分组级别,因为我一次只能指定一个客户端数据集索引。
我错过了什么吗?
解决方法是克隆我的客户端数据集并在其中创建另一个聚合。有点不便。
[使用 D2006]
谢谢