我正在Metabase上创建一个仪表板,以将其嵌入到应用程序中。该仪表板有两个问题,其中一个是使用元数据库查询生成器(AOV)创建的,另一个是使用SQL(GMV)创建的。当我在问题上设置brand_id参数时,我收到一条错误消息,指出运行查询时发生错误,但是对于AOV问题来说一切正常。你能帮我吗?
我得到的错误是:
缺少ID: {…} 值:对象{值:(60)[…],人类可读值:{},字段ID:1241} :对象{…}
下面是GMV查询:
SELECT sum(“ public”。“ crm_store_sales”。“ total”)AS“ sum” 来自“公开”。“ crm_store_sales”
正确的地方 [[AND {{brand_id}}]] [[AND {{data}}]]
我在AWS EKS上使用Metabase 0.31.2,使用内部Postgres数据库并查询另一个Postgres数据库。
我正在通过Windows 10上的Firefox 64访问Metabase。
答案 0 :(得分:0)
我们找到了一个答案:我们所做的就是使用本机SQL创建查询并将一个变量添加到SQL列表中。这样,当问题嵌入有锁定变量时,可以将多个值传递给它。
这里是一个例子:
SELECT sum("public"."my_column"."total") AS "sum"
FROM "public"."my_table"
WHERE TRUE
[[AND field1_id in ({{ field1_id }})]]
[[AND {{date}}]]
在此示例中,我们创建了两个变量:field1_id
和date
。如果我们嵌入此问题并锁定field1_id
参数,由于它在列表中,因此我们仍然可以将几个值传递给它。例如,您可以像这样将1,2,3,4
传递到此字段:
"params": {
"field1_id": "1,2,3,4"
}
请注意,元素之间不能有间距。
我相信在Metabase的幕后,它会做以下事情:WHERE TRUE AND field1_id IN (1,2,3,4)
。