DataTable.Compute(String, String) 메서드


필터 조건을 전달 하는 현재 행에서 지정된 된 식을 계산 합니다.Computes the given expression on the current rows that pass the filter criteria.

 System::Object ^ Compute(System::String ^ expression, System::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

매개 변수


식 계산입니다.The expression to compute.


필터 식에서 계산 하는 행 제한입니다.The filter to limit the rows that evaluate in the expression.


계산 결과로 설정된 Object를 반환합니다.An Object, set to the result of the computation. 식이 null로 평가되는 경우 반환 값은 Value가 됩니다.If the expression evaluates to null, the return value will be Value.


다음 예제에서는 해당 id 번호는 5 개 판매 직원에 대 한 "Total" 이라는 열 값을 합산 합니다.The following example sums the values of a column named "Total", for the salesperson whose identification number is five.

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 매개 변수에는 집계 함수가 필요 합니다.The expression parameter requires an aggregate function. 예를 들어, 다음은 올바른 식입니다.For example, the following is a legal expression:


하지만이 식이 아닙니다.But this expression is not:

Sum (Quantity * UnitPrice)

둘 이상의 열에 대해 작업을 수행 해야 하는 경우 DataColumn를 만들고 해당 Expression 속성을 적절 한 식으로 설정한 다음 결과 열에서 집계 식을 사용 해야 합니다.If you must perform an operation on two or more columns, you should create a DataColumn, set its Expression property to an appropriate expression, and use an aggregate expression on the resulting column. 이 경우 "total" 라는 이름의 DataColumn 지정 되 고 Expression 속성은 다음과 같이 설정 됩니다.In that case, given a DataColumn with the name "total", and the Expression property set to this:

"Quantity * UnitPrice"

Compute 메서드에 대 한 식 인수는 다음과 같습니다.The expression argument for the Compute method would then be this:


두 번째 매개 변수인 filter은 식에 사용 되는 행을 결정 합니다.The second parameter, filter, determines which rows are used in the expression. 예를 들어, 테이블 "colDate" 라는 날짜 열에 있으면 다음 식 사용 하 여 행을 제한할 수 있습니다.For example, if the table contains a date column named "colDate", you could limit the rows with the following expression:

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

두 매개 변수에 대 한 식을 만드는 규칙은 DataColumn.Expression 속성을 참조 하세요.For rules on creating expressions for both parameters, see the DataColumn.Expression property.

적용 대상

추가 정보