DataTable.Compute(String, String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вычисляет заданное выражение на текущих строках, которые передают критерии фильтра.
public:
System::Object ^ Compute(System::String ^ expression, System::String ^ filter);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members of types used in the filter or expression might be trimmed.")]
public object Compute(string? expression, string? filter);
public object Compute(string? expression, string? filter);
public object Compute(string expression, string filter);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members of types used in the filter or expression might be trimmed.")>]
member this.Compute : string * string -> obj
member this.Compute : string * string -> obj
Public Function Compute (expression As String, filter As String) As Object
Параметры
- expression
- String
Выражение для вычисления.
- filter
- String
Фильтр, ограничивающий строки, вычисляемые в выражении.
Возвращаемое значение
Значение Object, задается результатом вычисления. Если выражение оценивается как null, возвращаемое значение будет Value.
- Атрибуты
Примеры
В следующем примере суммируется значения столбца с именем 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)
Если необходимо выполнить операцию с двумя или более столбцами, необходимо создать DataColumnсвойство, задать его Expression свойство соответствующим выражением и использовать статистическое выражение в результирующем столбце. В этом случае присвойте свойству DataColumn имя total, а Expression для свойства задано следующее:
"Quantity * UnitPrice"
Затем аргумент выражения для Compute метода будет следующим:
Sum(total)
Второй параметр, filterопределяет, какие строки используются в выражении. Например, если таблица содержит столбец даты с именем colDate, можно ограничить строки следующим выражением:
colDate > 1/1/99 AND colDate < 17/1/99
Правила создания выражений для обоих параметров см. в свойстве DataColumn.Expression .