Report Studio值提示通过prompt宏函数给sql查询传参

场景:当我们在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中,有情趣的朋友们可以自行组团去研究了.

Report Studio值提示通过prompt宏函数给sql查询传参

时间: 2024-10-17 19:21:21

Report Studio值提示通过prompt宏函数给sql查询传参的相关文章

javascript函数(声明,传参,返回值,递归)

javascript函数(声明,传参,返回值,递归) 1.函数的基本概念 函数:是由事件驱动的或者当他被调用时可执行的可重复使用的代码块. 空调是由遥控器控制或者当开关打开时,可运行的家用电器(工具) 特点: 封装代码----使代码更简洁 重复使用---在重复功能的时候直接调用就好 执行时机---随时可以在我们想要执行的时候执行 2.函数的创建和执行 1. 函数的创建 1.声明式 函数声明的关键字 : ==function== function 关键字 和 var 关键字的行为几乎一致,都会在内

(转)javascript匿名函数的写法、传参和递归

(原)http://www.veryhuo.com/a/view/37529.html (转)javascript匿名函数的写法.传参和递归 http://www.veryhuo.com 2011-08-07 断桥残雪部落格 投递稿件 我有话说 今天在整理javascript入门培训的PPT时,提到了匿名函数,所以拿来分享下心得. 匿名函数的写法顾名思义,就是没有名字的函数(⊙﹏⊙b汗).匿名函数通常用于javascript作用域的控制,可以有效的避免对全局变量的污染.常见的匿名函数有下面四种写

(转)Javascript匿名函数的写法、传参、递归

(原)http://www.veryhuo.com/a/view/37529.html (转)javascript匿名函数的写法.传参和递归 javascript匿名函数的写法.传参和递归 http://www.veryhuo.com 2011-08-07 断桥残雪部落格 投递稿件 我有话说 今天在整理javascript入门培训的PPT时,提到了匿名函数,所以拿来分享下心得. 匿名函数的写法顾名思义,就是没有名字的函数(⊙﹏⊙b汗).匿名函数通常用于javascript作用域的控制,可以有效的

sas宏(1)、系统宏变量、自定义宏变量、输出宏值、大量实用宏函数、宏与text结合

SAS macro variables enable you to substitute text in your SAS programs(替代作用,和c++的 #define 差不多) When you reference a macro variable in a SAS program, SAS replaces the reference with the text value that has been assigned to that macro variable. By subs

深入理解PHP内核(六)函数的定义、传参及返回值

一.函数的定义 用户函数的定义从function 关键字开始,如下 function foo($var) { echo $var; } 1.词法分析 在Zend/zend_language_scanner.l中我们找到如下所示的代码: <ST_IN_SCRIPTING>"function" { return T_FUNCTION; } 它所表示的含义是function将会生成T_FUNCTION标记.在获取这个标记后,我们开始语法分析. 2.语法分析 在Zend/zend_

不用第三方参数,交换2个参数的值的两种宏函数

#include <iostream> #include <stdio.h> #include <string.h> #include <vector> using namespace std; #define swap1(x,y) x=x+y,y=x-y,x=x-y #define swap2(x,y) x^=y,y^=x,x^=y int main() { int a=1,b=2; //方法1 swap1(a,b); cout << &quo

Python 学习笔记-函数(一)传参

首先明确字符串,数字和元组作为函数参数时是不可变的,但是列表和字典等数据结构却是可以改变的. def change(n):     n[0]='apple' names=['banana','pear'] n=names[:] change(n) print names,n ['banana', 'pear'] ['apple', 'pear'] 修改后让原始列表保持不变. 假设现在要编写一个存储姓名, 年龄,部门并能够根据这三样进行联系人查询的程序: 因为是查询多个元素,首先想到了字典这种数据

关于自定义函数导致SQL查询过慢的解决方案

在做报表的过程中,有一张报表是要查询对应币种的汇率,而汇率在另外一张表中,而查询汇率的条件是根据报表的统计日期(页面传入的参数),去汇率表中查询该统计日期的上一个月的汇率,如果没有上个月的汇率,则查询最新的对应币种的汇率,因此,自定义了一个获取汇率的函数,放在SQL中,其传入的参数为对应的币种代码和统计日期,这样,此函数就没有办法建立函数索引,这样导致查询结果很慢,150万的数据导出要10多分钟. 后来做了改进,由于统计日期确定后,其对应的汇率也就确定了,因此另建一张汇率表,其存的汇率就是我们想

聚合函数,分组查询,连接查询综合例子

实例如下: update users set classes='1' where id in('u001','u002','u003','u004'); update users set classes='2' where id in('u005','u006','u007'); users表的内容如下: +------+-----------+------------+------+-------+---------+ | id | firstname | secondname | age |