Reporting services 动态添加列
我有一份有emp id、姓名、职务、年龄和薪水的员工名单。我需要更改列以使用参数从报告中显示。仅包含选定的列。我如何使用SSRS实现它?为了弄清楚这一点,您需要隐藏一个基于谁运行报告的列(可能是薪水)。涉及到一些组件Reporting services 动态添加列,reporting-services,ssrs-2008-r2,Reporting Services,Ssrs 2008 R2,我有一份有emp id、姓名、职务、年龄和薪水的员工名单。我需要更改列以使用参数从报告中显示。仅包含选定的列。我如何使用SSRS实现它?为了弄清楚这一点,您需要隐藏一个基于谁运行报告的列(可能是薪水)。涉及到一些组件 确定谁在运行报告(可选) 如果您正在使用域身份验证,或者用户已登录到SSRS门户,则可以使用用户ID的内置字段来标识用户,将其分配给要级联到数据集的参数,以确定他们是否可以查看工资。因此,右键单击参数单击添加,将其命名为登录,将参数可见性设置为内部,将可用值保留为无,将默认值设置为
=User!UserID
此步骤是可选的,因为您可以显示即将出现的可见性参数,而不是根据用户将其级联,这取决于您调用报告的方式(这可能是您的最佳选择)。但是,如果您正在执行级联,登录必须是这些级联类型的第一个参数,否则报告将崩溃,,您可以通过单击参数并单击向上箭头,在SSDT或BIDS中将其上移
Select isnull(CanSeeSalaries, 0) as CanSeeSalaries
From YourReportDB.DBO.ReportUserPermissions
where userid = @Login
如果您希望报表在未将用户添加到该表时崩溃,那么可以删除isnull,但我更希望通过权限而不是错误来执行访问限制,YMMV
=Iif(Parameters!SalariesVisible = 1, False, True)
这似乎有点倒退,但您告诉它隐藏为假(即:可见)或隐藏为真(即:隐藏)。这就够了,祝你好运 你的意思是添加一个可以用来隐藏列的参数吗?你的答案是级联参数。我的意思是添加一个参数来隐藏列。级联参数对我不起作用