SSRS -Как получить имя месяца из целочисленного значения при подключении к IBM-DB2 (AS400) - PullRequest
0 голосов
/ 12 февраля 2019

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

Чтобы проверить свой запрос, я запустил его в AS400 с помощью MONTHNAME (MONTH), который он запускаетоднако SSRS не принимает тот же запрос, что и правильный. Ниже мой запрос.

SELECT DISTINCT SLMONTH, MONTHNAME(SLMONTH) AS Expr1
FROM            VEHICLE.VHTSALSUM
WHERE        (SLMGCD = ?) AND (SLMODLCD = ?) AND (SLMODLYR = ?) AND (SLYEAR = ?)

1 Ответ

0 голосов
/ 12 февраля 2019

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

Выражение будет просто

=MonthName(Fields!SLMONTH.Value)

Это предполагает, что AS / 400 возвращает номера месяцев 1 - 12

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

Редактировать на основе обратной связи: Чтобы сделать это для использования в параметре ..

  1. Создатьнабор данных, который возвращает только ваши номера месяцев.
  2. Щелкните правой кнопкой мыши имя набора данных и перейдите к свойствам
  3. На вкладке Поля добавьте новое поле с именем MonthName, например
  4. Нажмите функциональную кнопку для типа источника полявыражение =MONTHNAME(Fields!MonthID.Value)
  5. Имя месяца будет доступно непосредственно в вашем наборе данных для использования в параметре
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...