报告参数与CASE结合使用

时间:2016-09-30 13:18:57

标签: reporting-services case reportparameter

我正在尝试查询员工及其部门。被雇员有一个部门钥匙,但不属于该部门。例如,为董事工作的分部不应属于她自己的部门(ADVIES& BEHEER),而应归属于董事(Directie)

但是当我选择带有报告参数的部门时(@Afdeling)。

AND ORG.Afdeling = @Afdeling

我只想要选择的部门。但由于departmentkey,它会返回所有eployees及其CASE分配的部门。当我CASE部门密钥时,它仍然返回CASE指定部门下的员工。但我只想要选择部门。 例如:

enter image description here

有人可以帮忙吗?

谢谢

SELECT CASE ORG.Afdeling 
        WHEN 'ADVIES & BEHEER' 
        THEN 
            CASE mdw.Naam  
            WHEN 'Verhaag-Vanmaris, APM' 
            THEN 'Directie'
            WHEN 'Bouten, MJC' 
            THEN 'Directie' 
            WHEN 'Vallen-Vullers, GMS' 
            THEN 'Burgemeester en wethouders'
            END
        ELSE UPPER(LEFT(ORG.Afdeling, 1)) + LOWER(RIGHT(ORG.Afdeling, LEN(ORG.Afdeling) - 1)) 
        END AS Afdeling
FROM x
WHERE YEAR(CTE.Datum) = @Jaar
AND ORG.Afdeling = @Afdeling

1 个答案:

答案 0 :(得分:0)

解决方案基本上归结为:

WITH CTE AS(
SELECT X.SUM(CALLS), D.Dep, EMPL.empl
FROM X
LEFT JOIN EMPL
ON X.DESPHONE = EMPL.PHONE
LEFT JOIN DEPT AS D
ON EMPL.EMP_ID = D.EMP_ID
WHERE D.Dep = @Department
GROUP BY D.Dep, EMPL.empl
)

SELECT *
FROM CTE