SSRS Report Builder 3.0用户按多列排序

时间:2014-01-14 20:58:47

标签: reporting-services reportbuilder3.0

让我们说这个报告包含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中实现这一目标。

谢谢

3 个答案:

答案 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行。当网格具有焦点时,上面添加了一个灰色行,而不是设置的位置。

如果右键单击第一个白行,则应打开“文本框属性”。

在对话框中,选择“交互式排序”。

  1. 选中启用...
  2. 明细行
  3. 排序依据:下拉选择该列中的字段。按[文本框]的[确定]。
  4. 对所有列重复此操作。保存构建器并运行报告。用户可以对升序或desc进行排序。随意。