【问题标题】:Query For Dynamic Reports查询动态报告
【发布时间】:2014-03-25 06:39:52
【问题描述】:

我需要实现以下逻辑。让我们假设有一个用户提供输入的属性列表框。

  1. 当字段留空时。它应该在 d 报告中显示消息“所有属性已选择”

  2. 如果用户选择或给出多个属性。它应该显示选择的属性,如选择xxx,yyy,zzz

  3. 现在如果用户从 d 下拉列表中手动选择所有属性,我想显示所有已选择的属性。

现在针对第一个两个要求实施。任何人都可以对第三个需求提出一些想法

【问题讨论】:

    标签: sql reporting-services ssrs-2008 reporting


    【解决方案1】:

    如果我正确理解您的问题,您可以执行以下操作:

    1. 创建参数。
    2. 将参数设置为内部。
    3. 使其成为多选参数。
    4. 将可用值设置为返回所有可能字段列表的数据集。
    5. 将默认值设置为返回所有可能字段列表的数据集。基本上,您在内部参数中默认选择全部。
    6. 在执行您的报告代码的数据集中,添加代码,将内部参数的记录数与用户在选择记录时可以看到的参数的记录数进行比较。如果计数相等,则用户已选择所有可能的属性。

    如果我误解了,而您试图让参数框本身改变它的输出,那么这将无济于事。

    【讨论】:

    • 我真的不能硬编码这种方式。输入的数量可能会在不久的将来发生变化。无论如何谢谢:)
    • 没有什么可以硬编码的。我对最初有大约 40 个可选输出字段的报表使用了类似的方法,现在它有超过 120 个。有一个控制表,我向其中添加了可能的字段值,它会流向报表。
    【解决方案2】:

    此表达式将根据可用值的数量检查所选值的数量,并在选择所有属性时显示“已选择所有属性”,并在仅选择部分值时列出所选属性:

    =iif(Parameters!YourParameterName.Count=CountRows("YourParameterSelectDataset"),
        "All properties selected",join(Parameters!YourParameterName.Value,","))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多