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

问题描述 投票:0回答:1

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

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

SELECT DISTINCT SLMONTH, MONTHNAME(SLMONTH) AS Expr1
FROM            VEHICLE.VHTSALSUM
WHERE        (SLMGCD = ?) AND (SLMODLCD = ?) AND (SLMODLYR = ?) AND (SLYEAR = ?)
db2 ssrs-2008
1个回答
1
投票

您可以将月份号返回到SSRS并使用表达式将其转换为月份名称,而不是在服务器上执行此操作。

表达式就是这样

=MonthName(Fields!SLMONTH.Value)

假设AS / 400返回月号1 - 12

我个人认为这是一个更好的方法,因为这意味着你有一个月号来排序。通常最好在报告中进行演示。

根据反馈进行编辑:执行此操作以在参数中使用..

  1. 创建一个仅返回月份数的数据集。
  2. 右键单击数据集名称并转到属性
  3. 在“字段”选项卡上,添加一个名为MonthName的新字段
  4. 单击字段源的功能按钮,键入表达式=MONTHNAME(Fields!MonthID.Value)
  5. 然后,月份名称将直接在数据集中提供,以便在参数中使用
© www.soinside.com 2019 - 2024. All rights reserved.