Metabase定制化开发

写在前面
从saiku到superset,再到metabase,终于样式上操作上符合标准了,但是对于吹毛求疵的产品经理还是会各种找事。贴出改造的一些内容分享给需要的小伙伴。

LOGO替换

修改文件
/metabase/frontend/src/metabase/components/LogoIcon.jsx
logo替换
新增文件(你的logo文件 官方建议用svg格式)
/metabase/resources/frontend_client/app/assets/img/mam-logo.svg

全局默认中文配置

其实没有必要在这改代码,完全可以通过系统的配置去改,只是偶然发现了这里的配置,所以mark下
/metabase/src/metabase/public_settings.clj
全局默认中文配置

导出excel csv json文件中用字段的displayName显示

修改文件
/metabase/src/metabase/api/dataset.clj
修改入参
/metabase/src/metabase/util/export.clj
改造导出文件方法

聚合函数名称改中文

改完上述文件后,下载的文件(如excel)中就会显示表配置的displayName,但是聚合操作的名称(如count)还是会显示英文,参考下图:
配置字段的displayName为中文
下载的excel中聚合函数部分仍然为中文
如果你们的老大跟我的老大一样精益求精(BT),你可以继续参照下文修改:
/metabase/query_processor/middleware/annotate.clj
(str (tru (str (str/upper-case (subs ag-name 0 1)) (subs ag-name 1))))
修改聚合函数的显示名称

日期控件汉化

更有甚者不认识英文月份,所以你不得不继续替他汉化,所以参照以下操作即可。
效果图如下:
修改前:
日期范围控件
日期月份控件
修改后:
汉化后的日期范围控件
汉化后的月份控件

具体修改如下:
首先补增一个公共变量,如下图红框所示,注意中划线和下划线的区别。
/metabase/src/metabase/public_settings.clj
增加公共变量

修改日期控件配置,根据语言配置动态设定日期控件的语言,如果全局语言配置的zh,则用zh-cn初始化成中文日期显示,否则全部用英文日期显示
/metabase/frontend/src/metabase/parameters/components/widgets/DateMonthYearWidget.jsx
设置初始化componet控件的语言

优化metabase字段的默认显示名称

同步数据库字段时将备注名称作为metabase字段的默认displayName(mysql测试正常)

/metabase/src/metabase/sync/sync_metadata/fields.clj

:display_name (if-not (nil? field-comment) field-comment (humanization/name->human-readable-name field-name))

修改metabse字段的默认显示名称

改造后效果如图(原本displayName显示的跟数据库中英文名称一致)
改造后的displayName

  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
Metabase是一种开源的业务智能(BI)工具,具备丰富的数据分析和可视功能。作为一个强大的BI工具,Metabase也提供了二次开发的功能,使用户可以根据自己的需求进行定制和扩展。 Metabase二次开发工具包括以下几个方面: 1. Metabase API:Metabase提供了强大的API,可以通过编程方式对Metabase进行定制和扩展。开发人员可以使用API来获取数据、创建和修改问题(queries)、设置图表和仪表盘等。通过使用API,用户可以更精确地控制Metabase的功能。 2. 使用自定义查询:Metabase支持使用SQL进行查询,用户可以利用自己熟悉的数据库查询语言进行复杂查询。通过编写自定义查询语句,用户可以在Metabase中实现更复杂的数据分析和报表需求。 3. 自定义数据可视Metabase提供了多种图表类型和可视效果,但有时可能无法完全满足用户的需求。用户可以通过定制CSS来自定义图表的样式和外观,以实现更好的数据可视效果。 4. 自定义插件和扩展:Metabase还支持开发者通过创建插件或扩展,来增加新的功能和特性。通过插件机制,用户可以将自己开发的功能集成到Metabase中,以满足特定的业务需求。 Metabase二次开发工具使开发人员能够根据具体业务需求对Metabase进行定制和扩展。无论是通过API进行编程,使用自定义查询语句,定制数据可视,还是通过插件和扩展添加新功能,Metabase都提供了丰富的扩展性和灵活性,使用户能够深度定制、个性地使用Metabase进行数据分析和可视
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值