CAFE

[ Asp.Net2.0 ]

[DataSet]DataTable에서 필터조건에 해당되는 행에 대한 계산

작성자獨先生|작성시간07.08.27|조회수438 목록 댓글 0

DataTable.Compute 메서드

필터 조건을 전달하는 현재 행에서 지정된 식을 계산합니다.

 

public object Compute
(
   string expression‎,  // 계산할 식
   string filter   // 식에서 계산하는 행을 제한할 필터
);

 

*반환 값 : 계산 결과로 설정된 Object를 반환

 

expression‎ 매개 변수에는 집계 함수가 필요합니다. 예를 들어, 다음은 올바른 식입니다.

 

Count(Quantity)

 

그러나 다음은 잘못된 식입니다.

 

Sum (Quantity * UnitPrice)

 

두 개 이상의 열에서 작업을 수행해야 하는 경우, DataColumn을 만들고 해당 Expression‎ 속성을 적절한 식으로 설정한 다음 결과 열에 집계식을 사용해야 합니다.


예를 들어, DataColumn의 이름이 "total"이고 Expression‎ 속성이 다음과 같이 설정된 것으로 가정합니다.

 

"Quantity * UnitPrice"

 

이러한 경우 Compute 메서드에 대한 식 인수는 다음과 같습니다.

 

Sum(total)

 

두 번째 매개 변수 filter 는 식에서 사용될 행을 결정합니다.
예를 들어, 테이블에 "colDate"라는 이름의 날짜 열이 있으면 다음 식을 사용하여 행을 제한할 수 있습니다.

 

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

 

두 매개 변수에 대한 식을 만드는 규칙에 대한 자세한 내용은 DataColumn 클래스의 Expression‎ 속성을 참조하십시오.


다음 예제에서는 ID 번호가 5인 판매 사원에 대해 "Total" 열 값의 합계를 구합니다.

 

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");
 }

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼