我需要开发一份报告,其中所有报价都应列在特定产品所在的位置。可以根据产品ID /价格/产品名称等来识别产品。我正在寻找一个报告,其中所有字段都作为下拉列表的一部分存在。当用户选择一个值(如产品ID)并在ID旁边的文本框中输入值时,将对此参数过滤报告。如果用户选择名称,则可以在文本框中输入名称,并根据供应商ID等过滤报告。
有办法做到这一点吗?我的参数显示在彼此旁边。
答案 0 :(得分:0)
如果我理解正确,这是可行的,这是实现报告目的的步骤。 我将使用一个简单的查询作为示例数据集供您参考。
1.创建源代码datasets
,在此示例中,我跳过data sources
,这是我的exmaple的简短查询
SELECT * FROM Table
WHERE
(ID = @ID or @ID = '')
and
(Name = @Name or @Name = '')
2.添加另一个名为dataset
的{{1}},Control
的查询为:
Control
创建此SELECT 'ID' as option
UNION
SELECT 'Name' as option
的目的是在以后需要选择名称或ID时提供可用值。
3.在步骤1之后,您应该已经有两个由系统生成的参数,dataset
和ID
,如果没有,请自己创建并转到每个参数页面, DO请务必检查Name
4.创建名为Allow blank value''
的第3个参数,转到参数设置页面,转到Control
,选择Available Values
数据集,选择Control
(自定义列) option
和Control
Value field
数据集中设置的名称
5.转到Label field
参数设置页面,转到ID
,选择Default Values
,点击Specify values
,输入以下内容:
fx
点击确定
6.转到=Switch(Parameters!Control.Value="Name","")
参数设置页面,转到Name
,选择Default Values
,点击Specify values
,输入以下内容:
fx
点击确定
=Switch(Parameters!Control.Value="ID","")
和ID
表达式是正确的,没有错误
7.更改参数顺序,使Name
位于非常顶级,无论Control
或ID
是第二位,但Name
应位于第一位的地方。
8.拖放表格,放置Control
和Name
。预览报告,此时,只有ID
可供您选择值,选择ID或名称以查看差异。当您选择Control
时,ID
将显示为灰色,只有Name
亮起并输入您想要的任何ID,实际上,系统在内部执行的操作是ID
(空白值)到""
,这就是为什么您需要确保Name
参数可以接受空值。选择Name
如果您有任何运行时问题,请更新我