【问题标题】:Report Builder 3.0 Forward Dependency Report ParameterReport Builder 3.0 前向依赖报告参数
【发布时间】:2015-04-04 07:28:51
【问题描述】:

我正在处理一份报告,该报告将执行以下操作:

  • 首先根据用户选择的社区返回结果。
  • 根据每个地址的平方英尺数过滤以在社区内查找相似地址。
  • 将结束日期(数据表中的列)设置为用户定义的参数,以便在查询结束时的 WHERE 中使用。

相关信息存放在以下地方:

  • 社区:ub_subdivision.descr
  • 地址:ub_serv_loc_addr.location_addr
  • SqFt:arp_ops.dbo.vw_ub_serv_loc_classifications.SqFt

我已经使用 3 个参数设置了查询:

  • @社区
  • @Months
  • @地址

当用户运行报告时,应该发生以下情况(按此顺序):

  1. community 参数应填充存储在ub_subdivision.descr 中的值,并允许用户从该列表中选择他们想要的社区。
  2. 地址参数应填充步骤 1 中所选社区中的值,并允许用户从该列表中选择他们想要的地址。
  3. 根据所选地址,查询应存储与该地址相关的SqFt 的值,并在WHERE 语句中使用该值,如下所示:WHERE (arp_ops.dbo.vw_ub_serv_loc_classifications.SqFt = @Address)
  4. months 参数应该允许用户输入来定义他们想要多少个月的数据。此参数在 WHERE 语句中的查询中调用:WHERE (ub_bill_run.def_end_dt > DATEADD(m, -@Months, GETDATE()))。

如果我保存数据集并在 Report Builder 3.0 中创建“表格报告”,它会识别各种参数并将它们加载到参数文件夹和数据集的参数中。

我遇到的问题是我无法更改参数属性以显示可用值并选择“从查询中获取”。如果我走这条路,并尝试运行查询,我会收到一个错误,我正在使用“转发依赖项”。

我需要@Address 参数将地址字段显示为标签,但将 sqft 字段存储为值。这是我知道如何做到这一点的方式,不幸的是,它似乎不起作用。

如果有人可能有任何见解,我将不胜感激。

谢谢! 约翰

【问题讨论】:

    标签: mysql reporting-services reportbuilder3.0 query-parameters


    【解决方案1】:

    有一种方法可以解决这个问题,确保顺序应该是

    • @社区
    • @Months
    • @地址

    更改顺序为:

    • @社区
    • @地址
    • @Months

    只需删除现有的@month,然后再次手动添加并保存。

    我希望它对你有用。

    【讨论】:

      【解决方案2】:

      您不能拥有基于主要数据集的参数。 前向依赖错误是因为您的数据集将由您的参数过滤,但它依赖于相同的数据集来查找其值集。这是一种悖论。 使用查询定义参数值集时,请确保为每个参数创建一个新数据集。

      接下来,确保参数按您希望它们运行的​​顺序列出。在参数的数据集中,您可以使用 where 子句使它们按运行顺序相互依赖。

      在这个例子中:

      社区参数数据集:

      SELECT DISTINCT ub_subdivision.descr
      FROM  [YOUR JOINED TABLES]
      

      地址的参数数据集:

      SELECT DISTINCT ub_serv_loc_addr.location_addr
      FROM  [YOUR JOINED TABLES]
      WHERE ub_subdivision.descr IN (@Community)
      

      SqFt 的参数数据集:

      SELECT DISTINCT SqFt
      FROM  [YOUR JOINED TABLES]
      WHERE ub_subdivision.descr IN (@Community)
      AND ub_serv_loc_addr.location_addr IN (@Address)
      

      您还应该为 @month 参数设置月份数据,但它不依赖于其他参数,所以我将把它留给您。

      希望这会有所帮助!

      【讨论】:

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