场景:当我们在DW中新建了一个表,但是在FM中没有创建模型,想针对这个表直接做一个报表,那么就需要在reportstudio中直接用sql来查询,为了追求查询速度,我们可以把页面用户选择的条件直接传给sql.
如下图:上面是省份对应key值为1-2-3-4-5,下面是商品类型对应key值为1-2,省份选择1,5类型选择1则出现想要的数据
实现步骤:
1:从工具箱拖一个sql,每个sql会绑定一个查询接收sql的查询结果,如下图
2:指定sql引用的数据源,数据源已经在CognosConnection中创建好了的,可供选择
3:在sql中写入以下内容
select * from testorder t where t.ordertype=#prompt(‘ordertype‘,‘integer‘)#
and t.orderprovince in (#promptmany(‘pkey‘,‘integer‘)#)
解析:
#prompt(‘ordertype‘,‘integer‘)# 针对值提示单选值 第一个参数是参数名,第二个参数是日期类型
#promptmany(‘pkey‘,‘integer‘)#针对值提示可多选的时候,第一个参数是参数名,第二个参数是日期类型
PS:宏函数也可以用在模型设计器FM中,有情趣的朋友们可以自行组团去研究了.