重复SSRS级联参数中的值

时间:2016-01-21 10:52:17

标签: sql-server-2008 tsql reporting-services parameters repeat

我的报告中有4个参数,我的要求是用户应该能够从参数列表中选择所有值。

所以我创建了级联参数,但其中一个显示了与其他参数对应的多个值

例如:    一个    一个    一个    乙    乙    乙    乙    C    ç

理想:A
       乙        ç

我尝试通过取消选中允许参数属性中的多个值。

Param3->从数据集3(Col3)中获取值

       Main Dataset:

            SELECT Col1, Col2, Start_Date, End_Date, Col3
            FROM  Table
            Start_Date IS NULL OR
  Start_Date >= @StartDate) 
    AND (End_Date <= @EndDate) 
    AND (Col3 IN (@Param3))

        Dataset 1:

        SELECT DISTINCT Col1
        FROM  Table

        Dataset 2:

        SELECT DISTINCT Col2
        FROM            Table
        WHERE        (Col1IN (@Param1))
        ORDER BY Col2

        Dataset 3:

        SELECT DISTINCT Col1, Col2, Col3
        FROM  Table
        WHERE       
        (Col1 IN (@Param1)) 
        AND (Col2 IN (@Param2))

如果我只能在参数列表中获取不同的值而不是重复值,那么任何输入/想法/建议都会在哪里?

1 个答案:

答案 0 :(得分:0)

您的问题似乎是数据集3返回Col3的重复值,因为DISTINCT子句应用于您在查询中选择的每一列。

这是数据集3的有效返回

Col1 Col2 Col3
 A    A    E
 B    D    E
 C    C    E
  

注意每一行都不同,但Col3有重复的值。

要在参数中获取不同的值,您可以创建一个额外的数据集来填充Parameter3

SELECT DISTINCT Col3
FROM  Table
WHERE       
(Col1 IN (@Param1)) 
AND (Col2 IN (@Param2))

如果这有助于您,请告诉我。