[英]SSRS date sorting
我有一个日期想要显示为“月”然后“年”,例如“ Jan 05”。 我在查询中使用了以下SQL datename(month,eFolder.eCreationTime)+''datedate(year,eFolder.eCreationTime)作为“ MonthYear”。
但是在SSRS上,我发现很难按字母顺序将其按列分组进行排序。 无论如何,还是有问题要解决,还是问题在于上面提到的SQL的连接问题,我尝试在组级别和文本框中进行排序却没有成功。
先感谢您
这是sql在当下的样子
SELECT
case when SUBSTRING(eFolder.eFolderName,1,2) = 'IM' then 'Incidents'
when SUBSTRING(eFolder.eFolderName,1,2) = 'RF' then 'Requests'
else null end "Request or Incident",
count(eFolder.eFolderName) as "Log No",
eUser2.eDistinguishedName,
datename(month,eFolder.eCreationTime) + ' ' + datename(year,eFolder.eCreationTime) as "Month"
FROM
eUser eUser2 RIGHT OUTER JOIN prcIncidentManagement ON (eUser2.eUserName=prcIncidentManagement.AssignedTo)
INNER JOIN eFolder ON (prcIncidentManagement.EFOLDERID=eFolder.eFolderID)
group by
case when SUBSTRING(eFolder.eFolderName,1,2) = 'IM' then 'Incidents'
when SUBSTRING(eFolder.eFolderName,1,2) = 'RF' then 'Requests'
else null end ,
eUser2.eDistinguishedName,
datename(month,eFolder.eCreationTime) + ' ' + datename(year,eFolder.eCreationTime)
不要在SQL中进行字符串转换。 返回数据作为日期值,并在SSRS中进行字符串格式化。
日期不应该以文本形式存储(或检索)的众多原因之一。
我将其分组为几个月的原因是为了减少行数和时间。
您仍然可以按月将其分组而不将其转换为字符串。 只需返回代表该月的日期即可(例如2015-10-01
)
其他选项:
CDate
或DateTime.ParseExact()
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.