简体   繁体   English

SSRS 2012中的多值参数

[英]multi value parameter in SSRS 2012

I need help to modify an existing ssrs report. 我需要帮助来修改现有的ssrs报告。 Currently the end user can only select a single value from the pFiscalMonth parameter to view the report. 当前,最终用户只能从pFiscalMonth参数中选择一个值来查看报告。 The users now requested to modify the report to allow them to select more than one month to view the report. 用户现在要求修改报告,以允许他们选择一个多月的时间来查看报告。

The main report data set is a very long query: CTE join other tables. 主报告数据集是一个很长的查询:CTE连接其他表。 I modified this main report data set where clause as below: 我修改了此主报告数据集where子句,如下所示:

WITH FinanceReportSchedule AS(SELECT 52 AS[FinanceRepor ScheduleSK], 2015 AS FiscalYear, 1 AS FiscalMonth, '2014-04-30 00:00:00' AS[Mon hEndDate],
    '2014-05-12 00:00:00' AS PayrollFinalDate, 12 AS PayrollFinalDayCount, '2014-05-16 00:00:00' AS RevExpPreliminaryDate,
    16 AS RevExpPreliminaryDayCount, '2014-05-26 00:00:00' AS RevExpFinalDate, 26 AS RevExpFinalDayCount
     UNION ALL
        SELECT 53 AS Expr1, 2015 AS Expr2, 2 AS Expr3, '2014-05-31 00:00:00' AS Expr4, '2014-06-11 00:00:00' AS Expr5, 11 AS Expr6,
                            '2014-06-17 00:00:00' AS Expr7, 17 AS Expr8, '2014-06-24 00:00:00' AS Expr9, 24 AS Expr10
        UNION ALL
        SELECT 54 AS Expr1, 2015 AS Expr2, 3 AS Expr3, '2014-06-30 00:00:00' AS Expr4, '2014-07-11 00:00:00' AS Expr5, 11 AS Expr6,
                            '2014-07-17 00:00:00' AS Expr7, 17 AS Expr8, '2014-07-24 00:00:00' AS Expr9, 24 AS Expr10
        UNION ALL
        SELECT 55 AS Expr1, 2015 AS Expr2, 4 AS Expr3, '2014-07-31 00:00:00' AS Expr4, '2014-08-13 00:00:00' AS Expr5, 13 AS Expr6,
                            '2014-08-19 00:00:00' AS Expr7, 19 AS Expr8, '2014-08-26 00:00:00' AS Expr9, 26 AS Expr10
        UNION ALL
        SELECT 56 AS Expr1, 2015 AS Expr2, 5 AS Expr3, '2014-08-31 00:00:00' AS Expr4, '2014-09-11 00:00:00' AS Expr5, 11 AS Expr6,
                            '2014-09-17 00:00:00' AS Expr7, 17 AS Expr8, '2014-09-24 00:00:00' AS Expr9, 24 AS Expr10
        UNION ALL
        SELECT 57 AS Expr1, 2015 AS Expr2, 6 AS Expr3, '2014-09-30 00:00:00' AS Expr4, '2014-10-10 00:00:00' AS Expr5, 10 AS Expr6,
                            '2014-10-17 00:00:00' AS Expr7, 17 AS Expr8, '2014-10-24 00:00:00' AS Expr9, 24 AS Expr10
        UNION ALL
        SELECT 58 AS Expr1, 2015 AS Expr2, 7 AS Expr3, '2014-10-31 00:00:00' AS Expr4, '2014-11-12 00:00:00' AS Expr5, 12 AS Expr6,
                            '2014-11-18 00:00:00' AS Expr7, 18 AS Expr8, '2014-11-25 00:00:00' AS Expr9, 25 AS Expr10
        UNION ALL
        SELECT 59 AS Expr1, 2015 AS Expr2, 8 AS Expr3, '2014-11-30 00:00:00' AS Expr4, '2014-12-10 00:00:00' AS Expr5, 10 AS Expr6,
                            '2014-12-16 00:00:00' AS Expr7, 16 AS Expr8, '2014-12-23 00:00:00' AS Expr9, 23 AS Expr10
        UNION ALL
        SELECT 60 AS Expr1, 2015 AS Expr2, 9 AS Expr3, '2014-12-31 00:00:00' AS Expr4, '2015-01-13 00:00:00' AS Expr5, 13 AS Expr6,
                            '2015-01-19 00:00:00' AS Expr7, 19 AS Expr8, '2015-01-26 00:00:00' AS Expr9, 26 AS Expr10
        UNION ALL
        SELECT 61 AS Expr1, 2015 AS Expr2, 10 AS Expr3, '2015-01-31 00:00:00' AS Expr4, '2015-02-11 00:00:00' AS Expr5, 11 AS Expr6,
                            '2015-02-18 00:00:00' AS Expr7, 18 AS Expr8, '2015-02-25 00:00:00' AS Expr9, 25 AS Expr10
        UNION ALL
        SELECT 62 AS Expr1, 2015 AS Expr2, 11 AS Expr3, '2015-02-28 00:00:00' AS Expr4, '2015-03-10 00:00:00' AS Expr5, 10 AS Expr6,
                            '2015-03-16 00:00:00' AS Expr7, 16 AS Expr8, '2015-03-23 00:00:00' AS Expr9, 23 AS Expr10
        UNION ALL
        SELECT 63 AS Expr1, 2015 AS Expr2, 12 AS Expr3, '2015-03-31 00:00:00' AS Expr4, '2015-04-09 00:00:00' AS Expr5, 9 AS Expr6,
                            '2015-04-15 00:00:00' AS Expr7, 15 AS Expr8, '2015-05-15 00:00:00' AS Expr9, 45 AS Expr10
        UNION ALL
        SELECT 64 AS Expr1, 2016 AS Expr2, 1 AS Expr3, '2015-04-30 00:00:00' AS Expr4, '2015-05-11 00:00:00' AS Expr5, 11 AS Expr6,
                            '2015-05-18 00:00:00' AS Expr7, 18 AS Expr8, '2015-05-25 00:00:00' AS Expr9, 25 AS Expr10
        UNION ALL
        SELECT 65 AS Expr1, 2016 AS Expr2, 2 AS Expr3, '2015-05-31 00:00:00' AS Expr4, '2015-06-09 00:00:00' AS Expr5, 9 AS Expr6,
                            '2015-06-15 00:00:00' AS Expr7, 15 AS Expr8, '2015-06-22 00:00:00' AS Expr9, 22 AS Expr10
        UNION ALL
        SELECT 66 AS Expr1, 2016 AS Expr2, 3 AS Expr3, '2015-06-30 00:00:00' AS Expr4, '2015-07-10 00:00:00' AS Expr5, 10 AS Expr6,
                            '2015-07-16 00:00:00' AS Expr7, 16 AS Expr8, '2015-07-23 00:00:00' AS Expr9, 23 AS Expr10
        UNION ALL
        SELECT 67 AS Expr1, 2016 AS Expr2, 4 AS Expr3, '2015-07-31 00:00:00' AS Expr4, '2015-08-12 00:00:00' AS Expr5, 12 AS Expr6,
                            '2015-08-18 00:00:00' AS Expr7, 18 AS Expr8, '2015-08-25 00:00:00' AS Expr9, 25 AS Expr10
        UNION ALL
        SELECT 68 AS Expr1, 2016 AS Expr2, 5 AS Expr3, '2015-08-31 00:00:00' AS Expr4, '2015-09-10 00:00:00' AS Expr5, 10 AS Expr6,
                            '2015-09-16 00:00:00' AS Expr7, 16 AS Expr8, '2015-09-23 00:00:00' AS Expr9, 23 AS Expr10
        UNION ALL
        SELECT 69 AS Expr1, 2016 AS Expr2, 6 AS Expr3, '2015-09-30 00:00:00' AS Expr4, '2015-10-12 00:00:00' AS Expr5, 12 AS Expr6,
                            '2015-10-16 00:00:00' AS Expr7, 16 AS Expr8, '2015-10-23 00:00:00' AS Expr9, 23 AS Expr10
        UNION ALL
        SELECT 70 AS Expr1, 2016 AS Expr2, 7 AS Expr3, '2015-10-31 00:00:00' AS Expr4, '2015-11-10 00:00:00' AS Expr5, 10 AS Expr6,
                            '2015-11-16 00:00:00' AS Expr7, 16 AS Expr8, '2015-11-23 00:00:00' AS Expr9, 23 AS Expr10
        UNION ALL
        SELECT 71 AS Expr1, 2016 AS Expr2, 8 AS Expr3, '2015-11-30 00:00:00' AS Expr4, '2015-12-09 00:00:00' AS Expr5, 9 AS Expr6,
                            '2015-12-15 00:00:00' AS Expr7, 15 AS Expr8, '2015-12-22 00:00:00' AS Expr9, 22 AS Expr10
        UNION ALL
        SELECT 72 AS Expr1, 2016 AS Expr2, 9 AS Expr3, '2015-12-31 00:00:00' AS Expr4, '2016-01-13 00:00:00' AS Expr5, 13 AS Expr6,
                            '2016-01-19 00:00:00' AS Expr7, 19 AS Expr8, '2016-01-26 00:00:00' AS Expr9, 26 AS Expr10
        UNION ALL
        SELECT 73 AS Expr1, 2016 AS Expr2, 10 AS Expr3, '2016-01-31 00:00:00' AS Expr4, '2016-02-09 00:00:00' AS Expr5, 9 AS Expr6,
                            '2016-02-15 00:00:00' AS Expr7, 15 AS Expr8, '2016-02-22 00:00:00' AS Expr9, 22 AS Expr10
        UNION ALL
        SELECT 74 AS Expr1, 2016 AS Expr2, 11 AS Expr3, '2016-02-29 00:00:00' AS Expr4, '2016-03-09 00:00:00' AS Expr5, 9 AS Expr6,
                            '2016-03-15 00:00:00' AS Expr7, 15 AS Expr8, '2016-03-22 00:00:00' AS Expr9, 22 AS Expr10
        UNION ALL
        SELECT 75 AS Expr1, 2016 AS Expr2, 12 AS Expr3, '2016-03-31 00:00:00' AS Expr4, '2016-04-13 00:00:00' AS Expr5, 13 AS Expr6,
                            '2016-04-15 00:00:00' AS Expr7, 15 AS Expr8, '2016-05-17 00:00:00' AS Expr9, 47 AS Expr10
        UNION ALL
        SELECT 76 AS Expr1, 2017 AS Expr2, 1 AS Expr3, '2016-04-30 00:00:00' AS Expr4, '2016-05-12 00:00:00' AS Expr5, 12 AS Expr6,
                            '2016-05-16 00:00:00' AS Expr7, 16 AS Expr8, '2016-05-26 00:00:00' AS Expr9, 26 AS Expr10
        UNION ALL
        SELECT 77 AS Expr1, 2017 AS Expr2, 2 AS Expr3, '2016-05-31 00:00:00' AS Expr4, '2016-06-11 00:00:00' AS Expr5, 11 AS Expr6,
                            '2016-06-17 00:00:00' AS Expr7, 17 AS Expr8, '2016-06-24 00:00:00' AS Expr9, 24 AS Expr10
        UNION ALL
        SELECT 78 AS Expr1, 2017 AS Expr2, 3 AS Expr3, '2016-06-30 00:00:00' AS Expr4, '2016-07-11 00:00:00' AS Expr5, 11 AS Expr6,
                            '2016-07-17 00:00:00' AS Expr7, 17 AS Expr8, '2016-07-24 00:00:00' AS Expr9, 24 AS Expr10
        UNION ALL
        SELECT 79 AS Expr1, 2017 AS Expr2, 4 AS Expr3, '2016-07-31 00:00:00' AS Expr4, '2016-08-13 00:00:00' AS Expr5, 13 AS Expr6,
                            '2016-08-19 00:00:00' AS Expr7, 19 AS Expr8, '2016-08-26 00:00:00' AS Expr9, 26 AS Expr10
        UNION ALL
        SELECT 80 AS Expr1, 2017 AS Expr2, 5 AS Expr3, '2016-08-31 00:00:00' AS Expr4, '2016-09-11 00:00:00' AS Expr5, 11 AS Expr6,
                            '2016-09-17 00:00:00' AS Expr7, 17 AS Expr8, '2016-09-24 00:00:00' AS Expr9, 24 AS Expr10
        UNION ALL
        SELECT 81 AS Expr1, 2017 AS Expr2, 6 AS Expr3, '2016-09-30 00:00:00' AS Expr4, '2016-10-10 00:00:00' AS Expr5, 10 AS Expr6,
                            '2016-10-17 00:00:00' AS Expr7, 17 AS Expr8, '2016-10-24 00:00:00' AS Expr9, 24 AS Expr10
        UNION ALL
        SELECT 82 AS Expr1, 2017 AS Expr2, 7 AS Expr3, '2016-10-31 00:00:00' AS Expr4, '2016-11-12 00:00:00' AS Expr5, 12 AS Expr6,
                            '2016-11-18 00:00:00' AS Expr7, 18 AS Expr8, '2016-11-25 00:00:00' AS Expr9, 25 AS Expr10
        UNION ALL
        SELECT 83 AS Expr1, 2017 AS Expr2, 8 AS Expr3, '2016-11-30 00:00:00' AS Expr4, '2016-12-10 00:00:00' AS Expr5, 10 AS Expr6,
                            '2016-12-16 00:00:00' AS Expr7, 16 AS Expr8, '2016-12-23 00:00:00' AS Expr9, 23 AS Expr10
        UNION ALL
        SELECT 84 AS Expr1, 2017 AS Expr2, 9 AS Expr3, '2016-12-31 00:00:00' AS Expr4, '2017-01-13 00:00:00' AS Expr5, 13 AS Expr6,
                            '2017-01-19 00:00:00' AS Expr7, 19 AS Expr8, '2017-01-26 00:00:00' AS Expr9, 26 AS Expr10
        UNION ALL
        SELECT 85 AS Expr1, 2017 AS Expr2, 10 AS Expr3, '2017-01-31 00:00:00' AS Expr4, '2017-02-11 00:00:00' AS Expr5, 11 AS Expr6,
                            '2017-02-18 00:00:00' AS Expr7, 18 AS Expr8, '2017-02-25 00:00:00' AS Expr9, 25 AS Expr10
        UNION ALL
        SELECT 86 AS Expr1, 2017 AS Expr2, 11 AS Expr3, '2017-02-28 00:00:00' AS Expr4, '2017-03-10 00:00:00' AS Expr5, 10 AS Expr6,
                            '2017-03-16 00:00:00' AS Expr7, 16 AS Expr8, '2017-03-23 00:00:00' AS Expr9, 23 AS Expr10
        UNION ALL
        SELECT 87 AS Expr1, 2017 AS Expr2, 12 AS Expr3, '2017-03-31 00:00:00' AS Expr4, '2017-04-09 00:00:00' AS Expr5, 9 AS Expr6,
                            '2017-04-15 00:00:00' AS Expr7, 15 AS Expr8, '2017-05-15 00:00:00' AS Expr9, 15 AS Expr10
        UNION ALL
        SELECT 88 AS Expr1, 2018 AS Expr2, 1 AS Expr3, '2017-04-30 00:00:00' AS Expr4, '2017-05-11 00:00:00' AS Expr5, 11 AS Expr6,
                            '2017-05-18 00:00:00' AS Expr7, 18 AS Expr8, '2017-05-25 00:00:00' AS Expr9, 25 AS Expr10
        UNION ALL
        SELECT 89 AS Expr1, 2018 AS Expr2, 2 AS Expr3, '2017-05-31 00:00:00' AS Expr4, '2017-06-09 00:00:00' AS Expr5, 9 AS Expr6,
                            '2017-06-15 00:00:00' AS Expr7, 15 AS Expr8, '2017-06-22 00:00:00' AS Expr9, 22 AS Expr10
        UNION ALL
        SELECT 90 AS Expr1, 2018 AS Expr2, 3 AS Expr3, '2017-06-30 00:00:00' AS Expr4, '2017-07-10 00:00:00' AS Expr5, 10 AS Expr6,
                            '2017-07-16 00:00:00' AS Expr7, 16 AS Expr8, '2017-07-23 00:00:00' AS Expr9, 23 AS Expr10
        UNION ALL
        SELECT 91 AS Expr1, 2018 AS Expr2, 4 AS Expr3, '2017-07-31 00:00:00' AS Expr4, '2017-08-12 00:00:00' AS Expr5, 12 AS Expr6,
                            '2017-08-18 00:00:00' AS Expr7, 18 AS Expr8, '2017-08-25 00:00:00' AS Expr9, 25 AS Expr10
        UNION ALL
        SELECT 92 AS Expr1, 2018 AS Expr2, 5 AS Expr3, '2017-08-31 00:00:00' AS Expr4, '2017-09-10 00:00:00' AS Expr5, 10 AS Expr6,
                            '2017-09-16 00:00:00' AS Expr7, 16 AS Expr8, '2017-09-23 00:00:00' AS Expr9, 23 AS Expr10
        UNION ALL
        SELECT 93 AS Expr1, 2018 AS Expr2, 6 AS Expr3, '2017-09-30 00:00:00' AS Expr4, '2017-10-12 00:00:00' AS Expr5, 12 AS Expr6,
                            '2017-10-16 00:00:00' AS Expr7, 16 AS Expr8, '2017-10-23 00:00:00' AS Expr9, 23 AS Expr10
        UNION ALL
        SELECT 94 AS Expr1, 2018 AS Expr2, 7 AS Expr3, '2017-10-31 00:00:00' AS Expr4, '2017-11-10 00:00:00' AS Expr5, 10 AS Expr6,
                            '2017-11-16 00:00:00' AS Expr7, 16 AS Expr8, '2017-11-23 00:00:00' AS Expr9, 23 AS Expr10
        UNION ALL
        SELECT 95 AS Expr1, 2018 AS Expr2, 8 AS Expr3, '2017-11-30 00:00:00' AS Expr4, '2017-12-09 00:00:00' AS Expr5, 9 AS Expr6,
                            '2017-12-15 00:00:00' AS Expr7, 15 AS Expr8, '2017-12-22 00:00:00' AS Expr9, 22 AS Expr10
        UNION ALL
        SELECT 96 AS Expr1, 2018 AS Expr2, 9 AS Expr3, '2017-12-31 00:00:00' AS Expr4, '2018-01-13 00:00:00' AS Expr5, 13 AS Expr6,
                            '2018-01-19 00:00:00' AS Expr7, 19 AS Expr8, '2018-01-26 00:00:00' AS Expr9, 26 AS Expr10
        UNION ALL
        SELECT 97 AS Expr1, 2018 AS Expr2, 10 AS Expr3, '2018-01-31 00:00:00' AS Expr4, '2018-02-09 00:00:00' AS Expr5, 9 AS Expr6,
                            '2018-02-15 00:00:00' AS Expr7, 15 AS Expr8, '2018-02-22 00:00:00' AS Expr9, 22 AS Expr10
        UNION ALL
        SELECT 98 AS Expr1, 2018 AS Expr2, 11 AS Expr3, '2018-02-28 00:00:00' AS Expr4, '2018-03-09 00:00:00' AS Expr5, 9 AS Expr6,
                            '2018-03-15 00:00:00' AS Expr7, 15 AS Expr8, '2018-03-22 00:00:00' AS Expr9, 22 AS Expr10
        UNION ALL
        SELECT 99 AS Expr1, 2018 AS Expr2, 12 AS Expr3, '2018-03-31 00:00:00' AS Expr4, '2018-04-13 00:00:00' AS Expr5, 13 AS Expr6,
                            '2018-04-15 00:00:00' AS Expr7, 15 AS Expr8, '2018-05-17 00:00:00' AS Expr9, 17 AS Expr10)
    SELECT aa.Union_code, aa.WorkedHrs, aa.Pay_Class, aa.PType, aa.Amount, aa.FiscalYear, aa.FiscalPeriod, aa.FiscalYearReportName, aa.Employee, bb.LastName, bb.FirstName,
                      cc.PayClassDesc, ff.AU, ff.Owner, ff.FirstName AS AUOwnerFirstName, ff.LastName AS AUOwnerLastName, ff.Program, ee.PersonResponsible, dd.Level9Code,
                      dd.Level9Name, bb.POSITION, Dim_Pay_Position.DESCRIPTION, CASE WHEN getdate() >= PayrollFinalDate THEN 'Final' ELSE 'No Available' END AS ReportStatus
    FROM(SELECT Union_code, WorkedHrs, Pay_Class, PType, Amount, FiscalYear, FiscalPeriod, FiscalYearReportName, Employee, EmployeeSK, CostCenterSK, CDateSK
                      FROM      Fact_Pay_AUreport AS a
                      WHERE   (AUcode = @pCostCentre) AND(FiscalYear = @pFiscalYear) AND**(FiscalPeriod IN(@pFiscalMonth))** AS aa INNER JOIN
                   FinanceReportSchedule AS SC ON SC.FiscalYear = aa.FiscalYear AND SC.FiscalMonth = aa.FiscalPeriod AND GETDATE() >= SC.PayrollFinalDate INNER JOIN
                   Dim_PayReport_Employee AS bb ON aa.EmployeeSK = bb.EmployeeSK INNER JOIN
                   Dim_Pay_PayClass AS cc ON aa.Pay_Class = cc.PayClassCode INNER JOIN

                   HierarchyCostCentre AS dd ON aa.CostCenterSK = dd.CostCentreSK INNER JOIN

                   DimCostCentre AS ee ON aa.CostCenterSK = ee.CostCentreSK INNER JOIN

                   DimSigningAuthority AS ff ON ee.Code = ff.AU INNER JOIN

                   Dim_Pay_Position ON bb.POSITION = Dim_Pay_Position.POSITION


however when i tried to execute modified query in query designer got error message said IN clause is not compatible with the query.

Here is the data set query for this @pFiscalMonth parameter:


SELECT DISTINCT Fact_Pay_AUreport.FiscalPeriod, DimDate.MonthName, Fact_Pay_AUreport.FiscalYear
FROM            Fact_Pay_AUreport INNER JOIN
                      DimDate ON Fact_Pay_AUreport.CDateSK = DimDate.DateSK
WHERE        (Fact_Pay_AUreport.FiscalYear = 2014)
ORDER BY Fact_Pay_AUreport.FiscalPeriod

By the way, I already set parameter property: available value: get value from query; 顺便说一下,我已经设置了参数属性:可用值:从查询中获取值; label name: MonthName; 标签名称:MonthName; value: MonthName 值:MonthName

Can someone give me some idea how to fix this error? 有人可以给我一些如何解决此错误的想法吗? should I use split function? 我应该使用分割功能吗? I checked database there is no split function available. 我检查了数据库,没有可用的拆分功能。 probably need to create one if it's necessary. 如果有必要,可能需要创建一个。

I think you need another ) after (FiscalPeriod IN (@pFiscalMonth)) . 我认为您需要在(FiscalPeriod IN (@pFiscalMonth))之后再添加一个(FiscalPeriod IN (@pFiscalMonth)) There is no closing to the parentheses after FROM( , before AS aa . FROM( ,在AS aa之前,括号没有结束。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM