我的报告中有5个参数。
它们是@time_from
,@time_to
,@order_id
,@material
,@batch
和@sscc
我需要做以下事情:
然后我必须显示所有数据。 (我做到第4个条件)
如果所有数据加载运营商都有从下拉列表中选择1个订单的选项,则应重新加载过滤器,并仅显示与该订单相关的sscc,批次和材料。
首先,在用户选择@time_from
和@time_to
后,将启用其他参数。但第四个案例打破了前三个条件。
在第四个条件; @material
,@batch
和@sscc
取决于order_id。
这就是我使用级联参数的原因。但是,如果我不选择order_id,则无法选择@material
,@batch
和@sscc
,因为它们会被停用。
选择@time_from
和@time_to
参数后,我希望查看所有参数,并希望@material
,@batch
和@sscc
依赖于order_id。
例如;当我选择@time_from
和@time_to
时,我必须选择@material
但是当我选择@time_from
和@time_to
然后我选择@order_id
,@material
,@batch
和@sscc
必须依赖于@order_id
我想使用级联参数,但不能禁用参数。
我附上了一些截图。我怎么能这样做?
1-all parameter depends on time_from and time_to parameter
2-after I choose @time_from and @time_to I want to show all parameter
答案 0 :(得分:0)
如果您允许空值,则可以设置SQL查询来为您的参数提供支持。
select
'All' as [Label],
null as [Value]
union all
select
o.Name as [Label],
o.ID as [Value]
from dbo.Orders as [o]
这假设您的订单包含名称和ID列。 然后,您可以使用它来为Orders参数的可用值列表提供支持。 然后,您可以使用..
过滤以后的查询where (b.ID in (@Orders) or (@Orders) is null)
这将检查OrderID是否在列表中,或者订单列表是否为null(因此全部返回)。