Усреднение столбцов в таблице - игнорирование определенных столбцов - PullRequest
1 голос
/ 21 февраля 2011

У меня следующий код, который успешно делает среднее для всех столбцов таблицы.Что мне нужно сделать, так это игнорировать некоторые столбцы в этом уравнении.

Dim totalNumber as Double = 0
Dim count as Integer = 0

For x = 0 To xyz123.Tables(0).Columns.Count - 1
  Dim current as Double = 0
  If Double.TryParse(xyz123.Tables(0).Rows(0)(x).ToString(), current) AndAlso current <> 0 Then
    count += 1
    totalNumber += current
  End If
Next

Dim averageRating as Double = totalNumber / count

Ответы [ 2 ]

1 голос
/ 22 февраля 2011

Используя ваш исходный код, вы можете попробовать это

Dim totalNumber as Double = 0
Dim count as Integer = 0

For x = 0 To xyz123.Tables(0).Columns.Count - 1

Dim current as Double = 0

If Double.TryParse(xyz123.Tables(0).Rows(0)(x).ToString(), current) AndAlso current <> 0 AndAlso x <> 13 AndAlso x <> 1 Then
    count += 1
    totalNumber += current
End If
Next

Dim averageRating as Double = totalNumber / count

В приведенном выше примере это будет игнорировать столбцы 14 и 2 в среднем

Надеюсь, это поможет

0 голосов
/ 22 февраля 2011

Если вы хотите исключить определенные столбцы по имени, например столбцы с именем «погода», то проверьте Columns (x). Имя столбца в вашем коде:

Dim totalNumber as Double = 0
Dim count as Integer = 0

For x = 0 To xyz123.Tables(0).Columns.Count - 1

    If Not xyz123.Tables(0).Columns(x).ColumnName="weather" Then
          Dim current as Double = 0
          'etc
...