Хммм, я думаю, вам может понадобиться заменить 0. Проблема с добавлением, а не средним:
AVG(CASE WHEN [January-Margin] > 0 THEN [January-Margin] ELSE 0 END +
CASE WHEN [February-Margin] > 0 THEN [February-Margin] ELSE 0 END
) as [Margin-Average]
Если все равно 0
, тогда используйте NULLIF()
, чтобы игнорировать эти строки:
AVG(NULLIF(CASE WHEN [January-Margin] > 0 THEN [January-Margin] ELSE 0 END +
CASE WHEN [February-Margin] > 0 THEN [February-Margin] ELSE 0 END, 0
)
) as [Margin-Average]
Однако в вашем вопросе таких примеров нет.
РЕДАКТИРОВАТЬ:
Вы просто хотите это?
(AVG(NULLIF([January-Margin], 0) + AVG(NULLIF([February-Margin], 0))) / 2
Этовроде как среднее значение значений в двух столбцах, где значения не 0
.
Фактическое среднее будет:
(SUM(NULLIF([January-Margin], 0) + SUM(NULLIF([February-Margin], 0))) / (COUNT(NULLIF([January-Margin], 0)) + COUNT(NULLIF([February-Margin], 0)))