一、多语言应用
一张报表根据weblanguage展现不同语言
实现方法
- 以Unit维度的Unit字段为例,前提Unit维表中有中、英文字段。
(RPD中设计:创建会话变量和初始化块
select case when ‘VALUEOF(NQ_SESSION.WEBLANGUAGE)’=’zh-cn’ then 0 else 1 end from dual;
变量,AN_INT
DB中设计:创建一个表,用于初始化块 ) - 在逻辑层新建双语列UNIT,编辑
(case when 0=VALUEOF(NQ_SESSION.LAN_INT) then UNIT_CN else UNIT_EN end) - 表示层,表示咧UNIT的属性一般信息页,勾选“显示定制名称”
二、双列特性应用
例如报表的金额需要按单位进行换算,而单位中的值为非数值字段:元、千、百万等,也可能以后变成:百、千、亿;若用case when一旦发生变化则工作量巨大。这时使用双列特性解决。
实现方法:
RPD中
1. 创建会话变量和初始化块
初始化块:select 1 from dual;
变量:UNIT_T
2. 逻辑层Unit列属性,一般信息,设置描述ID列,选UNIT_VALUE
3. 在逻辑表,事实表中新建逻辑列Amount编辑表达式
(amount/cast(valueof(NQ_SESSION.”UNIT_T”)as interger))
4. DB表中创建unit维表
5. 报表层,使用UNIT列作为提示,使用请求变量做传参