我正在使用Visual Studio 2012进行SSRS,而我的查询来自使用Microsoft SQL Server 2012。
我的问题属于SSRS和排序。
在我的Tablix中,我目前将行组设置为组 - >经理 - >所有者 - >状态描述,当它从数据集中的数据中提取数据时,它会正常运行。在Tablix中,基本上所有内容都是向下钻取,并且每个行组(组除外)最初都是隐藏的,并且可以由前面的报表项显示/切换。在“状态描述”部分中,当它拉入记录时,它会将它们拉入“活动”,“已完成”,“正在处理...”这很好,因为它们正在拉入ABC订单。
但是我想以特定文件进行过程的方式显示特定列,当它以Active,In Process,Completed ...的形式拉入时。这些只是数据可以拉动它的3种特定方式,还有更多,但这些是最常见的。如何按照我上面提到的方式对单个列进行排序,或者根据我希望的方式自定义排序?
答案 0 :(得分:2)
您可以在排序顺序中使用表达式来完全按照您的喜好进行排序。
您可以使用SWITCH语句按您想要的顺序对输出进行编号。例如,我有3种状态:"完成","保持"和" Word at Risk"。通常他们会排序为升序或降序......但如果我在排序顺序公式中输入这个,我可以改变它:
=SWITCH(
Fields!PRS_STATUS.Value = "Complete", 1,
Fields!PRS_STATUS.Value = "Word at Risk", 2 ,
Fields!PRS_STATUS.Value = "On Hold", 3)
现在它命令1,2,3又称完成,工作风险,暂停。
您可以将此开关置于更大的switch语句中,以根据条件或参数生成多个排序顺序。