Hallo,
komme erst heute zum Antworten.
Inzwischen hat mir der DevExpress Support weiter helfen können.
Die Anzahl der Kunden zu den Branchen muss berechnet werden. Das mache ich in einem neuen ClientDataSet. Das Ergebnis ist ein Integer und lässt sich dann auch der Serie zuordnen.
Die Berechenung sieht so aus:
Delphi-Quellcode:
function TForm1.GetValuesCount(const AFieldName: string): Integer;
var
AField: TField;
begin
Result := 0;
AField := ClientDataSet2.Fields.FindField(AFieldName);
if not ClientDataSet2.Active or (AField = nil) then Exit;
ClientDataSet2.DisableControls;
ClientDataSet2.First;
while not ClientDataSet2.Eof do
begin
if not VarIsNull(AField.Value) then
Inc(Result);
ClientDataSet2.Next;
end;
ClientDataSet2.EnableControls;
end;
procedure TForm1.ClientDataSet1CalcFields(DataSet: TDataSet);
begin
DataSet.FieldByName('Value').AsInteger := GetValuesCount((DataSet.FieldByName('Category') as TStringField).AsString);
end;
procedure TForm1.ClientDataSet2AfterPost(DataSet: TDataSet);
begin
// refresh calculated field
ClientDataSet1.Close;
ClientDataSet1.Open;
end;
Danke für deine Unterstützung!