ssrs 忽略未声明的变量

ssrs Ignoring variable which is not declared

这是我在 SSRS2008 的数据集中使用的查询部分

DECLARE @SERVER VARCHAR(20) =  null;

Declare @curDATEFIRST as Integer = @@DATEFIRST;
SET DATEFIRST 1;

IF @a=0 AND @b>1
  BEGIN
    DECLARE @NewStartDate DateTime = (SELECT TOP 1 StartDate FROM UserManagerDates WHERE EmployeeID=@b ORDER BY StartDate DESC);
    IF @NewStartDate>@StartDate SET @StartDate = @NewStartDate;
  END

问题: 我正在将我的查询从 ssms 复制到数据集中,当我在数据集中点击刷新时,我只收到 @a@b 定义查询参数的提示。实际上我什至没有声明 @startdate 所以我期待定义查询参数选项卡中的 @startdate 变量。我应该做哪些更改才能提示输入 @startdate 以及其他两个变量?

您正在设置 @startdate 参数,它应该由 SSRS 而不是您的查询填充,这可能是您没有收到提示的原因。

我想你想用 @startdate 填充 @NewStartDate,如果是这样试试这个:

DECLARE @SERVER VARCHAR(20) =  null;
Declare @curDATEFIRST as Integer = @@DATEFIRST;
SET DATEFIRST 1;

IF @a=0 AND @b>1
  BEGIN
    DECLARE @NewStartDate DateTime =
      (SELECT TOP 1 StartDate FROM UserManagerDates
       WHERE EmployeeID=@b ORDER BY StartDate DESC);
    IF @NewStartDate>@StartDate SET @NewStartDate = @startdate;
  END