Добавление функции «Предыдущий и следующий месяц» в календарь
Поэтому я пытаюсь создать отчет календаря в построителе отчетов на основе введенных дат начала и окончания. Исходя из этого, я хочу использовать кнопки ниже календаря под названием «Предыдущий месяц» и «Следующий месяц», который можно щелкнуть по кадру, или перейти к календарю предыдущего или следующего месяца на основе введенных дат начала и окончания. Я попытался сделать это с помощью суб-отчета (отчет вызывает себя с новыми значениями параметров), но после того, как одна кнопка вернется или перейдет вперед, она начнет уменьшаться или увеличиваться в год вместо месяца. Есть какой-либо способ сделать это? Я пытаюсь сделать этот предыдущий месяц / следующий месяц, чтобы работать так же, как в представлении месяца Micorsoft Outlook.
Заранее спасибо!
- Выражение для удаления возврата каретки в SSRS
- Перемещение только подписки с SSRS 2008 на SSRS 2012
- Как найти недопустимый символ Char в таблице SQL
- Результат SSRS отличается от результата SSMS тем же запросом
- Как получить данные из собственной таблицы ссылок в sql
- Отобразить имя столбца SQL как значение строки в SSRS-матрице
- Подводный отчет не может быть показан. Под-отчет работает отдельно - не с основным докладом
- Отправить отчет SSRS по электронной почте
- Сброс параметров SSRS при изменении параметра даты
- SQL find Клиенты, с которыми не удалось связаться за последние 45 дней
- Обновление каскадных параметров в отчете SSRS для выбора даты
- Нарушение отчета SSRS в зависимости от параметра Multi Value
- Как настроить SQL Azure Reporting?
Согласно MSDN , вы используете неправильный синтаксис в своих выражениях, что заставляет задуматься, как он вообще работает.
Ваш DateAdd должен использовать перечисление DateInterval, и я не уверен, почему вам даже нужно использовать DateSerial, но он должен иметь свои жестко заданные параметры в двойных кавычках.
Мне кажется, что это выражение должно работать для того, что вам нужно:
=dateadd(DateInterval.Month,-1,Parameters!start_cymd.Value)
Но это предполагает, согласно вашему комментарию, что пользователи могут выбирать только данные за полный месяц, поэтому параметр start_cymd всегда будет первым в этом месяце.
Получение конечной даты сложнее, потому что разные месяцы имеют разные даты окончания. Вот пример с той же страницы MSDN:
=DateSerial(Year(Parameters!start_cymd.Value), Month(Parameters!start_cymd.Value), "1").AddDays(-1)
Они должны получить дату начала и окончания предыдущего месяца. Переверните математику / логику, чтобы получить следующий месяц.