SSRS 2019, суммирующая вычисленное выражение - PullRequest
0 голосов
/ 29 марта 2020

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

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

=IIf(sum(Fields!OrderCount.Value)>=50, "met target", "below target").

Мне нужно добавить итоги на уровне штата - сколько продавцов достигло своей цели, а сколько - нет. То есть, чтобы показать что-то вроде:

10 достиг цели + 1009 *

5 ниже цели

в общей группе состояний.

Как я могу это сделать?

Я прилагаю пример, основанный на моем отчете (я не могу опубликовать sh отчет).

Отчет

enter image description here

То, что мне нужно, выделено желтым. Для штата 04 у меня есть 3 продавца. 2 из них достигли своей цели, а 1 - нет.

=SUM(IIf(sum(Fields!OrderCount.Value)>=50, 1, 0)) & " met target"

дает мне 1 выполненную цель, а не 2.

отредактировано 1 апреля 2020 года

Алан, если я вас правильно понимаю, мне нужно определить, по какой области вычислить сумму.

Эта часть sum (Fields! OrderCount.Value, "stateGroup")> = 50 должен быть на уровне продавца. так что моя сфера деятельности "Продавец". Полное выражение содержится в общем количестве StateGroup.

= SUM (IIf (сумма (поля! OrderCount.Value, "Salesperson")> = 50, 1, 0)) & "достигнутая цель"

Но, когда я пытаюсь это сделать с любым именем области, я получаю следующее сообщение об ошибке: Выражение значения для TextBox 'A' указывает область, которая недопустима для вложенного агрегата. Область действия должна совпадать с именем области, указанной внешним агрегатом, или именем группы или области данных, содержащейся в области, указанной внешним агрегатом .

Итак, что я все еще делаешь неправильно?

1 Ответ

0 голосов
/ 29 марта 2020

Это не в моей голове, но я думаю, что будет работать следующее ..

=SUM(IIf(sum(Fields!OrderCount.Value)>=50, 1, 0)) & " met target"

и

=SUM(IIf(sum(Fields!OrderCount.Value)<50, , 0)) & " below target"

Обновление на основе замечаний OP

Если выражения находятся в другой области видимости, то необходимо указать область. Например, если ваши Штаты были сгруппированы в RowGroup с именем stateGroup, тогда выражение будет выглядеть примерно так:

=SUM(IIf(sum(Fields!OrderCount.Value, "stateGroup")>=50, 1, 0)) & " met target"
...