metabase native sql支持按时间查询对应的表

实现将下面的native query sql:

select * from activity_{ {'eval timeformatter YYYYMM months 0}} where id={ {'eval metabase-user-id}}

转换为
select * from activity_202103 where id=1

*其中metabase-user-id 为登录用户id

实现方式,在metabase 的query processor 中增加一个middleware,这个middleware 的 #'parameters/substitute-parameters前面。

   #'parameters/substitute-parameters
   #'querylog/log-query
   #'queryeval/queryMapEval
   #'querylog/log-query

通过 #'querylog/log-query可以查看sql 修改是否正确。 queryeval/queryMapEval代码如下:

(ns metabase.query-processor.middleware.queryeval
  "

猜你喜欢

转载自blog.csdn.net/weixin_40455124/article/details/114412400
今日推荐