DataTable.Compute メソッド
フィルタ基準を満たしている現在の行で指定した式を計算します。
Public Function Compute( _
ByVal expression As String, _ ByVal filter As String _) As Object
[C#]
public object Compute(stringexpression,stringfilter);
[C++]
public: Object* Compute(String* expression,String* filter);
[JScript]
public function Compute(
expression : String,filter : String) : Object;
パラメータ
- expression
計算する式。 - filter
式で評価される行を制限するフィルタ。
戻り値
計算の結果に設定された Object 。
解説
expression パラメータには集約関数が必要です。たとえば、次の式は有効です。
Count(Quantity)
次の式は無効です。
Sum (Quantity * UnitPrice)
2 つ以上の列で操作を実行する必要がある場合は、 DataColumn を作成し、この列の Expression プロパティを適切な式に設定し、結果の列で集約式を使用します。この場合は、 DataColumn が "total" という名前で、 Expression プロパティが次のように設定されているとします。
"Quantity * UnitPrice"
Compute メソッドの式の引数は次のようになります。
Sum(total)
2 番目のパラメータ filter は、式で使用する行を指定します。たとえば、テーブルに "colDate" という名前の日付列がある場合は、次の式で行を制限できます。
colDate > 1/1/99 AND colDate < 17/1/99
両方のパラメータの式を作成するときの規則については、 DataColumn クラスの Expression プロパティのトピックを参照してください。
使用例
[Visual Basic, C#, C++] 識別番号 5 が割り当てられた営業担当者の、"Total" という名前の列の値を合計する例を次に示します。
Private Sub ComputeBySalesSalesID(ByVal myDataSet As DataSet)
' Presumes a DataTable named "Orders" that has a column named "Total."
Dim myTable As DataTable
myTable = myDataSet.Tables("Orders")
' Declare an object variable.
Dim objSum As Object
objSum = myTable.Compute("Sum(Total)", "EmpID = 5")
End Sub
[C#]
private void ComputeBySalesSalesID(DataSet myDataSet){
// Presumes a DataTable named "Orders" that has a column named "Total."
DataTable myTable;
myTable = myDataSet.Tables["Orders"];
// Declare an object variable.
object objSum;
objSum = myTable.Compute("Sum(Total)", "EmpID = 5");
}
[C++]
private:
void ComputeBySalesSalesID(DataSet* myDataSet){
// Presumes a DataTable named "Orders" that has a column named "Total."
DataTable* myTable;
myTable = myDataSet->Tables->Item[S"Orders"];
// Declare an object variable.
Object* objSum;
objSum = myTable->Compute(S"Sum(Total)", S"EmpID = 5");
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
参照
DataTable クラス | DataTable メンバ | System.Data 名前空間 | Expression