суммировать и считать путаницу - PullRequest
0 голосов
/ 07 ноября 2011

Я не могу понять разницу между количеством и суммой

Я пытаюсь получить количество строк для определенного условия моего отчета, и всегда я получаю 0, используя количество или сумму

columnA columnB
0       my string  
0       none
0       my string  
0       none
1       none

= IIF((Fields!columnA.Value = "0" and Fields!columnB.Value = "none"), SUM(Fields!columnA .Value),0)

Я хочу получить 2 в результате Я не вижу свою ошибку

Ответы [ 2 ]

1 голос
/ 07 ноября 2011

SUM () возвращает сумму значений в этом поле, а count возвращает количество ненулевых значений.

Таким образом, в приведенном вами примере =SUM(Fields!columnA.value) должен возвращать 0, а =COUNT(Fields!columnA.value) должен возвращать 5. [Но ваш оператор IIF звучит так, как если бы он находился в месте, где область видимости - это одна строка, поэтому счетчик и сумма будет применяться только к этой строке. Если вы хотите охватить выражение для всей группы, добавьте в свою статистическую функцию параметр области, например COUNT(Fields!columnA.value, "MyDataSetName")]

Поскольку вы не видите этот результат, есть несколько вещей, которые вы можете проверить:

  • Вы действительно получаете 0 для вашего запроса, или возможно, что вы получаете нулевое значение обратно?
  • Используете ли вы это выражение где-то, где сфера соответствует тому, что вы ожидаете? Это если вы хотите, чтобы он подсчитал все строки в вашем наборе данных вы используете его в верхней Уровень текстового поля или группы всего?

Кроме того, упростите отладку: поместите отдельные компоненты вашего оператора IIF в разные ячейки, чтобы вы могли проверить, соответствуют ли значения тому, что, по вашему мнению, должно происходить.

0 голосов
/ 07 ноября 2011

Вы должны использовать COUNT. SUM из 0 + 0 для столбца A вернет вам 0. COUNT вернет вам количество подходящих записей. Если COUNT не работает, значит что-то не так с вашей группой (агрегатом) или условием фильтрации, соответствующим данным.

...