#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
/* предыдущее значение ячейки, чтобы отобразить его как первый месяц */
Результат будет выглядеть так, как показано на рисунке ниже