Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dynamic 如何根据先前的参数(动态)显示或不显示SSRS参数?_Dynamic_Reporting Services_Parameters - Fatal编程技术网

Dynamic 如何根据先前的参数(动态)显示或不显示SSRS参数?

Dynamic 如何根据先前的参数(动态)显示或不显示SSRS参数?,dynamic,reporting-services,parameters,Dynamic,Reporting Services,Parameters,我的报告有一个带有5个选项的参数。我认为,如果做出了特定的选择,另一个参数将提示用户回答其他问题/设置。这能在2008年SSRS中实现吗?如果没有,我只会硬编码1种方式或其他方式。当然可以。基本上是将带有谓词的数据集绑定到第一个变量 更新 假设我声明参数“choices” 我创建了一个名为Choices的数据集,它只是一个简单的两行返回: Select 'ChoiceA' as Choice union Select 'ChoiceB' 我回到步骤1中的参数,在左窗格中选择“可用值”,并说“

我的报告有一个带有5个选项的参数。我认为,如果做出了特定的选择,另一个参数将提示用户回答其他问题/设置。这能在2008年SSRS中实现吗?如果没有,我只会硬编码1种方式或其他方式。

当然可以。基本上是将带有谓词的数据集绑定到第一个变量

更新

  • 假设我声明参数“choices”

  • 我创建了一个名为Choices的数据集,它只是一个简单的两行返回:

    Select 'ChoiceA' as Choice
    union
    Select 'ChoiceB'
    
  • 我回到步骤1中的参数,在左窗格中选择“可用值”,并说“从查询中获取值”,选择我称为“选项”的数据集,然后选择“选项”作为值和标签。现在,当您预览报告时,该参数有一个下拉列表,其中有两个选项。但你想知道它是否能影响更多,它能

  • 添加另一个名为“子选择”的数据集,并使其数据集为:

     Select * 
     from (
      Select 'ChoiceA' as Choice, 'Yes' as SubChoice
      Union
      Select 'ChoiceA', 'No'
      Union
      Select 'ChoiceB', NULL
    ) as x 
    where Choice = @Choices
    order by SubChoice desc
    
    注意,我声明了一个数据集,但引用了我在上面所做的一个变量。我刚刚为第一个数据集创建了一个依赖项。更新:我添加了一个ORDERBY子句,并将内部嵌套的select更改为更适合您的具体情况

  • 现在创建一个名为“SubChoices”的参数,并从“从查询获取值”中将其设置为“可用值”,并使用“SubChoices”作为数据集,使用SubChoices作为值和标签。更新:确保在“常规”下将其设置为“允许空值”。这次将“默认值”也设置为查询和子选择。这将做的是将它得到的第一个作为默认值弹出。因为如果我不想要ChoiceB的值,那么您只想要某些第一选择的选项,所以我在数据集中设置了一个“NULL”,这意味着什么都没有。因此,如果用户选择了选项a,他们会得到两个选项,默认情况下应该是,如果用户选择选项B,他们会得到一个空值,这意味着什么也没有

  • 现在测试报告,您应该有一个第一个参数,该参数带有两个值的下拉列表“ChoiceA”或“ChoiceB”。旁边还有一个参数显示为灰色。填写第一个后,第二个将显示仅显示与第一个关联的值的值。由于我有一个where子句,第二个参数依赖于第一个参数,因此在第一个参数完成之前无法使用,并且只显示与第一个值相关的值


  • HTH,从属值是SSR的一个强大部分。

    当然可以。基本上是将带有谓词的数据集绑定到第一个变量

    更新

  • 假设我声明参数“choices”

  • 我创建了一个名为Choices的数据集,它只是一个简单的两行返回:

    Select 'ChoiceA' as Choice
    union
    Select 'ChoiceB'
    
  • 我回到步骤1中的参数,在左窗格中选择“可用值”,并说“从查询中获取值”,选择我称为“选项”的数据集,然后选择“选项”作为值和标签。现在,当您预览报告时,该参数有一个下拉列表,其中有两个选项。但你想知道它是否能影响更多,它能

  • 添加另一个名为“子选择”的数据集,并使其数据集为:

     Select * 
     from (
      Select 'ChoiceA' as Choice, 'Yes' as SubChoice
      Union
      Select 'ChoiceA', 'No'
      Union
      Select 'ChoiceB', NULL
    ) as x 
    where Choice = @Choices
    order by SubChoice desc
    
    注意,我声明了一个数据集,但引用了我在上面所做的一个变量。我刚刚为第一个数据集创建了一个依赖项。更新:我添加了一个ORDERBY子句,并将内部嵌套的select更改为更适合您的具体情况

  • 现在创建一个名为“SubChoices”的参数,并从“从查询获取值”中将其设置为“可用值”,并使用“SubChoices”作为数据集,使用SubChoices作为值和标签。更新:确保在“常规”下将其设置为“允许空值”。这次将“默认值”也设置为查询和子选择。这将做的是将它得到的第一个作为默认值弹出。因为如果我不想要ChoiceB的值,那么您只想要某些第一选择的选项,所以我在数据集中设置了一个“NULL”,这意味着什么都没有。因此,如果用户选择了选项a,他们会得到两个选项,默认情况下应该是,如果用户选择选项B,他们会得到一个空值,这意味着什么也没有

  • 现在测试报告,您应该有一个第一个参数,该参数带有两个值的下拉列表“ChoiceA”或“ChoiceB”。旁边还有一个参数显示为灰色。填写第一个后,第二个将显示仅显示与第一个关联的值的值。由于我有一个where子句,第二个参数依赖于第一个参数,因此在第一个参数完成之前无法使用,并且只显示与第一个值相关的值


  • HTH,从属值是SSRS的一个强大部分。

    。非常感谢您的帮助——以及非常详细的描述。后续问题……如果我已经有了带有5个选项的第一个参数(@ReportOrder),并且我只希望第二个参数(SubChoice)在@ReportOrder=0时激活,那么我对SubChoice数据集的查询操作将是空白的。我只需要两个选择。我想让第二个参数提示用户“复制每个分析师之间的余额和账龄(Y/N)”,然后他们只有一个“是”或“否”的答案选项。您只需创建一个数据集,将这两个选项作为子值,如“Select*From(Select)(whateveryoursubis)作为子值,0作为链接作为FORCEDJOIN UNION Select”(无论你的Subis是什么),0)作为x,其中Link=@Param1。在没有关系的情况下,您正在建立一个关系。但是您需要添加到此变量,以便在常规屏幕中接受“NULL”,因为您不希望填充此变量,除非出现特定实例。哦,欢迎使用堆栈溢出,如果您认为答案正确,请标记此标记一个完整的,否则我可以进一步更新的例子更彻底的例子我要么不遵循最后的状态