
我正在使用metabase与Mysql集成用于报告目的。我浏览了文档,但是找不到任何例子来解释如何在基于SQL的问题中实现过滤器。
我发现的唯一例子是关于日期范围和字段过滤器,而不是文本和数字。
有人能提供关于如何使用文本过滤器的文档或示例吗?
我使用的是元数据库版本v0.24.2
我试图运行的查询是这个
选择@a:=@a+1 "Serial“,ssk_transaction.transactionId作为"TranId",t2.typeName作为”事务类型“,ssk_transaction.createdTime作为"GenDate",t3.deviceName作为”机器名“,t3.deviceName作为”机器位置“,t9.eventApiName作为'API名称‘,t8.vendorResultCode作为’最后的API响应‘,(从ssk_transaction_event_detail t4中选择createdTime,其中t4.transactionId = ssk_transaction.transactionId ORDER BY id DESC LIMIT 1)为"Last调用”,(从ssk_transaction_cash_detail t4左联接ssk_inventory_item t5 ON (t4.itemId = t5.itemId) )选择IFNULL(t5.itemName* t4.itemCount),选择左ssk_inventory_category t10 ON (t5.tityId=t10.classyId),其中t4.transactionId = ssk_transaction.transactionId和t10.taxyName= 'acceptor') "Cash In",(选择IFNULL(SUM(t5.itemName *t4.itemCount)),( 0)从ssk_transaction_cash_detail t4左加入ssk_inventory_item t5 ON (t4.itemId = t5.itemId)左加入ssk_inventory_category t10 ON (t5.classyId=t10.classyId),其中t4.transactionId = ssk_transaction.transactionId和t10.taxyName=‘分发器’),IFNULL(选择"Cash In"),0) -IFNULL(选择"Cash返回“),0作为”活动量“,(从ssk_transaction_event_detail t8中选择t8.vendorResultCode,其中t8.transactionId = ssk_transaction.transactionId,t8.ventId=6,由id DESC限制1排序)为"Sim状态“,”已完成“为”事务状态“,ssk_transaction.customerMsisdn为MSISDN,ssk_transaction.customerCNIC为CNIC,从(选择@a:=0) initvars,ssk_transaction左加入ssk_transaction_type t2 ON (ssk_transaction.typeId =t2.type AND )左连接ssk_device t3 ON (ssk_transaction.deviceUUID = t3.deviceUUID)左连接ssk_transaction_cash_detail t6 ON (ssk_transaction.transactionId =t6. t8.transactionId )左加入ssk_inventory_item t7 ON (t6.itemId = t7.itemId)左连接ssk_transaction_event_detail t8 ON (ssk_transaction.transactionId =t8.transactionId和t8.ventId= 10)在(t9.ventId=t8.ventId)上加入ssk_transaction_event t9,其中{created_at}和{id}[和ssk_transaction.customerMsisdn= {{msisdn}}]和{cnic}和t2.type id=3和t8.ventId= 10和t8.vendorResultCode = '405000000‘组,按ssk_transaction.transactionId顺序由ssk_transaction.createdTime ssk_transaction.transactionId命令组成。
发布于 2017-08-17 23:17:08
在正在使用的版本号下打开github页面上的问题。贡献者将帮助您进行查询,甚至提供所请求的文档/ wiki。
也许这能帮你:
try to use CONCAT('%',{{variable}},'%') such as:
WHERE 1=1 [[ AND test LIKE CONCAT('%',{{variable}},'%') ]]发布于 2017-08-20 18:55:04
要创建变量,只需编写查询并以{{variablename}格式定义变量的占位符,当您执行此操作时,元数据库将自动显示右边的变量面板,并且必须选择该变量的类型(如果提供默认值,还可以根据需要标记该变量)。
您不应该转义查询中的变量占位符(这就是为什么CONCAT('%',{变量},'%')不能工作),并且可以用双括号将整个表达式标记为可选的。
下面的图像为查询提供了一个示例:
从pg_tables中选择*,其中schemaname = {{schemaname}} [和tablename ={tablename}}]
在本例中,如果不为tablename变量提供值,则将忽略整个tablename筛选器。并注意,这两个变量都标记为text类型。

发布于 2018-08-10 05:02:59
若要在基于sql的(本机查询)问题上添加筛选器,请在生成sql结果后,单击右侧底部的罗盘,然后单击“分析此查询的结果”。过滤器选项将出现在顶部。
然后,您可以将它保存为一个不同的问题,以便始终显示过滤器屏幕。
https://stackoverflow.com/questions/45607219
复制相似问题