一、仪表盘变量+直接数据库请求:
1.1创建仪表盘提示(该提示需要物理层数据)
1.1.1新建“仪表盘提示”,新建变量提示,使用SELECT_PHYSICAL来搜索物理层数据,语法与select相同;
1.2.1 SQL语句
二、仪表盘变量+建模分析:
2.1创建仪表盘提示
2.1.1新建提示“Z_XM”,值“新、旧、全”
2.1.2新建SQL高级过滤器,字段大于等于15位新,小于15位旧:
1.1创建仪表盘提示(该提示需要物理层数据)
1.1.1新建“仪表盘提示”,新建变量提示,使用SELECT_PHYSICAL来搜索物理层数据,语法与select相同;
1.1.2提示SQL语句:
SELECT_PHYSICAL DNAME FROM"IBM_CSI"."SCOTT"."IBM_CS" GROUP BY DNAME
1.2创建直接数据库请求
1.2.1 SQL语句
select DEPTNO,DNAME,EMPNO,ENAME,JOB,HIREDATE,SAL from IBM_CS
where dname in (@{Q_DATA}['@']{'Default'})
order by DEPTNO
ps: in (@{变量名}['@']{'Default'}) 这个语法可以在'仪表盘提示'多选的情况使用;
二、仪表盘变量+建模分析:
2.1创建仪表盘提示
2.1.1新建提示“Z_XM”,值“新、旧、全”
2.1.2新建SQL高级过滤器,字段大于等于15位新,小于15位旧:
(case when '@{Z_XM}'= '新' THEN LENGTH("项目支出明细"."项目编号") -15 END)>=0 or
(case when '@{Z_XM}'= '旧' THEN LENGTH("项目支出明细"."项目编号") -15 END)<0 or
(case when '@{Z_XM}'= '全' THEN LENGTH("项目支出明细"."项目编号") -15 END)>-15
或者
(case '@{Z_XM}' when '新' THEN LENGTH("项目支出明细"."项目编号") -15 END)>=0 or
(case '@{Z_XM}' when '旧' THEN LENGTH("项目支出明细"."项目编号") -15 END)<0 or
(case '@{Z_XM}' when '全' THEN LENGTH("项目支出明细"."项目编号") -15 END)>-15
注意:
case when then else end 语句中,then后面是结果,不是条件,所以
case when '@{Z_XM}'=‘新’ then LENGTH("项目支出明细"."项目编号")>15
when '@{Z_XM}'=‘ 旧’ then LENGTH("项目支出明细"."项目编号")<15
when '@{Z_XM}'=‘ 全’ then LENGTH("项目支出明细"."项目编号")>0
end
是错误的!!!