我有一份我正在处理的报告,它将执行以下操作:
相关信息存储在以下位置:
我已使用3个参数设置查询:
当用户运行报告时,应该发生以下情况(按此顺序):
ub_subdivision.descr
中存储的值,并允许用户从该列表中选择他们想要的社区。 SqFt
的值,并在WHERE语句中使用该值,如下所示:WHERE (arp_ops.dbo.vw_ub_serv_loc_classifications.SqFt = @Address)
WHERE (ub_bill_run.def_end_dt > DATEADD(m, -@Months, GETDATE()))
。 如果我保存数据集并在Report Builder 3.0中创建“表格报告”,它会识别各种参数并将它们加载到Parameters文件夹和数据集参数中。
我遇到的问题是我无法更改参数属性以显示可用值并选择“从查询中获取”。如果我走这条路,并尝试运行查询,我得到一个错误,我正在使用“前向依赖”。
我需要@Address参数来显示地址字段作为标签,但是将sqft字段存储为值。这是我知道如何做到这一点的方式,不幸的是,它似乎不起作用。
我很感激任何人可能有的见解。
谢谢! 约翰
答案 0 :(得分:0)
有一种解决方法可以确保订单的顺序为
将订单更改为:
删除现有的@month并再次手动添加并保存。
我希望它对你有用。
答案 1 :(得分:0)
您不能具有基于主数据集的参数。 导致前向依赖项错误是因为您的数据集将由参数过滤,但要依赖同一数据集来查找其值集。这是一种悖论。 使用查询定义参数值集时,请确保为每个参数创建一个新的数据集。
接下来,请确保按您希望它们运行的顺序列出参数。在参数的数据集中,您可以使用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参数设置一个月数据集,但是它不依赖于其他参数,因此我将其留给您。
希望这会有所帮助!