级联参数帮助 - SSRS - VisualStudio

时间:2016-12-21 00:52:22

标签: reporting-services parameters

我为报告设置了级联参数设置,以便在选择客户端编号后,它会显示物质编号。我没有设置客户编号的值,因为我们经常按客户编号搜索,因此手动输入该编号更容易。级联参数部分的工作原理是我输入客户编号和收到了一份下拉列表。但是,当我点击运行报告时,它会显示所有问题的详细信息,而不仅仅是我选择的单一事项。

主数据集在SQL中有两个参数,分别为IN(@ClientNumber)和IN(@MatterNumber)。我已经尝试将它们添加为数据集属性中的过滤器,但这似乎也没有。

所以级联参数的作用是我选择一个和下一个字段ungreys并允许我选择我的下一个参数,但它只是显示所有数据,好像我没有选择第二个参数。

有什么想法?我很乐意提供所需的一切。

- 包括每个请求的查询。我正在使用Microsoft SQL。

SELECT        
    HBM_MATTER.CLIENT_CODE, 
    HBM_MATTER.MATTER_CODE, 
    HBM_NAME.NAME, 
    HBM_MATTER.LONG_MATT_NAME, 
    HBM_PERSNL_ORG.EMPLOYEE_NAME AS Originator, 
    HBM_PERSNL_BILL.EMPLOYEE_NAME AS Billing, 
    HBM_PERSNL_RSP.EMPLOYEE_NAME AS Responsible, 
    HBM_CLIENT.OPEN_DATE AS [Client Open Date], 
    HBM_MATTER.MATTER_UNO, 
    HBM_CLIENT.CLIENT_UNO, 
    HBM_MATTER.MATT_TYPE_CODE AS [Area of Law Code], 
    HBL_MATT_TYPE.MATT_TYPE_DESC AS [Area of Law Description], 
    HBM_MATTER.OFFC AS [Office Code], 
    HBL_OFFICE.OFFC_DESC AS [Office Description], 
    HBM_MATTER.DEPT AS [Department Code], 
    HBL_DEPT.DEPT_NAME AS [Department Name], 
    HBM_MATTER.PROF AS [Practice Team Code], 
    HBL_PROF_CTR.PROF_CTR_DESC AS [Practice Team Description], 
    HBM_MATTER.STATUS_CODE AS [Status Code], 
    HBL_STATUS_MATT.STATUS_DESC AS [Status Description], 
    HBM_MATTER.OPEN_DATE AS [Matter Open Date], 
    HBM_MATTER.CLOSE_DATE AS [Matter Close Date], 
    TBM_MATTER.LAST_BILL_DATE AS [Matter Last Billed Date], 
    HBM_PERSNL_TIME.EMPLOYEE_NAME AS Timekeeper, 
    TBM_CLMAT_PART_BILL.EFF_DATE

FROM            
    HBM_MATTER INNER JOIN TBM_CLMAT_PART AS TBM_CLMAT_PART_ORG ON HBM_MATTER.MATTER_UNO = TBM_CLMAT_PART_ORG.MATTER_UNO INNER JOIN
    TBM_CLMAT_PART AS TBM_CLMAT_PART_BILL ON HBM_MATTER.MATTER_UNO = TBM_CLMAT_PART_BILL.MATTER_UNO INNER JOIN
    HBM_CLIENT ON HBM_MATTER.CLIENT_UNO = HBM_CLIENT.CLIENT_UNO INNER JOIN
    HBM_PERSNL AS HBM_PERSNL_ORG ON TBM_CLMAT_PART_ORG.EMPL_UNO = HBM_PERSNL_ORG.EMPL_UNO INNER JOIN
    HBM_PERSNL AS HBM_PERSNL_BILL ON TBM_CLMAT_PART_BILL.EMPL_UNO = HBM_PERSNL_BILL.EMPL_UNO INNER JOIN
    HBM_PERSNL AS HBM_PERSNL_RSP ON HBM_MATTER.RESP_EMPL_UNO = HBM_PERSNL_RSP.EMPL_UNO INNER JOIN
    HBM_NAME ON HBM_CLIENT.NAME_UNO = HBM_NAME.NAME_UNO LEFT OUTER JOIN
    HBL_MATT_TYPE ON HBM_MATTER.MATT_TYPE_CODE = HBL_MATT_TYPE.MATT_TYPE_CODE INNER JOIN HBL_OFFICE ON HBM_MATTER.OFFC = HBL_OFFICE.OFFC_CODE INNER JOIN
    HBL_DEPT ON HBM_MATTER.DEPT = HBL_DEPT.DEPT_CODE INNER JOIN
    HBL_PROF_CTR ON HBM_MATTER.PROF = HBL_PROF_CTR.PROF_CTR_CODE LEFT OUTER JOIN
    HBL_STATUS_MATT ON HBM_MATTER.STATUS_CODE = HBL_STATUS_MATT.STATUS_CODE INNER JOIN TAT_TIME ON HBM_MATTER.MATTER_UNO = TAT_TIME.MATTER_UNO INNER JOIN
    HBM_PERSNL AS HBM_PERSNL_TIME ON TAT_TIME.TK_EMPL_UNO = HBM_PERSNL_TIME.EMPL_UNO INNER JOIN
    TBM_MATTER ON HBM_MATTER.MATTER_UNO = TBM_MATTER.MATTER_UNO

GROUP BY 
    HBM_MATTER.CLIENT_CODE, HBM_MATTER.MATTER_CODE, HBM_NAME.NAME, HBM_MATTER.LONG_MATT_NAME, HBM_PERSNL_ORG.EMPLOYEE_NAME, HBM_PERSNL_BILL.EMPLOYEE_NAME, HBM_PERSNL_RSP.EMPLOYEE_NAME, HBM_CLIENT.OPEN_DATE, HBM_MATTER.MATTER_UNO, HBM_CLIENT.CLIENT_UNO, HBM_MATTER.MATT_TYPE_CODE, HBL_MATT_TYPE.MATT_TYPE_DESC, HBM_MATTER.OFFC, HBL_OFFICE.OFFC_DESC, HBM_MATTER.DEPT, HBL_DEPT.DEPT_NAME, HBM_MATTER.PROF, HBL_PROF_CTR.PROF_CTR_DESC, HBM_MATTER.STATUS_CODE, HBL_STATUS_MATT.STATUS_DESC, HBM_MATTER.OPEN_DATE, HBM_MATTER.CLOSE_DATE, TBM_MATTER.LAST_BILL_DATE, HBM_PERSNL_TIME.EMPLOYEE_NAME, TBM_CLMAT_PART_ORG.EFF_DATE, TBM_CLMAT_PART_ORG.PERCENTAGE, TBM_CLMAT_PART_BILL.EFF_DATE

HAVING        
(HBM_MATTER.CLIENT_CODE IN (@ClientNumber)) AND (HBM_MATTER.MATTER_CODE IN (@MatterNumber))

1 个答案:

答案 0 :(得分:0)

这是SSRS中的一个已知错误。

我找到的唯一解决方法是创建一个隐藏的多选参数,该参数基于第一个参数中选择的值,第二个参数从中获取它的值。

如果您的文档不详细且不可用,这个解决方案对于任何未来的维护者来说都是混乱和混乱的,但有时是不可避免的。

我建议在不使用这些级联参数的情况下尝试找到一种方法来选择标准。