次の方法で共有


DataTable.Compute(String, String) メソッド

定義

フィルター基準を満たしている現在の行で指定した式を計算します。

public:
 System::Object ^ Compute(System::String ^ expression, System::String ^ filter);
public object Compute (string? expression, string? filter);
public object Compute (string expression, string filter);
member this.Compute : string * string -> obj
Public Function Compute (expression As String, filter As String) As Object

パラメーター

expression
String

計算する式。

filter
String

式で評価される行を制限するフィルター。

戻り値

計算の結果に設定された Object。 式が null に評価された場合、戻り値は Value です。

次の例では、識別番号が 5 の営業担当者の "Total" という名前の列の値を合計します。

private void ComputeBySalesSalesID(DataSet dataSet)
{
    // Presumes a DataTable named "Orders" that has a column named "Total."
    DataTable table;
    table = dataSet.Tables["Orders"];

    // Declare an object variable.
    object sumObject;
    sumObject = table.Compute("Sum(Total)", "EmpID = 5");
}
Private Sub ComputeBySalesSalesID(ByVal dataSet As DataSet)
    ' Presumes a DataTable named "Orders" that has a column named "Total."
    Dim table As DataTable
    table = dataSet.Tables("Orders")

    ' Declare an object variable.
    Dim sumObject As Object
    sumObject = table.Compute("Sum(Total)", "EmpID = 5")
 End Sub

注釈

パラメーターには expression 集計関数が必要です。 たとえば、次の式は有効な式です。

Count(Quantity)

ただし、この式は次のものではありません。

Sum (Quantity * UnitPrice)

2 つ以上の列に対して操作を実行する必要がある場合は、 を作成 DataColumnし、そのプロパティを Expression 適切な式に設定し、結果の列で集計式を使用する必要があります。 その場合は、"total" という名前の を DataColumn 指定し、 プロパティを Expression 次のように設定します。

"Quantity * UnitPrice"

メソッドの Compute expression 引数は次のようになります。

Sum(total)

2 番目のパラメーター である は、 filter式で使用される行を決定します。 たとえば、テーブルに "colDate" という名前の日付列が含まれている場合は、次の式で行を制限できます。

colDate > 1/1/99 AND colDate < 17/1/99

両方のパラメーターの式を作成する規則については、 プロパティを DataColumn.Expression 参照してください。

適用対象

こちらもご覧ください