Reporting services 如何创建一个参数来选择多个顶级值

Reporting services 如何创建一个参数来选择多个顶级值,reporting-services,ssrs-2008,ssrs-2008-r2,Reporting Services,Ssrs 2008,Ssrs 2008 R2,我在SSRS 2008中创建了一份报告。该报告包含以下字段:请求数、发起人的组织 如何创建一个参数,该参数可以从请求数字段中选择多个顶部值 例如,参数5的设定值: Number of requests, Organization of the initiator 10 initiator1 9 initiator2 8 initiator3 7

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

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

例如,参数5的设定值:

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

有几种方法可以做到这一点。你可以像这个问题一样做报告中的工作

也可以在数据集中执行此操作。假设您使用的是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
我们在这里所做的就是选择数据,根据NumberOfRequests为每一行分配一个等级,最大值=1,下一个最大值=2等等


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

您可以编辑您的问题以包含主数据集的SQL吗?