FireDAC.Comp.DataSet.TFDAggregate.Expression
Delphi
property Expression: String read FExpression write SetExpression;
C++
__property System::UnicodeString Expression = {read=FExpression, write=SetExpression};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | published | FireDAC.Comp.DataSet.pas FireDAC.Comp.DataSet.hpp |
FireDAC.Comp.DataSet | TFDAggregate |
説明
計算される式を指定します。
Expression プロパティを使用すると、式のテキストを指定できます。式には集計関数が含まれている必要があります。そうでなければ、例外が発生します。以下の集計関数がサポートされています。
関数 |
説明 |
---|---|
|
引数値を合計します。 |
|
最小の引数値を返します。 |
|
最大の引数値を返します。 |
|
引数の平均値を計算します。これは、すべての値の合計を NULL でない値の総数で除算したものです。 |
|
引数が指定された場合は、NULL でない引数値の総数を返します。そうでない場合は、レコードの総数を返します。 |
|
最初の引数値を返します。 |
|
最後の引数値を返します。 |
集計関数はフィールド値または式に対して実行されます。式は、FireDAC の標準の式構文を使ってフィールド値、定数、スカラ関数呼び出しから構成されます。ただし、以下のようにいくつかの制限事項が適用されます。
メモ:
- 式を作成するには、集計値と他の集計値または定数に対して演算子を使用します。
- 集計値とフィールド値を組み合わせることはできません。そのような式は、フィールド値がどのレコードからのものかを示すものがなく、あいまいさがあるからです。
- 集計関数をネストすることはできません。
式は FireDAC により自動的に評価され、その結果は Value プロパティに割り当てられます。計算はすべて、レコードの現在のグループに対して実行されます。GroupingLevel を使用すると、そのグループ分けを指定できます。
例
// count number of records with Discount > 0
FDQuery1.Aggregates[0].Expression := 'COUNT(IIF(Discount > 0, 1, NULL))';
// OK
FDQuery1.Aggregates[0].Expression := 'COUNT(*) * 5';
// INVALID - cannot combine aggregating function with field
FDQuery1.Aggregates[0].Expression := 'AVG(Discount) * Amount';