如何创建一个选择多个最高值的参数

How can I create a parameter which choosing a number of top of values

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

我如何创建一个参数,从字段请求数中选择多个最高值

例子,参数5的设置值:

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

有几种方法可以解决这个问题。您可以像在这个类似问题 How to get total of top 10 sales in SSRS 2012

中那样在报告中完成工作

或者您可以在数据集中执行此操作。假设您正在使用 SQL 服务器,您可以这样做。

-- 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

我们在这里所做的就是选择数据,根据 NumberOfRequests 为每一行分配一个排名,最大的 = 1,下一个最大的 = 2 等等......

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