Показать итог из группы столбцов в виде строки

Я пытаюсь получить строку с итоговой суммой для группы столбцов с помощью SSRS. Это мой отчет:

+-----------+---------------------------+--------------------------+--------------+
|           |        John Doe           |       Brody Shaffer      | Kerry Morrow |
+-----------+-------------+-------------+-------------+------------+--------------+
|    Date   |  Project 1  |   Project 2 |  Project 3  | Project 5  |   Project 4  |
|  1/1/2020 |  $ 2.512,20 |  $ 3.230,00 |         $ 0 |        $ 0 |    $ 200,00  |
|  2/1/2020 |         $ 0 |         $ 0 | $ 35.504,00 | $ 5.200,30 |  $ 3.400,00  |
|  5/1/2020 |  $ 6.640,90 |    $ 987,00 |  $ 1.879,00 |        $ 0 |         $ 0  |
| 15/1/2020 |    $ 650,50 |         $ 0 |         $ 0 |        $ 0 |         $ 0  |
.
.
.

Я хочу эту строку:

.
.
.
+-----------+-------------+-------------+-------------+------------+--------------+
| Total     |       $ 14.020,6          |        $ 42.583,3        |  $ 3.600,00  | 
+-----------+---------------------------+--------------------------+--------------+

Пример строк:

+---------------+-----------+-----------+-------------+
|   Customer    |    Date   | Project   |    Budget   |
+---------------+-----------+-----------+-------------+
|   John Doe    |  1/1/2020 | Project 1 |  $ 2.512,20 |
|   John Doe    |  1/1/2020 | Project 2 |  $ 3.230,00 |
|   John Doe    |  5/1/2020 | Project 1 |  $ 6.640,90 |
|   John Doe    |  5/1/2020 | Project 2 |    $ 987,00 |
|   John Doe    | 15/1/2020 | Project 1 |    $ 650,50 |
| Brody Shaffer |  2/1/2020 | Project 3 | $ 35.504,50 |
| Brody Shaffer |  2/1/2020 | Project 5 |  $ 5.200,30 |
| Brody Shaffer |  5/1/2020 | Project 3 |  $ 1.879,00 |
| Kerry Morrow  |  1/1/2020 | Project 4 |    $ 200,00 |
| Kerry Morrow  |  2/1/2020 | Project 4 |  $ 3.400,00 |
+---------------+-----------+-----------+-------------+

Это моя группа строк:

Date

Это моя группа столбцов:

Customer
  Project

Когда я добавляю «итого» для «Группы клиентов», Visual Studio добавляет новый столбец, но мне нужна новая строка с итоговыми данными.

Это возможно?


person Pythonizo    schedule 28.01.2020    source источник


Ответы (2)


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

Есть два способа сделать это.

Вариант 1. Это самый простой вариант, но он означает, что итоговые значения отображаются между именем клиента и названием проекта. Для этого просто щелкните правой кнопкой мыши ячейку «Имя клиента» и выполните команду «Вставить строку => Внутренняя строка — ниже». Установить выражение просто на

=Sum(Fields!Budget.Value)

Вариант 2: немного больше работы, но вы приближаетесь к желаемому результату.

Сначала щелкните правой кнопкой мыши ячейку в строке сведений и выполните «Вставить строку => Внешняя группа — Ниже». В новой строке установите выражение ячейки на

=Sum(Fields!Budget.Value, "Customer")

Мы включаем область "Клиент", поэтому все значения в группе столбцов клиентов суммируются. Если вы опустите эту область, она будет суммироваться только в рамках каждого проекта.

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

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

=IIF(
    FIRST(Fields!Project.Value) = FIRST(Fields!Project.Value, "Customer"),
    Sum(Fields!Budget.Value, "Customer"),
    Nothing
    )

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

В свойствах ячейки оставьте BorderStyle - Default как «Сплошной», но измените BorderStyle - Left на «Нет». Затем задайте для свойства BorderStyle - Right следующее выражение.

=IIF(
    FIRST(Fields!Project.Value) = FIRST(Fields!Project.Value, "Customer"),
    "None",
    "Solid"
    )

Это проверяет, соответствует ли проект первому проекту в клиенте (то есть левому столбцу), и соответствующим образом устанавливает стиль границы.

Окончательный вывод должен быть таким, как вы хотите, за исключением того, что значение бюджета суммы будет выглядеть смещенным влево.

Я не уверен, что есть лучшее решение, хотя...

Вот окончательный дизайн и результат с показанными вариантами 1 и 2.

Представление «Дизайн»

введите здесь описание изображения

Вывод

введите здесь описание изображения

person Alan Schofield    schedule 28.01.2020

В нижней части Visual Studio должна быть разбивка вашей матрицы на «Группы строк» ​​и «Группы столбцов». Выберите свою матрицу, и она должна заполниться соответствующими группами в вашей матрице. Щелкните правой кнопкой мыши запись, в которой вы хотите получить итог, в разделе «Группы строк» ​​и выберите параметр «Добавить итог», после чего вам просто нужно выбрать, хотите ли вы, чтобы итоговая строка была до или после ваших данных.

Итого по строке

person papermoon88    schedule 28.01.2020