Kann ein Aggregatfeld über ein berechnetes Feld hinzugefügt werden?Aggregieren eines berechneten Felds in TClientDataset
Angenommen, es ist ein cds mit folgenden Feldern:
- ID (Autoincrement)
- (String)
- Preis (float)
- Menge (integer)
- Gesamt (integer) - berechnetes Feld - Preis * Menge
und ich möchte ein hinzufügen aggregieren, um die Summe der Gesamtspalte zu erhalten. Ist es möglich?
Was ist mit ['aggregierten Feldern'] (http://edn.embarcadero.com/article/29272)? Sie scheinen für diesen Zweck besser zu sein. – TLama
@TLama, natürlich können Sie ein Summenfeld mit SUM (Preis * Menge) machen, aber die Frage war, wie man ein Aggregat über ein berechnetes Feld macht. Dies funktioniert nur, wenn das berechnete Feld FieldKind = fkInternalCalc hat. –
Es ist hauptsächlich die Reihenfolge der Auswertung: InternalCalc Felder werden vor dem Aggregieren und Sortieren berechnet, so dass sie in Aggregaten und als Index verwendet werden können. Berechnete Felder werden danach ausgewertet. InternalCalc-Felder werden nur in TClientDataSets unterstützt. –