【分享】自定义函数应用举例

4146
1

坏小孩 初学数据Lv2

发表于2018-6-28 09:52

楼主
应用场景一:需求说明:某些报表有很多列,但是某些列需要根据登录的用户id来决定是否显示,例如表中的“总成本”一列,用户33可以看到,但是用户03需要对其隐藏。
实现方式:通过if判断用户id来指定列宽(如下图)

那么当需求涉及的login.id变更时,每张表都需要调整,费时费力不好维护。所以是否有办法可以在统一的入口控制修改表达式中的login.id,而不用一张表一张表的改if表达式?



最近看过此主题的会员

武威

pandabuxizao

keer_

air1987318

wanggeng

esen_4PZ0WJGUKU

esen_4PYQTTBMC8

小亿

ligaopeng

MALONE625

1个回答

只看楼主

江湖人称潇洒哥 数据达人Lv4

发表于2018-6-28 09:52

只看该作者

取消 关注该作者的回复

板凳

我的思路:BI的自定义函数是对BI中所有报表都能生效,或许可以充当这个全局变量。

实现方法:Step1:创建自定义函数如下:
函数标题:yc
函数定义:yc()
函数体:if(login.id in "11,22,33".split(","),72,1-1)

函数体解析:
整体是一个if()判断表达式,其中.split(",")是将字符创转化为数组的格式

Step2:分析表上设置列宽表达式:

实现效果:当登录用户ID为11、22或33时,C列显示,其他用户登录访问时,C列隐藏。

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号