如何创建一个选择多个顶部值的参数



我在 SSRS 2008 中创建了一个报告。报告包含字段:请求数、发起方的组织

如何创建一个从字段中选择多个顶部值的参数 请求数

示例,设置参数 5 的值:

Number of requests, Organization of the initiator    
10                  initiator1    
9                   initiator2    
8                   initiator3    
7                   initiator4    
6                   initiator5

有几种方法可以解决这个问题。您可以像这个类似的问题一样在报告中完成工作 如何获得 SSRS 2012 中前 10 名的销售总额

或者,您可以在数据集中执行此操作。假设您使用的是SQL Server,则可以执行以下操作。

-- declare @TopN int = 5 -- Comment this out in production this is only used for testing. This parameter will be passed in from SSRS
SELECT * FROM
    (
    select NumberOfRequests, Organization
        , RANK() OVER(ORDER BY NumberOfRequests desc) as rnk
    from MyTable
    ) q
    WHERE q.rnk <= @TopN

我们在这里所做的只是根据请求数选择数据,为每一行分配一个等级,最大 = 1 下一个最大 = 2 等。

然后我们有一个外部查询,它只是选择排名小于您想要的数字的任何内容。

最新更新