|
版本: |
|
小版本号: |
|
|
|
数据库: |
|
服务器操作系统: |
|
应用服务器: |
|
客户端操作系统: |
|
浏览器: |
|
|
|
在Bex5框架里,使用Ksql非常方便,特别是报表应用。
但是Ksql能够使用的函数有限,特别是无法使用条件判断来完成Select操作。
实际报表会有不少业务上的条件取数需求,简单的如字段A的值为Buy或Sell,字段B根据字段A判断取值,如果A为Buy,B就为Sell,反之亦然。
可以用Replace来做,replace('BS',字段A,'')
但更复杂的情况是否也可以用Ksql自带函数实现条件判断呢?实践过程中发现,配合concat和replace函数,基本可以实现任何复杂的条件语句。
比如有A,B,C三个字段,B字段是币种,A和C为Amount,要求B字段为CNY时取A,非CNY时取C:
replace(replace(concat(A,B,C),concat('CNY',C),''),concat(A,B),'')
更复杂的,比如不同情况有不同Format需求的,也可以通过上述方法实现,大家各自研究就行了。而且实测并不影响性能。
|
|