Reporting services SSRS-根据参数值对报表列进行排序

Reporting services SSRS-根据参数值对报表列进行排序,reporting-services,Reporting Services,我需要根据输入的日期参数对列进行排序,首先是上一年的月份,然后增加到输入的日期,期限为12个月。例如,输入的参数值'03/31/2018',它将首先显示'Apr 2017',然后显示'May 2017',…依此类推,最后一列为'Mar 2018'`。谢谢大家! 首先,下次一定要发布你迄今为止尝试过的内容以及为什么不起作用。这样,人们会看到你在这方面付出了一些努力,他们会很乐意帮助你 然后转到Tablix属性>排序>添加并使用排序表达式: =CDate(Fields!YourDate.Value)

我需要根据输入的日期参数对列进行排序,首先是上一年的月份,然后增加到输入的日期,期限为12个月。例如,输入的参数值
'03/31/2018'
,它将首先显示
'Apr 2017'
,然后显示
'May 2017'
,…依此类推,最后一列为'Mar 2018'`。谢谢大家!

首先,下次一定要发布你迄今为止尝试过的内容以及为什么不起作用。这样,人们会看到你在这方面付出了一些努力,他们会很乐意帮助你

然后转到Tablix属性>排序>添加并使用排序表达式:

=CDate(Fields!YourDate.Value)
然后转到Tablix属性>过滤器>添加并添加以下两个过滤器:

'Expression1
=DateSerial(Year(DateAdd("yyyy", -1, CDate(Parameters!YourParameter.Value))), Month(CDate(Parameters!YourParameter.Value)), "1").AddMonths(1)

'Format1
=Date/Time

'Operator1
>

'Value1
=CDate(Fields!YourDate.Value)
第二个过滤器:

'Expression2
=DateSerial(Year(DateAdd("yyyy", -1, CDate(Parameters!YourParameter.Value))), Month(CDate(CDate(Parameters!YourParameter.Value))), "1").AddMonths(13)

'Format2
=Date/Time

'Operator2
<

'Value2
=CDate(Fields!YourDate.Value)
”表达式2
=DateSerial(年(DateAdd(“yyyy”),-1,CDate(Parameters!YourParameter.Value))),月(CDate(CDate(Parameters!YourParameter.Value)),“1”).AddMonths(13)
'格式2
=日期/时间
“操作员2
<
“价值2
=CDate(字段!YourDate.Value)

我修改了我的数据集,增加了一个字段“IndexColumn”,该字段按指定顺序排序,从上一年(2017年4月)的“a”开始:

无法忘记可能会弹出的错误,需要解决:“
文本框'Textbox9'的值表达式直接引用字段'Indexcolumn',而不指定数据集聚合。当报表包含多个数据集时,数据区域之外的字段引用必须包含在指定数据集范围的聚合函数中。

=SWITCH(Fields!Indexcolumn.Value = “A”, Format(DateAdd("m", -11, CDate(Parameters!AsOfDate.Value)),"MMM yyyy"),
Fields!Indexcolumn.Value = “B”, Format(DateAdd("m", -10, CDate(Parameters!AsOfDate.Value)),"MMM yyyy"),
Fields!Indexcolumn.Value = “C”, Format(DateAdd("m", -9, CDate(Parameters!AsOfDate.Value)),"MMM yyyy"),
Fields!Indexcolumn.Value = “D”, Format(DateAdd("m", -8, CDate(Parameters!AsOfDate.Value)),"MMM yyyy"),
Fields!Indexcolumn.Value = “E”, Format(DateAdd("m", -7, CDate(Parameters!AsOfDate.Value)),"MMM yyyy"),
Fields!Indexcolumn.Value = “F”, Format(DateAdd("m", -6, CDate(Parameters!AsOfDate.Value)),"MMM yyyy"),
Fields!Indexcolumn.Value = “G”, Format(DateAdd("m", -5, CDate(Parameters!AsOfDate.Value)),"MMM yyyy"),
Fields!Indexcolumn.Value = “H”, Format(DateAdd("m", -4, CDate(Parameters!AsOfDate.Value)),"MMM yyyy"),
Fields!Indexcolumn.Value = “I”, Format(DateAdd("m", -3, CDate(Parameters!AsOfDate.Value)),"MMM yyyy"),
Fields!Indexcolumn.Value = “J”, Format(DateAdd("m", -2, CDate(Parameters!AsOfDate.Value)),"MMM yyyy"),
Fields!Indexcolumn.Value = “L”, Format(DateAdd("m", -1, CDate(Parameters!AsOfDate.Value)),"MMM yyyy"),
Fields!Indexcolumn.Value = “M”, Format(DateAdd("m", 1, CDate(Parameters!AsOfDate.Value)),"MMM yyyy")