Обратная Сортировка Месяцев В SSRS и Расчет Дисперсии

#sql-server #reporting-services

Вопрос:

Я довольно новичок в SSRS и борюсь с тем, как я могу этого достичь.

В основном мне нужно рассчитать разницу между двумя месяцами, и я достиг этого с помощью функции PREVIOUS (). Похоже на другого человека, который опубликовал это на другом форуме.

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

Тем не менее, пользователь вернулся и хотел отсортировать месяцы по убыванию, как в примере, показанном ниже. Есть ли способ сделать это в SSRS? Поскольку я понял, что столбец «предыдущий» теперь относится к будущему месяцу, и все расчеты теперь неверны.

Я пробовал ПОИСК в SSR, используя ПЛОТНЫЙ sql, и все, похоже, не работает.

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

Комментарии:

1. Не могли бы вы предоставить нам обширную выборку базовых данных, предпочтительно в форме, доступной для непосредственного использования? Кроме того, какую версию SQL Server вы используете?

Ответ №1:

Вы можете использовать следующий обходной путь

Сортировка по месяцам в порядке убывания.

Добавьте столбец «Итого».

Скрыть столбцы за последний месяц.

Март будет отображаться в феврале, Февраль-в январе и январь в столбцах «Всего».

В столбце «Итого» вы будете использовать выражения для отображения января.

Ваш дизайн будет выглядеть как цветной табликс

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

Выражения будут такими, как показано ниже

оранжевый: =Previous(SUM(Fields!val.Value), "month2") /* предыдущее значение для отображения его как текущего */

желтый: =Sum(Fields!val.Value) /* текущее значение, чтобы отобразить его как предыдущее */

зеленый: =First(Fields!month.Value) /* Первый месяц набора данных */

голубой: =ReportItems!val2.value /* предыдущее значение ячейки, чтобы отобразить его как первый месяц */

Результат будет выглядеть так, как показано на рисунке ниже

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