我正在使用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 = ?)
您可以将月份号返回到SSRS并使用表达式将其转换为月份名称,而不是在服务器上执行此操作。
表达式就是这样
=MonthName(Fields!SLMONTH.Value)
假设AS / 400返回月号1 - 12
我个人认为这是一个更好的方法,因为这意味着你有一个月号来排序。通常最好在报告中进行演示。
根据反馈进行编辑:执行此操作以在参数中使用..
=MONTHNAME(Fields!MonthID.Value)