Во-первых, функция VALUE
ожидает строку. Он преобразует строки типа "123"
в целое число 123
, поэтому давайте не будем его использовать.
Самый простой подход - использовать функцию итератора, такую как COUNTX
.
CountNonBlank = COUNTX(Table3, IF(Table3[Values] > 20, 1, BLANK()))
Обратите внимание, что нам здесь не нужен отдельный регистр для BLANK()
(ноль), поскольку BLANK() > 20
оценивается как False
.
Есть множество других способов сделать это. Другое решение итератора будет:
CountNonBlank = COUNTROWS(FILTER(Table3, Table3[Values] > 20))
Вы можете использовать тот же FILTER
внутри CALCULATE
, но это немного менее элегантно.
CountNonBlank = CALCULATE(COUNT(Table3[Values]), FILTER(Table3, Table3[Values] > 20))
Редактировать
Я не рекомендую CALCULATE
версию. Если у вас есть больше столбцов с большим количеством условий, просто добавьте их в FILTER
. Э.Г.
CountNonBlank =
COUNTROWS(
FILTER(Table3,
Table3[Values] > 20
&& Table3[Text] = "xyz"
&& Table3[Number] <> 0
&& Table3[Date] <= DATE(2018, 12, 31)
)
)
Вы также можете сделать логику ИЛИ с помощью ||
вместо &&
для AND.