根据参数隐藏列 - SSRS

Hide column based on parameter - SSRS

我有一个有两列的table,我想在参数为单个select(多个值可用)时隐藏列位置

有参数 @position 其中包含 5 个值(PG、SG、SF、PF、C) Table 看起来像这样

playersName   Position
    
Julio         C 
Julio         PF
Kristofer     PF    
Kristofer     SF
Belle         PG    
Marcella      SG
Adam          PG
Adam          SG

因此,如果我 select 只是 SG,我想隐藏整个纵队球员,然后就离开了 具有值(Marcella 和 Adam)的 playersName 列,如

在可见性表达式中尝试了一些东西,但我没有成功。 你还有其他想法吗?

编辑: 我需要 SSRS 的表达式,因为我想隐藏报表生成器中的列

您可以使用 exists:

select t.*
from t
where exists (select 1
              from t t2
              where t2.playersName = t.playersName and
                    t2.position = @position
             );

要隐藏位置列,请将列的隐藏 属性 设置为此

=Parameters!position.Count=1

选中单个项目时,该列将被隐藏。

您的数据集查询可以设置为类似

SELECT playersName, Position
    FROM myTable
    WHERE Position IN (@position)