如何将SSRS内置的变量放入SQL变量中

Bat*_*rog 1 t-sql reporting-services

在SSRS 2008中构建报告.我需要捕获内置的User!UserId变量,以便我可以在我的数据集查询中使用它.这是我报告安全的一部分.我尝试了几种方法,但是他们工作了:

DECLARE @currentUser varchar(30) =User!UserID 
Run Code Online (Sandbox Code Playgroud)

和内联:

SELECT @retVal = COUNT(*)
FROM MySecurityTable
WHERE ExpirationTime > GETDATE() AND UserName =User!UserId
Run Code Online (Sandbox Code Playgroud)

Anu*_*wal 8

创建隐藏报表参数@UserID并将其默认值设置为=User!UserID.

在数据集中使用参数@UserID.

SELECT @retVal = COUNT(*)
FROM MySecurityTable
WHERE ExpirationTime > GETDATE() AND UserName = @UserID
Run Code Online (Sandbox Code Playgroud)