Reporting services 参数。仅在主数据集中显示

Reporting services 参数。仅在主数据集中显示,reporting-services,parameters,ssrs-2012,Reporting Services,Parameters,Ssrs 2012,我有一个名为“IncomeRecievedGeneralNeeds”的主数据集。这是主报告中使用的内容。这包括一个名为“Scheme”的字段 我创建了一个名为“scheme”的新数据集和一个名为scheme的参数,但我只希望scheme参数显示主数据集中的方案。目前,它正在显示不在主数据集中的方案 计划代码如下: SELECT DISTINCT loc.scheme AS 'Scheme' FROM ih_location loc IncomeRecievedGeneralNeeds代

我有一个名为“IncomeRecievedGeneralNeeds”的主数据集。这是主报告中使用的内容。这包括一个名为“Scheme”的字段

我创建了一个名为“scheme”的新数据集和一个名为scheme的参数,但我只希望scheme参数显示主数据集中的方案。目前,它正在显示不在主数据集中的方案

计划代码如下:

SELECT DISTINCT  loc.scheme AS 'Scheme'
FROM    ih_location loc
IncomeRecievedGeneralNeeds代码如下-

SELECT DISTINCT  trans.tncy_sys_ref AS 'TncySysRef'
                ,ten.tenancy_ref AS 'TenancyRef'
                ,trans.created_date AS 'TransactionCreatedDate'
                ,MHS.startdate AS 'StartofWeekDate'
                ,MHS.enddate AS 'EndofWeekDate'
                ,MHS.financialyear AS 'TransactionFiscalYear'
                ,MHS.monthname AS 'TransactionFiscalMonthName'
                ,MHS.month AS 'TransactionFiscalMonth'
                ,MHS.week AS 'TransactionFiscalWeek'
                ,CONCAT('Week ',
                         MHS.week,
                        ' (',
                        CONVERT(varchar(11),MHS.startdate,103),
                        '-',
                        CONVERT(varchar(11),MHS.enddate,103),
                        ')'
                        ) AS 'TransactionFiscalWeekWithDates'
                ,trans.comment_ AS 'TransactionComment'
                ,trans.trans_amt AS 'TransactionAmount'
                ,CASE WHEN trans.account_type IN ('IN','LI') Then 'Income'
                        WHEN trans.account_type = 'HB' Then 'HousingBenefit'
                        ELSE '' END AS 'AccountType'
                ,trans.account_type
                ,ACC.description AS 'AccountCode'
                ,loc.scheme AS 'Scheme'
                ,loc.mgt_area AS 'Management Area'
                ,loc.location_type AS 'Location Type'
                ,loct.description AS 'Location Type Description'
                ,ten.tncy_start AS 'TenancyStartDate'
                ,ten.tncy_end AS 'TenancyEndDate'
                ,CASE WHEN ten.tncy_end IS NULL 
                    OR TRANS.created_date < ten.tncy_end 
                    THEN 'Current' ELSE 'Former' END AS 'IncomeTenancyStatus'
                ,ten.tncy_status AS 'TenanacyStatus'
                ,CASE WHEN ten.tncy_status = 'FOR' THEN LOC.former_arrs_ofcr ELSE loc.arrears_ofcr END AS 'OfficerCode' 


FROM    [dbo].[re_tncy_trans] trans
    INNER JOIN  
        re_tenancy ten
    ON trans.tncy_sys_ref = ten.tncy_sys_ref
    INNER JOIN
        re_tncy_place tenpl
    ON  TEN.tncy_sys_ref = tenpl.tncy_sys_ref
    INNER JOIN
        ih_location loc
    ON  tenpl.place_ref = loc.place_ref
    INNER JOIN
        [dbo].[re_accounts] acc
    ON
    trans.account_code = ACC.account_code
    AND trans.account_type = acc.account_type
    INNER JOIN
    [mhsInsight].[dbo].[mhs_month_week] mhs
    ON trans.created_date BETWEEN mhs.startdate AND MHS.enddate
    INNER JOIN
    [dbo].[ih_location_type] AS loct
    ON loc.location_type = LOCT.location_type


WHERE trans.account_type IN ('IN','HB','LI')
AND MHS.startdate >= CONVERT(DATETIME, '2014-04-07 00:00:00', 102)
and loc.place_ref <> '9999999999'
选择不同的trans.tncy\u sys\u ref作为“tncysref”
,10.1.1租赁参考号为“租户参考号”
,trans.created_日期为“TransactionCreatedDate”
,MHS.startdate为“StartofWeekDate”
,MHS.enddate作为“EndofWeekDate”
,MHS.financialyear作为“交易财务年度”
,MHS.monthname,名称为“TransactionFiscalmonName”
,MHS.月为“交易财务月”
,MHS.week作为“交易财务周”
,CONCAT('周',
MHS.week,
' (',
转换(varchar(11),MHS.startdate,103),
'-',
转换(varchar(11),MHS.enddate,103),
')'
)作为“TransactionFiscalWeekWithDates”
,trans.comment uu作为“TransactionComment”
,trans.trans_amt为“TransactionMount”
,当trans.account_输入('IN','LI')然后输入'Income'时的情况
当trans.account_type='HB'时,则为'HousingBenefit'
ELSE“”以“AccountType”结尾
,trans.account\u类型
,附件描述为“会计代码”
,loc.scheme为“scheme”
,位置管理区为“管理区”
,loc.location\u类型为“location type”
,位置描述为“位置类型描述”
,10.tncy_以“租户开始日期”开始
,10.tncy_结尾为“tenacyEndDate”
,当ten.tncy_end为空时的情况
或TRANS.created\u date=转换(日期时间,'2014-04-07 00:00:00',102)
和位置位置参考'9999999'

在参数查询中,使用与主查询中相同的FROM和WHERE子句,您将只能获得与主数据集中相同的方案。

我已经尝试过了,但我认为这正是导致我的报告运行非常缓慢的原因,因为我的参数需要很长时间才能显示出来,然后我才能选择它们。它确实可以工作,但我想知道是否有更好的方法来实现它?您比我更了解您的数据库,因此,也许您可以利用这些知识来消除一些连接和过滤器,而这些连接和过滤器并不是获得所需结果所必需的。您还可以尝试使用索引来提高查询的性能。但是没有,没有完全不同的更好的方法;这是做这件事的方法。