【问题标题】:SSRS Report Builder 3.0 user sort by multiple columnsSSRS Report Builder 3.0 用户按多列排序
【发布时间】:2014-01-14 20:58:47
【问题描述】:

假设我们有一个包含 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 中实现这一点。

谢谢

【问题讨论】:

    标签: reporting-services reportbuilder3.0


    【解决方案1】:

    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
    

    请注意,您的参数值需要与字段名称的大小写相同,但您的标签可以是您喜欢的任何内容。

    【讨论】:

      【解决方案2】:

      您可以在单击列标题的同时按住 SHIFT 对多个列进行排序。对于您单击的第一列,这不是必需的。按住 SHIFT 的同时再次单击排序列标题可更改排序方向。您可以分别混合升序和降序的排序列。这适用于报表生成器(程序)以及报表管理器(Web 前端)。后者在 Firefox (30) 中不起作用(仅单列排序),但在 Internet Explorer (11) 和 Chrome (35) 中起作用。 我使用 Report Builder 3.0 和 SQL Server 2008 R2。

      【讨论】:

        【解决方案3】:

        有一种方法可以让用户按照每列数据的顺序进行排序。我没有看到它记录太多,所以这是我的两点价值。这样的结果会在您放置它的每一列上添加一个小的向上/向下图标。

        在 Report Builder 3.0 中,当我将字段属性拖到网格上时,该新列中会显示 3 行。当网格有焦点时,上面会添加一个灰色行,这不是设置的位置。

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

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

        1. 检查启用...
        2. 详细信息行
        3. 排序方式:下拉选择该列中的字段。为该文本框按 [OK]。

        对所有列重复此操作。保存构建器并运行报告。用户可以升序或降序排序。随意。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多