Reporting Services-количество значений столбцов, Если равно A

у меня есть набор данных под названием "dsAllStuTargetData" - я пытаюсь подсчитать количество значений "A", которые появляются в столбце "Target".

Я делаю это с помощью текстового поля с выражением, я могу подсчитать общее количество значений, используя следующее:

=Count(Fields!Target.Value, "dsAllStuTargetData")

однако, когда я пытаюсь подсчитать, где значение равно "A", это не работает.

=Count(IIF(Fields!Target.Value, "dsAllStuTargetData")="A",1,0)

2 ответов


для этого случая вам нужно Sum, а не Count, то есть что-то вроде:

=Sum(IIf(Fields!Target.Value = "A", 1, 0), "dsAllStuTargetData")

Count будет просто подсчитывать количество строк;IIf ничего там не делает - что-то вроде CountDistinct могут быть затронуты в некоторых случаях, но это не будет работать здесь.

, Sum будет принимать общее количество всех строк, которые соответствуют IIf условие, т. е. сумма всех 1 значения в наборе данных, которые вы ищете.

IIF хочет, чтобы это были аргументы в формате:

IIF(condition, true part, false part)

что приравнивается к чему-то вроде

Count(IIF(Fields!Target.Value = "A",1,0),"dsAllStuTargetData")

это работает?