首页 > 解决方案 > 如何在 SSRS 中组合参数?

问题描述

我正在尝试使用 2 个参数为我的报告制作一个下拉选项列表。一个是什么时候jodrtg.fdescnum <> inmastx.fbin1,另一个是什么时候fcomp_date<=GETDATE()-2。下拉列表中的过滤器/参数应该有 3 个选项,第一个参数、第二个参数和一个忽略这两个参数的 ALL RECORDS 选项。我希望一次只选择其中一个选项jodrtg.fdescnum <> inmastx.fbin1。我的数据集中的第一个参数以及显示所有记录的选项。我的问题是fcomp_date<=GETDATE()-2在同一个参数下拉列表中作为一个选项工作。

     SELECT
    R,
    Stack,
        RTRIM(MoldNo) as MoldNo,
        Press,
        JobNo,
        Status,
        RelDate,
        StartByDate,
        Priority,
        RTRIM(WH) as WH,
        MoldLoc,
        foperno,
        flschedule,
        RTRIM(WC) as WC,
        fcomp_date,
        flastlab,
        RTRIM(MoldDesc) as MoldDesc,
        Cavitation,
        MoldDims,
        Type,
        fddDueDate,
        fDueDate,
        foperqty,
        fnqty_comp,
        fnqty_togo,
        fnqty_move
    FROM
    (
    SELECT
        jodbom.fbompart as MoldNo, 
        jodrtg.fdescnum AS Press,
        jomast.fjobno as JobNo,
          jomast.fstatus as Status,
        jomast.frel_dt as RelDate,
          jomast.ftduedate as StartByDate,
        jomast.fschdprior as Priority,
        inmastx.flocate1 AS WH,
        inmastx.fbin1 AS MoldLoc,
        jodrtg.foperno as foperno,
        jodrtg.flschedule as flschedule,
        jodrtg.fpro_id as WC,
        jodrtg.fcomp_date as fcomp_date,
        jomast.flastlab as flastlab ,
        inmastx.fdescript AS MoldDesc,
          inmastx.fcusrchr2 AS Cavitation,
        inmastx.fcusrchr3 AS MoldDims,
        jomast.ftype as Type,
        jomast.fddue_date as fddDueDate,
        sorels.fduedate as fDueDate,
        jodrtg.foperqty as foperqty,
        jodrtg.fnqty_comp as fnqty_comp ,
        jodrtg.fnqty_togo as fnqty_togo,
        jodrtg.fnqty_move as fnqty_move,
        ROW_NUMBER() OVER (PARTITION BY jodbom.fbompart ORDER BY jomast.frel_dt,jomast.fschdprior,jomast.fjobno) R,
        ROW_NUMBER() OVER (PARTITION BY jodrtg.fdescnum ORDER BY jodrtg.fdescnum,jomast.frel_dt,jomast.fschdprior,jomast.fjobno) Stack

        FROM jodbom 
        INNER JOIN jomast ON jodbom.fjobno =  jomast.fjobno
        INNER JOIN jodrtg ON jomast.fjobno = jodrtg.fjobno 
        INNER JOIN inmastx ON jodbom.fbompart = inmastx.fpartno
        LEFT JOIN sorels ON jomast.fsono+jomast.fkey = sorels.fsono+sorels.finumber+sorels.frelease 
        WHERE Left(jomast.fstatus,1) <> 'C' AND jomast.flisapl = 1 AND jodbom.fltooling = 1 AND jodrtg.fpro_id <> '09' AND flschedule=1 

and (jodrtg.fdescnum <> inmastx.fbin1
    OR @Setup is null)



    ) Q
    WHERE  R = 1 

标签: sqlreporting-servicesssrs-2008

解决方案


在评论的帮助下回答。

( (jodrtg.fcomp_date <= DATEADD(dd,-2,GETDATE()) And @Setup=1) Or (@Setup is null) Or (jodrtg.fdescnum <> inmastx.fbin1 AND @Setup =2) )


推荐阅读