让我们说这个报告包含a,b,c,d,e,f列。
我们有一些用户希望按列a,b,c对数据进行排序。其他的列c,f,e。其他按列d,a,c。其他列c。还有另一组不断改变他们对数据进行排序的方式。
有没有办法让用户根据他们点击的列对列进行排序。假如用户点击d,a,c,数据将按d,a,c排序,而不仅仅是他们点击的最后一列?我们还想在Report Builder 3.0中实现这一目标。
谢谢
答案 0 :(得分:2)
SSRS会将文本转换为列名。
您可以像这样设置参数(使用数据集中的字段名称作为值):
Name: Sort1
Available Values:
Label Value
====== =======
a a
b b
c c
d d
您可能需要的每种类型一个。这听起来像是3种参数。
然后,在Tablix(或表格)的排序部分:
Column
===============================
Sort By: Parameters!Sort1.Value
Then by: Parameters!Sort2.Value
Then by: Parameters!Sort3.Value
请注意,您的参数值必须与字段名称的大小写相同,但您的标签可以是您喜欢的任何内容。
答案 1 :(得分:1)
您可以在单击列标题时按住SHIFT对多个列进行排序。对于您单击的第一列,这不是必需的。在按住SHIFT键的同时再次单击排序列标题以更改排序方向。您可以分别混合排序列升序和降序。这适用于Report Builder(程序)和Report Manager(Web前端)。后者在Firefox(30)中不起作用(仅单列排序),但在Internet Explorer(11)和Chrome(35)中可以使用。 我使用Report Builder 3.0和SQL Server 2008 R2。
答案 2 :(得分:0)
有一种方法允许用户按列排序数据。我没有看到它记录太多,所以这是我的两位值得。结果会在您放置的每一列上添加一点上/下图标。
在Report Builder 3.0中,当我将字段属性拖到网格上时,在该新列中显示3行。当网格具有焦点时,上面添加了一个灰色行,而不是设置的位置。
如果右键单击第一个白行,则应打开“文本框属性”。
在对话框中,选择“交互式排序”。
对所有列重复此操作。保存构建器并运行报告。用户可以对升序或desc进行排序。随意。