我正在使用SSRS从查询中创建一个数据集,该查询在AS400中具有一个列,该列具有我根据条件获得的月份号。我能够获得月份号。但是当我尝试获取月份名称时,SSRS不接受查询。但是,如果我在AS400上运行相同的查询,则查询成功运行
为了测试我的查询,我使用MONTHNAME(MONTH)在AS400中运行了它,但是它成功运行,但是SSRS不接受与正确的查询相同的查询。下面是我的查询。
SELECT DISTINCT SLMONTH, MONTHNAME(SLMONTH) AS Expr1
FROM VEHICLE.VHTSALSUM
WHERE (SLMGCD = ?) AND (SLMODLCD = ?) AND (SLMODLYR = ?) AND (SLYEAR = ?)
答案 0 :(得分:1)
您可以将月份号返回到SSRS,然后使用表达式将其转换为那里的月份名称,而不是在服务器上执行此操作。
表达式就是
=MonthName(Fields!SLMONTH.Value)
这假定AS / 400返回1到12的月份数字
就我个人而言,无论如何我认为这是一种更好的方法,因为这意味着您可以对月份进行排序。通常最好在报告中进行演示。
根据反馈进行编辑: 为此,请在参数中使用。
=MONTHNAME(Fields!MonthID.Value)