SSRS - 连接到 IBM-DB2(AS400) 时如何从整数值获取月份名称

SSRS -How to get month name from integer value when connecting to IBM-DB2(AS400)

我正在使用 SSRS 从一个查询创建一个数据集,该查询在 AS400 中有一个列,其中包含我根据条件获得的月份编号。我能够获得月份编号。但是当我尝试获取月份名称时,SSRS 不接受查询。但是,如果我 运行 在 AS400 上进行相同的查询,则查询成功 运行s

为了测试我的查询,我 运行 在 AS400 中使用 MONTHNAME(MONTH) 它 运行 成功,但是 SSRS 不接受与 correct.Below 相同的查询是我的查询。

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

无需在服务器上执行此操作,您可以 return SSRS 的月份编号并使用表达式将其转换为月份名称。

表达式就是

=MonthName(Fields!SLMONTH.Value)

这假设 AS/400 return 的月份数为 1 - 12

我个人认为无论如何这是一种更好的方法,因为这意味着您可以根据月份编号进行排序。通常最好在报告中进行演示。

根据反馈编辑: 这样做是为了在参数中使用..

  1. 创建一个数据集,return只是您的月份数字。
  2. 右键单击数据集名称并转到属性
  3. 在“字段”选项卡上,添加一个名为 MonthName 的新字段,例如
  4. 单击字段源的函数按钮键入表达式 =MONTHNAME(Fields!MonthID.Value)
  5. 然后月份名称将直接在您的数据集中可用,以用于您的参数